How purchase order status works
A purchase order (PO) in SKU.io doesn't have a single "status." It tracks five separate status dimensions at once, each answering a different question about where the order stands. Understanding this is the key to reading a PO at a glance — and to knowing why some statuses are yours to set while others change on their own.
Words like incoming inventory, backorder, dropship, and short-close are defined the first time they appear below.
The five status dimensions
Open any purchase order, such as PO-DOCS-0001 (supplier Acme Supplies, destination Main Warehouse), and the header shows five status indicators side by side. Each one is tracked and filtered on its own, and the PO list gives each its own column and filter (Status, Receipt, Shipment, Invoice, plus the submission state).
| Dimension | Answers | Who sets it | Values |
|---|---|---|---|
| Order status | Where's this PO in its lifecycle? | You (approve, close, reopen) | Draft, Open, Closed |
| Submission status | Has the supplier been contacted? | The submit action, then finished automatically | Unsubmitted, Queued, Submitted, Change Request, Finalized, Canceled, Voided |
| Receipt status | How much has arrived? | Calculated from what you receive | Unreceived, Partially Received, Received, Received For Less, Dropship |
| Shipment status | How much has the supplier shipped? | Calculated from inbound shipments | Unshipped, Planned, Partially Shipped, Shipped to Warehouse, Shipped to Customer |
| Invoice status | How much has been billed? | Calculated from invoices, credits, and settlements | Uninvoiced, Partially Invoiced, Invoiced, Invoice Paid |
Because these five dimensions are independent, a single PO can hold a different value in each at the same time. That's normal — read the badge row as a composite picture, not one on/off switch. For the full meaning of every value, see the status reference.
Five lanes that move at their own pace
Think of the five dimensions as five parallel lanes. A PO advances down each lane on its own schedule — being Submitted to the supplier says nothing about whether anything has arrived, and being Partially Received says nothing about whether you've been billed yet.
A real order in mid-flight might read all of these at once:
Open · Submitted · Partially Received · Partially Shipped · Uninvoiced
That means: the PO is approved and active, the supplier has it, some (not all) stock has arrived, some (not all) has shipped, and no bill has come in yet. Each lane is telling you a different, true fact.
Order status is the one you drive
Order status is the primary lifecycle, and it's the only dimension you control directly.
| Order status | What it means |
|---|---|
| Draft | The PO is still editable and hasn't been approved. A draft PO doesn't yet reserve incoming inventory (stock that's on the way but hasn't arrived) or cover backorders (customer orders waiting on stock you don't have yet). |
| Open | The PO is approved and active. Items can be received, shipped, and invoiced against it. |
| Closed | The PO is finished. Closing happens when you close it by hand, when every line is fully received, or when a dropship PO — one where goods ship straight from supplier to customer — is fully invoiced. |
You move a PO from Draft to Open by approving it, and between Open and Closed by closing or reopening it. See Approve and submit a PO and Close, reopen, and short-close a PO.
Only the order-status lane is shown here. The other four dimensions — submission, receipt, shipment, and invoice — advance independently and are covered in the sections below.
The other four are calculated, not chosen
Receipt, shipment, invoice, and (largely) submission status are calculated for you. SKU.io recalculates each one from the activity on the PO — the stock you receive, the inbound shipments you record, and the invoices, credits, and settlements you enter — every time that activity changes. You can't type these fields in; you change the underlying activity and the status follows.
That's why the status always reflects reality:
- Receiving stock recalculates receipt status (and can pull the order into Open or Closed).
- Shipping an inbound shipment recalculates shipment status.
- Recording an invoice, vendor credit, or billing settlement recalculates invoice status.
A few behaviors surprise people who expect these fields to be manual. Each of the following is worth reading before it catches you out.
The moment every line becomes fully received, the PO closes itself. If you then deliberately reopen it, SKU.io won't re-close it when an unrelated edit (a price change, invoice matching, another line change) recalculates receipt status. Auto-close only fires on the transition into fully received, so your choice to keep it open is preserved.
When you close a PO short with a receiving discrepancy — you accept fewer units than ordered and stop expecting the rest — its receipt status becomes Received For Less and never reverts on its own, even if the numbers are later corrected.
Short-closing means lowering a line's ordered quantity to release units the supplier won't ship. Doing so can flip both the receipt and shipment badges — and if it makes every remaining line count as fully received, it auto-closes the whole PO.
When a PO becomes fully shipped, fully received, or fully invoiced, its submission status advances to Finalized automatically, signalling there's nothing left to send the supplier.
Receipt status: How much has arrived
Receipt status is calculated from the quantities you've received across the PO's product lines.
| Receipt status | What it means |
|---|---|
| Unreceived | No product line has any received quantity yet. |
| Partially Received | At least one line has been received, but not every line is complete. This also forces the order status to Open. |
| Received | Every product line is fully received. Reaching this stamps the received date, finalizes the submission status, and auto-closes the order (only on the first transition into fully received, as noted above). |
| Received For Less | The terminal short-close state described in the warning above. |
| Dropship | Items ship directly from the supplier to the customer rather than into a warehouse, so there's nothing to receive into stock. |
For Amazon FBA (Fulfillment by Amazon) and AWD (Amazon Warehousing and Distribution) destinations, the "how much arrived" figure comes from Amazon's own inbound totals rather than a receipt you key in by hand, but the resulting status values are the same. A PO with no lines is never considered fully received.
See Receive stock against a PO, How a PO becomes inventory, and Amazon and dropship POs.
Shipment status: How much the supplier has shipped
Shipment status is calculated from the quantities on the PO's inbound shipments.
| Shipment status | What it means |
|---|---|
| Unshipped | Nothing is shipped or planned. |
| Planned | At least one inbound shipment line is marked planned, but none has shipped yet. |
| Partially Shipped | Some, but not all, of the ordered quantity has shipped. |
| Shipped to Warehouse | Everything has shipped and is in transit to your warehouse. The header chip reads Shipped; it's labeled Shipped to Customer on a dropship PO, where goods go straight to the buyer. |
Unlike receipt status, recalculating shipment status never changes the order status. A fully shipped PO stays Open; it closes only once the goods are fully received.
Crossing into shipped and reaching fully shipped also trigger the milestone events that can release vendor-deposit installments (a scheduled supplier payment tied to a shipping milestone); see Vendor deposits.
Invoice status: How much has been billed
Invoice status is calculated from invoices, non-void vendor credits (a supplier's credit that offsets an over-bill), and billing settlements against the PO's product lines.
| Invoice status | What it means |
|---|---|
| Uninvoiced | No invoice, credit, or settlement progress on any product line. |
| Partially Invoiced | At least one product line shows a real invoiced quantity, a non-void vendor credit, or a billing settlement, while the PO isn't yet fully invoiced. |
| Invoiced | Every product line is fully accounted for by an invoice, a credit, a short-close, or a billing settlement. Reaching this finalizes the submission status and auto-closes dropship POs. |
| Invoice Paid | The invoice has been fully paid (the header chip reads Paid). This value comes from your accounting software's sync, not from inside SKU.io. |
A PO with no product lines is never fully invoiced. A PO that has been sent to the supplier but is still Uninvoiced or Partially Invoiced appears on the Awaiting Invoices worklist so you can chase the missing bill. See Record a supplier invoice and Invoicing and the 3-way match.
Submission status in brief
Submission status tracks the conversation with the supplier rather than the flow of goods. Submitting a PO moves it to Queued (held so several orders can be consolidated before sending), Submitted, or Finalized (for manual formats), and the supplier or buyer can drive it to a Change Request, Canceled, or Voided state. As noted above, it also advances to Finalized automatically once the order is fully shipped, received, or invoiced. The full list of values lives in the status reference.
Worked example: One PO, five lanes over time
Follow PO-DOCS-0001 — 100 units ordered from Acme Supplies at $8.50 each ($850 total) — as it progresses. Watch how each lane moves on its own:
| Moment | Order | Submission | Receipt | Shipment | Invoice |
|---|---|---|---|---|---|
| You create the draft | Draft | Unsubmitted | Unreceived | Unshipped | Uninvoiced |
| You approve and submit it | Open | Submitted | Unreceived | Unshipped | Uninvoiced |
| Acme ships 60 units | Open | Submitted | Unreceived | Partially Shipped | Uninvoiced |
| The first 60 arrive | Open | Submitted | Partially Received | Partially Shipped | Uninvoiced |
| Acme bills for those 60 ($510) | Open | Submitted | Partially Received | Partially Shipped | Partially Invoiced |
| The final 40 arrive and are billed | Closed | Finalized | Received | Shipped | Invoiced |
Notice that at the fourth row the PO reads Open · Submitted · Partially Received · Partially Shipped · Uninvoiced all at once — five true facts about one order. And only in the last row, when the goods are fully received, does the order status flip to Closed on its own.
Duplicating a PO resets every dimension
When you duplicate a purchase order, the copy starts clean regardless of how far the original progressed. All five status columns are stripped from the copy and reset to their fresh values — Draft order status, Unsubmitted, Unreceived, Unshipped, and Uninvoiced. The lines are copied, but the receipts, shipments, and invoices aren't, so the duplicate begins as a brand-new draft.
What you'll see: a new draft PO with the same lines and supplier, every status badge back at its starting value, and no receipts, shipments, or invoices attached. See Create a purchase order for how to duplicate.