Skip to main content
Metrics type: Supporting MetricsCategory: Ecommerce Platform

At a glance

Order distribution by displayFulfillmentStatus. The operational health view: how many orders are fulfilled, in progress, partially fulfilled, restocked, or unfulfilled?

Calculation

Worked example

A US apparel brand on Shopify Plus. Period: 12 Apr 26 to 11 May 26. Five things to notice:
  1. 2.7% OPEN is the backlog alarm. 184 orders that have not started picking. Sort the OPEN list by age; anything aged >24h needs ops triage. The combined OPEN + IN_PROGRESS + PARTIALLY_FULFILLED is your real-time work-in-progress; here that is 11.9%, healthy for a busy DTC brand.
  2. Partials at 3.2% mean SKU stockouts. 218 orders where some items shipped but at least one is backordered. Each is a customer-promise issue. Pair with Line Item Fulfillment for the SKU-level diagnosis; a single OOS hero SKU often dominates.
  3. SCHEDULED at 1.5% is mostly B2B. Wholesale orders with future ship-dates sit here. If you’re a DTC-only brand and SCHEDULED is non-zero, you’re likely running pre-orders or back-orders; check inventory policy.
  4. RESTOCKED + VOIDED together = cancellation events. 1.5% combined; cross-reference with Cancellation Rate. RESTOCKED is the customer-friendly path (inventory recovered); VOIDED suggests test orders or fraud cancellations without inventory return.
  5. POS dominates the FULFILLED bucket disproportionately. A retail-brick brand with strong POS sees 90%+ FULFILLED because POS auto-fulfills at the till. To assess true e-commerce ops health, filter to online-store orders only.

Sibling cards merchants should reference together

The status breakdown is the diagnostic. Pair with these:

Reconciling against the vendor’s own dashboard

Where to look in Shopify Admin: Orders → filter by Fulfillment status. Counts per filter should align with this card’s bucket counts. Other Shopify Admin views:
  • Reports → Sales by fulfillment status: a £-revenue split by status; complementary to this count split.
  • Settings → Locations: relevant for multi-location stores; affects how partial fulfillment surfaces.
  • Apps like ShipStation, ShipBob: 3PL-side fulfillment tracking; should align with the FULFILLED count per their lag.
Why our number may legitimately differ from Shopify Admin: Cross-connector reconciliation:

Known limitations / merchant FAQs

Why is my OPEN bucket high? Three usual causes:
  1. Stockout on a high-velocity SKU. Orders pile up waiting for inventory.
  2. 3PL or warehouse capacity issue. Pick-and-pack cannot keep up.
  3. Order volume spike. Sale week or viral moment outpaces fulfillment throughput.
Why is my PARTIALLY_FULFILLED bucket non-zero? Almost always one or more SKUs are out of stock and the rest of the order shipped. Cross-reference Products with Zero/Negative Stock to find the bottleneck SKU. What’s the difference between OPEN and IN_PROGRESS? OPEN / UNFULFILLED = no fulfillment record exists yet. IN_PROGRESS = fulfillment record created (label printed, picking started) but not marked complete. The progression is OPEN → IN_PROGRESS → FULFILLED. Why does SCHEDULED appear? Either pre-orders, back-orders, or B2B orders with future ship dates. If your store doesn’t run those, audit; this can indicate misuse of the SCHEDULED status. Multi-location, how does this affect the breakdown? Multi-location orders may appear PARTIALLY_FULFILLED if one location ships first. Once both locations ship, the order flips to FULFILLED. Multi-currency, any impact? None on the count distribution. Shopify Plus vs basic? Plus stores can use Flow automations to manage SCHEDULED orders, B2B-specific fulfillment workflows, and multi-location routing. The card behaves identically; the population mix differs. Refresh cadence? 5 to 15 minute index lag. Status transitions propagate quickly. B2B vs DTC? B2B has more SCHEDULED. DTC is dominated by FULFILLED. Mixed stores benefit from filtering by tag. The card shows a rising OPEN bucket, what should I do?
  1. Open Shopify Admin → Orders → filter Unfulfilled. Sort by age.
  2. Identify SKUs holding up the oldest orders. Cross-reference with Inventory Alerts.
  3. For aged-OPEN with no inventory issue, escalate to 3PL ops.
  4. For volume-spike, accept temporary degradation; protect customer comms with extended SLA messaging.
  5. Email customers proactively for orders aged >5 days; the brand-trust hit of silence is worse than the operational delay.

Tracked live in Vortex IQ Nerve Centre

Fulfillment Status is one of hundreds of KPI pulses Vortex IQ tracks across Shopify and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.