The supplier order workspace

Pick the supplier, pick one of their orders, then work on that order — receiving, delays, problems, payments and the schedule, all in one column.

What it is

Contacts → Suppliers reads left to right the way the rest of the app does: a supplier list, their orders, and the chosen order opened in the main column. The workspace header carries the PO number, status, supplier, promised and original delivery dates, the ordered / received / missing / damaged counts, the order total, the journey line, the delivery-problem panel and the payment controls. Below it, every line item, grouped and filterable.

Also called: purchase order screen · work the PO · supplier orders · manage material orders

See it
The supplier order workspace
Apr
May
Jun
Jul
Marlin Hoover — Equipment Storage
Framing
Marlin Hoover — 40×64 Shop
Concrete
Sutter Kline — 40×64 Shop
Trim
Delia Yoder — 30×40 Garage
Framing
Ronan Petsch — Hobby Shop
Concrete
Framing crewConcrete crewTrim crew
Three columns: supplier list, their PO list, and the opened order with header counts, journey nodes and line items. SupplierOrderWorkspace.tsx beside SupplierDetailPanel.tsx. Sample data — no customer information appears here.
How it works
  1. 1The order row passed in from the list is re-read after every change so the header never shows a stale trip
  2. 2Line items, claims and payments load in parallel
  3. 3Any change reloads the panel AND signals the list beside it
  4. 4Two modes: view (read the order) and receive (record what turned up)
  5. 5A quiet refresh updates the list in place rather than blanking it to 'Loading orders…'
Why we built it

The header credits the ticket: 'The order itself, in the space a contact's conversation would occupy (Chris→ ).' The re-read fix is recorded too: 'The prop is the row the LIST had when it was clicked… so the header showed a stale trip while the card beside it showed the true one.' And the sync fix: 'A claim moved to Resolved updated here while the card in the middle still read "Sent", and the two disagreed until something else happened to trigger a reload.'

The problem
  • Order information scattered across email, a spreadsheet and memory
  • Two panels on one screen disagreeing about the same order
Sound familiar?
What you get
One screen for the whole life of an order
The list and the workspace always agree
Reading and receiving are separate jobs
What's inside
Raise a purchase order by hand
A New PO form with line items, phases, tax and freight, computing the total live.
PO numbers allocated per business
Each order gets the next PO number for that business, with a database index as the backstop against collisions.
The order's journey, drawn as stations
Sent → Paid → On the way → Arrived → (Short/damaged → Claim sent → Settled) → Complete, drawn as a line that visibly stops when an order stalls.
Thirteen order statuses, and money kept apart from delivery
Draft, sent, acknowledged, delayed, partial delivery, delivered, invoiced, partial paid, paid, closed, cancelled, disputed, returned — with payment tracked in its own column so paying does not erase a shortage.
Attach the paperwork to the order
PO, invoice, bill of lading, packing slip or photo filed against the order it belongs to.
"Supplier can't fulfil — sourcing elsewhere"
A real ending for an order the supplier could not fill, recorded with its history intact and reversible if it was hit by mistake.
Signed change order raises the supplier POs
When a change order is fully signed, one draft purchase order is created per supplier on its line items — idempotently.

See it on your own jobs

Twenty minutes, your numbers, no slide deck. We’ll build one of your real buildings in front of you and send you the estimate link at the end — yours to keep either way.

or keep browsing features →