A status set covering the real endings an order can have, each with a colour and a themed status dot that flips light/dark. Payment state is a separate column (unpaid / partial / paid) so the delivery lifecycle and the money lifecycle do not overwrite each other.
Also called: order status · partial delivery · disputed order · back ordered
- 1ORDER_STATUSES carries id, label and colours; orderStatusRamp re-derives themed tokens
- 2reconcilePaidStatus only advances the lifecycle once the delivery side is settled
- 3Cancelled, disputed and returned are frozen — payment reconciliation never reverts away from them
- 4Saving a receiving pass sets the status from what was recorded, not by hand
From the reconciliation comment: 'Paying does not un-say what happened to the delivery. status is one lifecycle (sent → delivered → invoiced → paid), so moving it to partial_paid while an order is still SHORT threw away the fact that material is missing. Money now has its own column (payment_state), so the lifecycle only advances once the delivery side is actually finished.'
- Recording a payment erasing the fact that material is missing
- No status for a delivery that arrived short
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 →