Supplier
What it is
One supplier's record: how to contact them, what they supply, and what checking has been done on them. The top half is the contact card; the bottom half — Procurement Intelligence — is where you verify them, screen them, and decide whether the system may send them RFQs on its own.
Who can open it
Any signed-in staff account that is active. Two gates sit in front of it, both in proxy.ts: an
active account, and the ops.suppliers feature grant while FEATURE_GRANULAR_RBAC is on. The owner
bypasses the grant.
Before you start
🔴 Nothing on this screen can be edited. There is no edit button, no inline editing and no link to a form. Contact details, categories, payment terms and tax number are all read-only here — they are maintained from Suppliers.
A field with no value reads "Not recorded" in grey. Every known field is always listed, so an empty one is visible rather than absent. This matters most for the email address: a supplier with no email is what silently stops a purchase order reaching them, and until 2026-08-23 that supplier looked identical to one that has an email, because empty rows were omitted entirely.
Every control on the page
Ledger (top right) opens the supplier ledger.
Under the heading: the entity the supplier belongs to, and the city and country when recorded.
Contact & Details — shown only where a value exists: Contact Person, Email, Mobile, Landline, Website, TRN / Tax ID, Payment Terms, Address. Supply Categories appear underneath as chips, and they matter: they decide which items this supplier is asked about when supplier RFQs are raised.
Procurement Intelligence — three readings and three actions:
| Reading | What it means |
|---|---|
| Status | The supplier's standing. Unset reads as dormant |
| Tier | The tier recorded against them |
| Auto-send | Whether the system may send this supplier RFQs without a person pressing anything |
| Action | What it does |
|---|---|
| The Auto-send toggle | Switches auto-send on or off immediately — there is no confirmation step and no save button |
| Verify Artefacts | Re-checks the supplier's supporting documents |
| Screen Sanctions | Runs a sanctions check. The result shows as Clear with the date checked, Flagged, or Not screened |
| Check GSTIN | 🔴 Only appears when the supplier has a TRN / Tax ID recorded. No tax number, no button |
All three actions report "… complete" or "… failed" as a brief message, and refresh the panel on success. Below them sit the Verification Artefacts and provenance sections.
🔴 A "Clear" sanctions result is only as fresh as its date. The date is printed next to it — read it. Nothing on this screen expires an old check or warns you that one is stale.
What it writes
The Auto-send toggle updates suppliers.auto_send_enabled directly, under your own database
permissions. It takes effect at once, and it governs whether this supplier is contacted
automatically — treat it as a live setting, not a draft.
Verify Artefacts, Screen Sanctions and Check GSTIN each post to their own enrichment endpoint, which records the outcome against the supplier. The panel then reloads to show the new result.
Opening the page itself writes nothing.
When it goes wrong
There is no Check GSTIN button. The supplier has no TRN / Tax ID. Add one from Suppliers and come back.
"Screen Sanctions failed" or "Verify Artefacts failed". The check did not run and nothing was recorded — the previous result still stands. Try again; if it repeats, report the message shown.
"Failed to update auto-send". The toggle did not change. Reload before trying again, so you can see which way it is actually set.
A contact detail you expected is missing. It is empty on the record, not hidden. Fix it on the Suppliers list.
Sanctions says "Not screened". Nobody has run the check. It is not a pass.
Related screens
- Suppliers — the list, and where this record is maintained.
- Supplier Ledger — what has been ordered from and paid to this supplier.
- Import Standing Rates — bulk price list for this supplier.
- Supplier RFQs — requests sent to suppliers, filtered by the supply categories shown here.