Skip to content

Purchase order statuses

Scope: the status a purchase order carries, shown as a colored dot + label pill on the list and the View screen.

The lifecycle

Draft → Pending Approval → Approved → Completed

The View screen shows this as a 4-node timeline. Receiving lives outside this flow — it is tracked via GRNs, and surfaces on the list as the Partially Received status with a progress indicator, not as a timeline node.

Note on “Sent”. Sending a PO to a supplier is an action, not a lifecycle state — see Send or download a PO. New POs never enter a “Sent” status. Some legacy POs still carry Sent; it renders correctly and is positioned at the Approved stage on the timeline.

Statuses

StatusPillMeaning
draftslateCreated, not yet submitted. Editable.
pending_approvalamberSubmitted, awaiting approval.
approvedgreenApproved; ready to fulfil.
sentvioletLegacy only — sent to supplier (deprecated as a workflow state).
partially_receivedskySome lines received against a GRN.
completedblueFully received / closed.
canceledredCanceled; locked.

Allowed manual transitions

From the list, the inline status editor (the pencil next to a status pill) offers:

FromAllowed transition
DraftSave and approve (approved)
Pending ApprovalApprove (approved)
ApprovedCancel (canceled)
Partially ReceivedComplete Order (completed)
Sent / Completed / Canceled(no manual transition)

There is no “Return to Draft” transition.

Completion is usually automatic. You rarely click Complete Order — posting a GRN moves the PO to Partially Received, and to Completed automatically once every line is fully received. The manual transition only exists to close out a PO you don’t intend to receive in full.

What approving a PO does

Approving is the gate between “drafting the order” and “fulfilling it”. Concretely, approval:

  1. Unlocks receiving. You cannot create a GRN against a PO until it is Approved — only Approved and Partially Received POs appear in the Goods Receipt screen. Draft, Pending Approval, legacy Sent, Completed, and Canceled POs are not receivable.
  2. Records an audit stamp — who approved it and when (shown on the View screen).

Approval does not lock the order, send anything, or change pricing. Sending to the supplier is independent of approval (you can send a PO in any status except Canceled or Completed, and sending never changes the status).

Who can approve

  • Approval reuses the purchase_order.edit permission (with warehouse.manage) — there is no separate “approver” role. Anyone who can edit purchase orders can approve them.
  • There is no segregation of duties: the person who created a PO can approve their own. If your process requires a second pair of eyes, enforce it operationally.
  • A PO must have at least one line item to be approved — approving an empty order is blocked, since approval opens the order up for receiving.

Receiving needs an approved PO

Approve the PO ──▶ it appears in Goods Receipt ──▶ post a GRN
│ │
└─ before approval, the PO is invisible to GRN └─ PO → Partially Received,
then Completed when full

Two policies worth knowing when you receive:

  • Over-receipt is allowed. A GRN can receive more than was ordered; the system does not clamp to the ordered quantity.
  • Only Draft POs can be edited. Once a PO is approved it’s locked for editing — the edit screen refuses to open and points you to cancel and re-create instead. This protects the receipt math (you can’t retroactively drop an ordered quantity below what’s already been received).

Filtering by status

The list filters status through the Status dropdown (there are no status tabs): All Statuses, Draft, Pending Approval, Approved, Sent, Partially Received, Completed, Canceled.