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

At a glance

Distribution of orders across Adobe Commerce / Magento state values: new, pending_payment, processing, complete, closed, canceled, holded, payment_review. Critically, state is the system lifecycle (8 fixed values) while status is a configurable user-facing label. This card uses state because it is comparable across merchants; status varies wildly by configuration.

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 B2B-leaning industrial-supplies merchant on Adobe Commerce 2.4.7. Snapshot 13 May 26, 30-day rolling. 2,840 orders. State distribution: What this is telling Operations:
  1. pending_payment at 6.5% is on the high side but within B2B norms. B2B accounts often place POs that wait days for AP department approval before payment hits. DTC stores typically run <2% in this state; if a DTC store hit 6.5%, it would be a gateway-callback alarm.
  2. holded at 0.8% is slightly elevated. The fraud-rules-review queue has 22 orders parked. CS should drain this within 48 hours; the cost of a stuck holded is reputational (legitimate buyer waiting) and operational (fraud window closes after 7 days for most gateways). Drill into the Cancellation Rate trend, if holded stays elevated and cancellation goes up, fraud rules are firing too aggressively.
  3. processing at 21.6%. Calculate average residence time: if processing has 612 orders and orders complete daily at ~63/day, residence time = 612/63 = 9.7 days from paid to complete. For a B2B merchant with 5-7 day fulfilment SLA this is borderline; for a DTC apparel merchant this would be a fulfilment crisis. Drill into Line Item Fulfillment for SKU-level slowdowns.
  4. complete at 66.7%, closed at 1.4%. Total “successfully concluded” orders are ~68%. Magento doesn’t auto-flip orders to closed on partial refund, so refunded-once orders mostly stay at complete; only fully-refunded orders move to closed. Don’t read closed as the refund signal; use Refund Rate.
  5. Cross-reference with status (the user-facing labels). This merchant has customised processing to display as “PO Received” and complete to display as “Shipped & Invoiced”. If their staff says “we have 1,894 shipped orders this month”, they are reading complete. The card’s state view and the staff’s status view agree because the merchant defines them consistently.
  6. The 4 new orders are <5 minutes old. Normal latency between order submission and payment-state transition. If new builds up over 30+ minutes, the payment gateway routing has stalled.

Sibling cards merchants should reference together

Reconciling against the vendor’s own dashboard

Where to look in Adobe Commerce Admin:
Sales > Orders with the Status column displayed. The grid shows the status (custom label) not the state. To compare to this card’s state distribution, you need the status_state_assignments mapping: Stores > Configuration > Sales > Order Status > Order Status lists every status with its underlying state. A merchant with 5 custom statuses on processing will see them as 5 grid filters but they all roll up to one bar in this card.
For a quick sanity check, group the Sales > Orders grid by Status and count rows by state-equivalent. The Admin Dashboard tile Last Orders is too short for sanity-checking distributions; ignore it for this purpose. Why our number may legitimately differ from the Admin grid: Cross-connector reconciliation (when these connectors are connected for this merchant):

Known limitations / merchant FAQs

What is the difference between state and status and which one is “right”? state is the system-level lifecycle (8 fixed values, fixed by Magento core code, not configurable). status is a configurable user-facing label, mapped many-to-one onto a state. Neither is more “right”; they answer different questions. Use state for cross-merchant comparisons and system-health diagnostics; use status for operational workflows. The card uses state; your Admin shows status. Why isn’t a fully-refunded order in closed? Adobe Commerce flips an order to closed only when the full grand_total has been refunded. Partial refunds leave the order at its prior state (usually complete). So closed understates “refunded orders” if you have any partial refunds. Use Refund Count for refund volume. pending_payment is 8% on my DTC store, is that bad? For DTC, yes. Online card payments should auto-transition through pending_payment in seconds. A persistent 8% means the gateway success-callback path is broken, or you have a high mix of offline payment methods (bank transfer, cash on delivery). Check Stores > Configuration > Sales > Payment Methods for the mix and cross-check with Revenue Drop Alert. holded orders, how do I unblock them? Go to Sales > Orders, filter Status = On Hold, open each, click “Unhold” if the Admin user has the ACL. Many merchants leave fraud-review orders here too long; gateway authorisation expires after 7 days, after which the merchant cannot capture even if they decide it’s legitimate. Set up a daily ops review. Why does processing keep growing without complete keeping up? Fulfilment is the bottleneck. Calculate residence time: processing count ÷ daily complete rate = days in processing. If this exceeds your fulfilment SLA, the warehouse is behind. Drill into Line Item Fulfillment for SKU-level diagnostic. My multi-store has different states distributed differently per store, why? Different Store Views often have different payment methods (US store offers bank transfer, UK does not), different fraud rules, different audiences. Filter the card per Store View to compare. Can a state regress, e.g. complete back to processing? Generally no. Adobe Commerce has a directed state machine: newpending_paymentprocessingcomplete/closed. The exception is holded, an admin can hold then unhold an order. Refund creates a Credit Memo (separate document) without flipping the order back. Why is payment_review so volatile minute-to-minute? Because it’s a transient state. Gateway returns “review” status; Adobe writes payment_review; gateway resolves within seconds-to-minutes; Adobe transitions out. Snapshot timing matters. Use the 30-day average rather than instantaneous count. Does my Magento Open Source store have all 8 states? Yes. The state machine is core Magento code, included in Open Source. The B2B-specific extensions (Companies, Quotes) add B2B-flavoured statuses but the underlying state set is unchanged. The percentages don’t add to exactly 100%, why? Rounding. The card displays one-decimal percentages; the underlying counts are exact. If the total appears as 99.9% or 100.1%, that’s the rounding fold.

Tracked live in Vortex IQ Nerve Centre

Order State Breakdown 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.