Vendor Registrations
What it is
The board for getting A2Z accepted as an approved supplier on other companies' buying systems. Each card is one target — a shipowner, a manager, a portal — moving through backlog → in progress → submitted → approved, with rejected and renewal due for the ones that do not.
For each target it works out whether you are ready to apply, drafts the approach, and lets you copy it or send it.
As the page itself says: drafts are credibility-first, and the default action is copy-out. The draft is meant to be read and adjusted, not fired off.
Who can open it
The operator role is required — every call this screen makes is refused below it. operator
admits accountant, sales, operations and owner, and refuses pending and inactive accounts.
On top of that, while FEATURE_GRANULAR_RBAC is on the page needs the sales.companies feature
grant, the same one that covers /companies. The owner bypasses the grant.
Before you start
Read the readiness badge before doing anything with a card. Every card carries one:
| Badge | Meaning |
|---|---|
| READY | Everything the target requires is on file |
| BLOCKED | Something is missing. Open the card — the missing items are listed as Blockers |
| NOT_ELIGIBLE | The target cannot be applied to at all: they only accept suppliers by invitation or through an existing relationship |
NOT_ELIGIBLE is not a blocker you can clear. No amount of paperwork changes it; the route in is a relationship, not an application.
The board is one column per status, six across. It was drawn five wide until 2026-08-23, so Renewal due wrapped onto a second row underneath the others and looked missing.
Every control on the page
Credentials editor, at the top — where the logins used for these portals are kept.
The board — one column per status, cards grouped underneath. Each card shows the target's name, its readiness badge, and a line of segment · approach method · access type. Clicking a card opens the detail panel below.
Detail panel:
| Control | What it does |
|---|---|
| Close | Closes the panel |
| The portal address | Opens the target's portal in a new tab, when one is recorded |
| Status | Moves the card. 🔴 It saves the moment you choose — there is no confirm and no undo |
| Generate approach | Writes the draft approach for this target |
| Copy draft | Copies the draft to your clipboard. This is the intended action |
| Send from company email | Sends the draft from the company address. 🔴 Only appears when the target's approach method is email and the contact route is a valid email address — otherwise there is nothing to send to and the button is not drawn |
Contact: and Blockers: are shown in the panel when they apply — blockers in amber, as a comma-separated list.
The draft itself sits in a read-only box. It cannot be edited here: copy it out, adjust it wherever you are sending it from, or press Generate approach again for a fresh one.
What it writes
Status immediately updates that registration's status.
Generate approach writes a new draft against the registration, replacing whatever draft was there.
Send from company email sends the draft to the recorded contact address with the subject "Supplier registration enquiry — A2Z Ship Stores" — fixed, and not editable from this screen — then reloads the board.
Everything else reads.
When it goes wrong
"Failed to load". Almost always the role check: this screen needs operator. A pending account
gets this too.
No Send button on a card with a draft. Either the approach method is not email, or the contact route is not a valid email address. Use Copy draft and send it yourself.
"Send failed". Nothing went out. The message names the reason; the draft is untouched.
A card is BLOCKED and you believe the documents exist. Open the card and read the blocker list — it names exactly what the target asks for that is not on file.
You changed the status by mistake. Set it back by choosing the previous value; there is no undo, but the dropdown is the only thing that moved.
A status column seems to be missing. Renewal due is on the second row — see the note above.