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

At a glance

Live count of orders sitting in state IN (new, processing, holded, payment_review) that have not reached complete or closed. Real-time backlog of orders the warehouse, fulfilment partner, or finance team owes the customer.

Calculation

Calculated automatically from your Adobe Commerce data. See the At a glance summary above for what the metric tracks and the worked example below for a typical reading.

Worked example

A multi-region homewares brand on Adobe Commerce 2.4.6, snapshot taken at 09:00 GMT on 12 Apr 26. The store ships from a single UK warehouse for UK/EU and from a US 3PL for US/CA orders. The headline reads 93 unfulfilled orders, the alert is firing because it crossed the 50 threshold. What’s happening:
  1. The holded cluster on the UK Store View is 11 orders, way above its usual 2-3. Hover the breakdown and these are all flagged by the merchant’s fraud rule (high-value first orders shipping to a freight-forwarder address). The fraud officer is on leave; the queue is backing up. Operations needs to triage them, not the warehouse.
  2. The US Store View has 31 in processing, which is normal. Their 3PL has a 24-hour SLA and processes overnight. None are ageing past 36 hours. Healthy.
  3. The 1 order in payment_review is a US AmEx transaction that Stripe Radar flagged. It’s been sitting 18 hours. If unresolved by the 24h threshold the ageing alert will fire on top.
  4. pending_payment does not appear on this card even though Adobe Commerce shows 17 orders in that state right now. They were never paid for; there’s nothing to ship. They live on the Pending Payment Orders card instead. Important to keep these straight: a merchant who looks at the order grid in admin sees them mixed in and wonders why this card differs.
  5. The B2B portal contributes only 4 orders but they’re worth $58k. Order Count says “small problem”; pair with Unfulfilled Order Value for the cash-impact view, the operations team should pick those first.

Sibling cards merchants should reference together

Unfulfilled Orders is an operational card. Pair it with these to make decisions:

Reconciling against the vendor’s own dashboard

Where to look in Adobe Commerce Admin: The closest Adobe Commerce Admin view is:
Sales > Orders, then in the Status filter dropdown select Processing, Pending, Holded, and Payment Review (multi-select). Set the Status scope to All Store Views in the top-left scope dropdown. The order grid row count at the bottom should match this card.
For a per-state slice rather than the combined count:
Sales > Orders, filter Status to a single value (e.g. Holded), and read the row count for that state. Repeat per state to see the breakdown that matches our Fulfillment Breakdown card.
Other Adobe Commerce Admin views that look like the same number but aren’t:
  • Sales > Shipments: lists shipments created, not orders awaiting shipment. The opposite question.
  • Sales > Invoices > Pending: invoices that haven’t been paid yet, a different concept (Adobe Commerce can invoice pre-payment in some workflows).
  • Reports > Sales > Orders: a windowed sum, not a real-time backlog.
  • Stores > Currency Symbols and shipping config screens: irrelevant.
  • System > Tools > Cache Management “stale” indicators: completely unrelated.
Why our number may legitimately differ from Adobe Commerce Admin: Cross-connector reconciliation (when these connectors are connected for this merchant): Unfulfilled Orders is an internal-state metric, no payment processor or analytics connector tracks it directly. The closest cross-checks are inferential:

Known limitations / merchant FAQs

The number is bigger than what my warehouse manager says is in the queue, why? Three usual causes specific to Adobe Commerce: (1) some orders are in holded (admin paused for fraud or manual review) and never reached the warehouse, (2) some are in payment_review (gateway flagged), and (3) the warehouse may be looking at one Store View while this card sums all Store Views. Pair with Fulfillment Breakdown to split by state and surface the real bottleneck. The warehouse only owes you the processing count; ops/finance owns the holded and payment_review queues. What’s the difference between state and status on an Adobe Commerce order, and which does this card use? state is the system-level lifecycle (8 fixed values: new, pending_payment, processing, complete, closed, canceled, holded, payment_review). status is a configurable, user-facing label that maps onto state. This card uses state only. If you’ve renamed your statuses in the Adobe Commerce Admin (e.g. “Order Confirmed” instead of “Processing”) the count is unaffected, we look at the underlying state. Why are pending_payment orders excluded? They were never paid for. Adobe Commerce creates the order skeleton when the shopper hits Place Order, and if the gateway never returned success the order sits in pending_payment indefinitely. There’s no money taken, no shipment owed. Including them in “unfulfilled” would conflate “we owe a customer a parcel” with “a customer abandoned mid-checkout”. They live on a separate Pending Payment Orders card. My multi-store Adobe Commerce, can I see per-Store-View unfulfilled count? Not on this card directly. Filter the source data by store_id, or use Fulfillment Breakdown which supports per-Store-View slicing. A per-Store-View hero variant is on the roadmap. Why does the Admin order grid show a different count? Most commonly: the Admin scope filter is set to a single Store View while this card sums all Store Views. Set the top-left scope dropdown in Admin to All Store Views. Second most common: the Status filter in the order grid includes “Pending” (i.e. pending_payment), which this card excludes. Match the filter to Processing + Pending Payment + Holded + Payment Review minus Pending Payment for a like-for-like read. The payment processor counts don’t match, why? Stripe and PayPal track successful charges, not order fulfilment state. A Stripe-paid order in state = processing is one Stripe charge AND one row in this card; the same order in state = complete is still one Stripe charge but no longer in this card. The payment processor view and this card answer different questions. Why doesn’t Google Analytics match? GA4 doesn’t track fulfilment state at all. The purchase event fires once at checkout completion; subsequent state transitions (processing → complete) don’t generate GA4 events. GA4 is the wrong tool for this question entirely. My multi-currency Adobe Commerce, does Unfulfilled Orders care? No. Unfulfilled Orders is a count, not a money figure, so grand_total vs base_grand_total is irrelevant. A USD order awaiting shipment and a GBP order awaiting shipment each contribute one. For the cash-impact view, pair with Unfulfilled Order Value which uses grand_total. Why does the count change if no orders were placed? Two reasons: (1) state transitions, when an order moves from processing to complete (warehouse confirmed shipment), it leaves this card’s set even though no new order was placed; (2) admin actions, when fraud is cleared on a holded order it transitions to processing, no count change but the breakdown shifts. The card is a snapshot of current state, not a windowed sum.

Tracked live in Vortex IQ Nerve Centre

Unfulfilled Orders is one of hundreds of KPI pulses Vortex IQ tracks across Adobe Commerce 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.