Skip to main content

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.

New to a term?

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).

DimensionAnswersWho sets itValues
Order statusWhere's this PO in its lifecycle?You (approve, close, reopen)Draft, Open, Closed
Submission statusHas the supplier been contacted?The submit action, then finished automaticallyUnsubmitted, Queued, Submitted, Change Request, Finalized, Canceled, Voided
Receipt statusHow much has arrived?Calculated from what you receiveUnreceived, Partially Received, Received, Received For Less, Dropship
Shipment statusHow much has the supplier shipped?Calculated from inbound shipmentsUnshipped, Planned, Partially Shipped, Shipped to Warehouse, Shipped to Customer
Invoice statusHow much has been billed?Calculated from invoices, credits, and settlementsUninvoiced, 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 statusWhat it means
DraftThe 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).
OpenThe PO is approved and active. Items can be received, shipped, and invoiced against it.
ClosedThe 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.

A manual reopen sticks — SKU.io won't silently re-close it

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.

Received For Less is terminal

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 a line can cascade

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.

Submission finalizes on its own

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 statusWhat it means
UnreceivedNo product line has any received quantity yet.
Partially ReceivedAt least one line has been received, but not every line is complete. This also forces the order status to Open.
ReceivedEvery 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 LessThe terminal short-close state described in the warning above.
DropshipItems 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 statusWhat it means
UnshippedNothing is shipped or planned.
PlannedAt least one inbound shipment line is marked planned, but none has shipped yet.
Partially ShippedSome, but not all, of the ordered quantity has shipped.
Shipped to WarehouseEverything 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.
Fully shipped doesn't close the PO — only fully received does

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 statusWhat it means
UninvoicedNo invoice, credit, or settlement progress on any product line.
Partially InvoicedAt 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.
InvoicedEvery 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 PaidThe 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:

MomentOrderSubmissionReceiptShipmentInvoice
You create the draftDraftUnsubmittedUnreceivedUnshippedUninvoiced
You approve and submit itOpenSubmittedUnreceivedUnshippedUninvoiced
Acme ships 60 unitsOpenSubmittedUnreceivedPartially ShippedUninvoiced
The first 60 arriveOpenSubmittedPartially ReceivedPartially ShippedUninvoiced
Acme bills for those 60 ($510)OpenSubmittedPartially ReceivedPartially ShippedPartially Invoiced
The final 40 arrive and are billedClosedFinalizedReceivedShippedInvoiced

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.

Next steps

Last verified: