Shopify order status, translated into inventory states: where your stock actually commits
Every Shopify order status mapped to its inventory effect — when stock commits, when it releases, and the misreads that cause oversells and phantom stock.
InventoryX is in development and not available today. ClearStock is the live Shopify app.
Short answer: Shopify shows you two different status systems on every order — financial status (pending, authorized, paid, refunded) and fulfillment status (unfulfilled, in progress, partial, fulfilled, scheduled) — and neither one directly answers the inventory question, which is: are these units sellable? Stock commits to Available→Committed when the order is created, not when it's paid, and not when it's fulfilled. Every state-misreading mistake traces back to that gap.
Below is the full state machine — order states and the inventory states underneath them — plus the three misreads that cause the most damage. This page covers order and fulfillment states; the underlying inventory states (Available, Committed, Incoming, Unavailable) are defined in the inventory states guide, and transfer states between locations are covered in the transfers guide.
The state machine
One order — a customer buys a phone case — walks through these states. The right column is what happens to the stock:
| Order state you see | Trigger | What the stock does |
|---|---|---|
| Pending / Authorized (financial), Unfulfilled (fulfillment) | Customer completes checkout (or a draft converts) | Units move Available → Committed at the fulfillment location. They can no longer be sold to anyone else — even though no money has fully settled |
| Paid, still Unfulfilled | Payment captured | No stock change. The commitment already happened at order creation |
| In progress / Partial | Some items fulfilled (or a fulfillment request sent to a 3PL) | Fulfilled units leave Committed permanently (Available −1 at that location). Unfulfilled units stay Committed |
| Fulfilled | All items fulfilled | All units out of Committed, into "sold." On-hand drops accordingly |
| Scheduled | Fulfillment date is in the future (preorders, delivery dates) | Units may sit in Unavailable — not sellable until the scheduled date arrives, then Committed when processing |
| Restocked | You cancel an order or restock returned items | Committed units return to Available and are sellable again |
| Closed / Archived | Fulfilled (or cancelled) and the bookkeeping is done | Pure administrative state. Zero stock effect |
| Cancelled | Order cancelled without restock (or refunded) | Units return to Available only if the fulfillment was restocked — cancellation alone doesn't always release them |
The one-line version: money and stock travel on different clocks. Payment can be pending, authorized, or fully captured while the inventory answer is identical — the units are committed the moment the order exists.
Why "authorized but unpaid" trips people
The most common misread: a merchant sees a pending-payment order, assumes it's not real, and sells the same units another way (a phone order, a marketplace, a manual adjustment). Then the payment clears and the original order fulfills against stock that's already gone — an oversell with a receipt trail.
The rule that prevents it: an order exists = the stock is spoken for, regardless of financial status. If you decide an order is dead (customer ghosted, payment failed), cancel it with restock so the commitment releases — that's the deliberate, recorded way to un-commit stock.
Misread #2: "Fulfilled" and "available" are not related the way people think
Fulfilled means picked, packed, and shipped — a physical event. Availability is a number, and it dropped at order creation, not at fulfillment. So a merchant who checks "how many do I have?" after a morning of shipping sees a number that has already accounted for everything in the morning's orders — including unfulfilled ones. The mistake is re-ordering or promoting based on the Available number while forgetting the Committed column is about to convert into more fulfilled sales. The Available figure is the only one you can sell against; on-hand (Available + Committed + Unavailable) is not, and treating it as sellable is the arithmetic behind most overselling incidents that start in the admin rather than the checkout.
Misread #3: reading the Orders page as an inventory report
The Orders page answers "what do I owe customers?" — it was built for that. Operators repurpose it as a stock report because it's the busiest screen, and it misleads in two directions:
- The unfulfilled list is not a stock list. It's a work queue. A growing unfulfilled count can mean a fulfillment bottleneck, a stock problem, or both — the diagnosis lives in the unfulfilled-orders guide, which treats the backlog as an inventory signal.
- Cancelled doesn't mean restocked. When you cancel an order, Shopify asks whether to restock the items. The two choices produce different Available numbers, and the default answer has surprised many operators mid-reconciliation. When in doubt, open the order and check the timeline: restock events are logged there with quantities and locations.
Where the states come from outside your admin
Multi-location and channel inputs bend the machine: a POS sale commits stock at the POS location instantly; a 3PL's fulfillment request moves units In progress when they start, on their clock; transfers create their own Committed/Incoming states between locations. If numbers look wrong, the timeline on each order (and the transfer record) shows which state change happened when and at which location — that history is the fastest way to reconcile "the number says 12 but the shelf says 9."
Common questions
What do the order statuses in Shopify mean? Shopify shows financial status (pending, authorized, paid, partially refunded, refunded, voided) and fulfillment status (unfulfilled, in progress, partial, fulfilled, scheduled, restocked) separately, plus an overall order state of open, closed, or cancelled. Financial status tracks money; fulfillment status tracks the physical work; neither changes your stock numbers on its own — inventory commits when the order is created (Shopify Help Center, "Order statuses," accessed October 2026).
When does Shopify commit inventory to an order? At order creation — when checkout completes or a draft converts — units move from Available to Committed at the fulfillment location, even if payment is only authorized. The commitment holds until the order is fulfilled (units leave Committed) or cancelled with restock (units return to Available). Payment events change no stock numbers.
Does cancelling a Shopify order return the stock? Only if the items are restocked. Cancelling releases nothing by itself; the restock action is what moves the units back to Available at their location. If you cancel without restocking (for example, goods damaged before shipping), the units stay out of Available and you should adjust inventory manually to reflect reality.
What's the difference between on-hand and available in Shopify? On-hand is everything physically counted against the location — Available plus Committed plus Unavailable. Available is the sellable portion only. Committed units are already spoken for by unfulfilled orders; Unavailable units are held for reasons like damage, reservations, or scheduled fulfillment. Selling decisions should use Available; the on-hand figure is for counts and reconciliation.
Why does Shopify show stock I can't actually sell? Usually Committed or Unavailable units being read as sellable, or a scheduled/preorder allocation sitting in Unavailable. Check the variant's inventory breakdown by state on the Inventory page — Shopify lists each state's quantity per location, and the order or transfer timeline shows which records hold the units (as of October 2026).
Next step: open your Inventory page and filter to your five fastest movers tonight. Compare Available against Committed on each — if Committed is a meaningful share of on-hand, your reorder math has been quietly running on numbers that include stock already promised to customers.