A purchase order moves through five statuses. Knowing which one a PO is in tells you what's next.
The five statuses
| Status | Meaning |
|---|---|
| Draft | Created in Run a Call; not yet sent to the vendor. |
| Ordered | Sent to the vendor. They're working on fulfillment. |
| Received | The parts arrived. Mark a PO received when everything's on the shelf (or on the truck). |
| Billed | The vendor's invoice arrived and you matched it against the PO. The accounting loop is closed. |
| Cancelled | The PO was killed. Reachable from any state. |
What triggers each transition
| From | To | Trigger |
|---|---|---|
| Draft | Ordered | You hit Send on the PO |
| Ordered | Received | You mark all line items received |
| Received | Billed | You record the vendor's invoice against the PO |
| (any) | Cancelled | You explicitly cancel the PO |
There's no "partially received" status — line items can be marked received individually, but the PO itself stays Ordered until everything is marked received.
Filtering by status
The Purchases page lets you filter by status. Common views:
- Ordered — what you're waiting on right now.
- Received but not Billed — POs where you have the parts but haven't matched the vendor's invoice. These are the ones to reconcile.
- Cancelled — for audit.
Status and margin reporting
When a PO is linked to a job and reaches Received or Billed, the PO's cost rolls into the job's margin calculation. Open the job → margin view → you'll see the PO's cost as part of total job cost.
When you'd cancel
- Vendor backorder is too long.
- You found the parts elsewhere.
- The job was cancelled, so the parts aren't needed.
- You created the PO in error.
Cancelling preserves the PO in history with a Cancelled status. It doesn't delete the record.
What about Partial?
You can mark individual line items as received without the PO itself being fully received. The PO status stays Ordered until every line is received. There's no separate "Partial" status — just per-line-item received flags.