Lifecycle & statuses
A purchase order moves through up to 11 statuses. Each transition can stamp a date, apply or remove product tags (if you’ve configured them), push to Shopify, and queue an email. This page is the canonical reference for what changes when.
On this page
Section titled “On this page”- The 11 statuses
- Status flow
- What each transition does
- What you can edit at each status
- Going backwards (undo & Reopen)
- Merging POs
- Deleting a PO
- See also
The 11 statuses
Section titled “The 11 statuses”| Status | What it means | Typical entry |
|---|---|---|
| Draft | You’re composing the PO. No supplier-side effect yet. | New PO created. |
| Sent | The PO is submitted to the supplier. | You click Send to Supplier or Mark as Sent (Manual). |
| Partially ConfirmedPartial receiptA receipt where only some line items (or some quantities) were received. Moves the PO to Partially Received status; the rest stays as pending until you receive again. Read more → | The supplier confirmed some lines, not all. | First per-line confirmation. |
| Confirmed | All lines confirmed. | Last line flips to confirmed, or Quick Confirm all items. |
| In Progress | The supplier is fulfilling. | Manual click or first receipt. |
| Partially Received | At least one line received; others outstanding. | First receipt. |
| Received | Every line fully received. | Last receipt. |
| Completed | Closed; no further activity expected. | You mark done after receipt + payment. |
| On Hold | Paused — usually for a dispute or finance hold. | Manual. |
| Disputed | A formal dispute is open. | Manual. |
| Cancelled | Order cancelled. | Manual. |
Status flow
Section titled “Status flow”The happy path runs top to bottom:
Draft │ Send to Supplier / Mark as Sent (Manual) ▼ Sent │ per-line confirmation / Quick Confirm all items ▼ Partially Confirmed │ last line confirmed ▼ Confirmed │ start shipping ▼ In Progress │ first receipt ▼ Partially Received │ last receipt ▼ Received │ operator-marked done ▼ Completed ▲ │ Reopen Order │ (lands in Received / Partially Received / │ In Progress depending on what was received) └──── (return to flow)Side states can be entered from most in-flight statuses (Sent, Confirmed, In Progress) and exit back into the flow or to Cancelled:
[in-flight PO] ────► On Hold ◄────► Disputed │ │ │ │ │ ▼ └────────────────┴────────► CancelledThe straight arrows are the normal happy-path transitions. Side-state arrows are operator-initiated; Resume Processing brings an On Hold or Disputed PO back to the previous in-flow status it came from. Reopen Order is the way to walk a Completed PO back into the receive flow.
What each transition does
Section titled “What each transition does”This is the side-effects matrix. The Side effects & integrations page has the full prose explanation; here’s the at-a-glance table.
| To | Date stamped | Tag effect | Shopify “incoming” | Log | |
|---|---|---|---|---|---|
| Sent | Sent date | tag applied (if a tag is configured to fire on Sent) | pushed as ordered quantity | supplier email queued (or none, if you chose “Mark as Sent (Manual)“) | yes |
| Partially Confirmed | — | (depends on your tag config) | re-synced to confirmed − received − cancelled − rejected | none | yes |
| Confirmed | Confirmed date | (depends on your tag config) | re-synced to confirmed − received − cancelled − rejected | none | yes |
| In Progress | In-progress date; shipping date auto-set if missing | (depends) | unchanged unless line quantities change | none | yes |
| Partially Received | — | (depends) | local receipt saved; Shopify incoming is reconciled when sync runs | none | yes |
| Received | Received date | (depends) | once synced, pending incoming for fully received lines is cleared | none | yes |
| Completed | Closed date | tag removed (if a tag is configured to remove on Completed) | unchanged | none | yes |
| Cancelled | Cancelled date | (depends on your tag config) | rolled back to zero for this PO | none | yes |
| On Hold | On-hold date | unchanged | unchanged | none | yes |
| Disputed | Disputed date | unchanged | unchanged | none | yes |
| Resumed (off On Hold) | — | (depends on returning status) | (depends) | none | yes |
| Reopen Order (from Completed) | — | (depends; tag may be re-applied if your config covers the new status) | re-pushed for any outstanding pending units | none | yes |
What you can edit at each status
Section titled “What you can edit at each status”Each quantity column has a status window where it’s editable — there isn’t a single “everything locks after Draft” verdict. The matrix below shows which quantity column is in play at each status.
| Status | Ordered qty | Confirmed qty | Received qty | Cancelled / rejected qty | Unit cost | Add / remove lines |
|---|---|---|---|---|---|---|
| Draft | editable | n/a | n/a | editable | editable | editable |
| Sent / Partially Confirmed | locked | editable via the confirm flow | n/a | via confirm flow | locked | restricted (override only) |
| Confirmed | locked | (line-level corrections) | editable | via confirm flow | locked | restricted (override only) |
| In Progress / Partially Received | locked | locked | editable (receive dialog or Bulk Edit) | (rejections via confirm flow; cancellations via override) | locked | restricted |
| Received | locked | locked | editable for receipt corrections | locked | locked | read-only |
| Completed | read-only | read-only | read-only | read-only | read-only | read-only |
| Cancelled | read-only | read-only | read-only | read-only | read-only | read-only |
To enable inline editing on a line-items table, click the Bulk Edit button (top-right of the table). See Line items & costs → Editing inline for the details.
Going backwards (undo & Reopen)
Section titled “Going backwards (undo & Reopen)”Walking back to a previous status is supported in a few specific ways:
- Status stepper — when you’ve just stepped forward, Logistified remembers the previous status; you can walk back if no irreversible work has happened yet.
- Reopen Order — from Completed, the Reopen Order action returns the PO to one of
Received,Partially Received, orIn Progress. Logistified picks the right target automatically based on what has actually been received: fully received → Received; some lines received → Partially Received; otherwise → In Progress. After reopening, you can record more receipts or push remaining incoming back to Shopify. - Resume Processing — from On Hold or Disputed, this returns the PO to the previous in-flow status it had before the hold or dispute.
Receipt corrections are supported while the PO is still Received or otherwise in the receiving flow. Use Receive for additional arrivals, Unreceive where available for reversals, or Bulk Edit to correct the received quantity. Once a PO is Completed or Cancelled, it is locked.
Merging POs
Section titled “Merging POs”You can merge POs while they are still before receipt: Draft, Sent, Partially Confirmed, Confirmed, and In Progress. POs that are Partially Received, Received, Completed, or Cancelled are blocked from merge. All merged POs must also have the same status, and lines with actual stock movement (received quantity, posted receipts, Shopify on-hand sync, or Assemblified sync) cannot be moved. Lines that have only pushed incoming quantity to Shopify can still be merged — Logistified refreshes Shopify incoming for the affected POs after the merge.
All selected POs must use the same supplier and location. You choose one target PO, and Logistified moves the source lines into it. If the target already has the same variant with matching commercial, supplier, fulfillment, and date fields, the quantities are combined into the existing target line rather than creating a duplicate row. If those fields differ, the merge is blocked so totals, exports, PDFs, and writeback rules stay correct. Custom items stay on their original source PO because they are one-off PO-scoped lines.
When a source PO has no lines left after its movable lines leave, Draft sources are deleted. Non-Draft sources are cancelled and archived so the audit trail stays available.
Deleting a PO
Section titled “Deleting a PO”- Draft — hard delete. Gone from history.
- Cancelled — archivedSoft deleteA record hidden from active workflows but retained for history or audit instead of being permanently removed. Read more → . Stays in the database for audit but is removed from the active PO list.
- Other statuses — cancel the PO first in the normal workflow so the audit trail remains clear.
See also
Section titled “See also”- Side effects & integrations — the full prose of what fires when.
- Line items & costs — what the mutability matrix protects.
- Receiving stock — the receipt-driven transitions.
- Preferences — toggles that change how incoming and Shopify sync behave.