Skip to main content
Metrics type: Key MetricsCategory: Ecommerce Platform
Sales Orders held by inventory shortage or credit hold in Business Central, ranked by revenue at stake. The morning unblocking queue.

At a glance

Alert table of Sales Orders blocked from progressing in Business Central, ranked by revenue at stake. Each row is a stuck SO with a reason code: Credit Hold, Inventory Shortage, Pending Approval (>72hrs), or Item Tracking Missing.

Calculation

Calculated automatically from your Microsoft Dynamics 365 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 US wholesale electronics distributor on Business Central Online, $90M revenue. Snapshot 14 Apr 26. Five things to notice:
  1. **The top stuck SO (184KCreditHold)represents24hoursofGLrevenueinoneOrder.A184K Credit Hold) represents 24 hours of GL revenue in one Order.** A 90M / year merchant invoices roughly 250K/dayonaNet30basis.Onestuck250K / day on a Net-30 basis. One stuck 184K Order is significant working-capital drag. The Controller’s morning routine starts here.
  2. Inventory shortage on SO-208533 ($96K) is upstream symptom of the OOS with SO Demand cross-connector finding. 12 lines short = a multi-SKU demand spike that purchasing did not see coming. The cross-connector card surfaces ad-spend on the same OOS SKUs (a double-loss: spending money to acquire customers for products you cannot ship).
  3. Pending Approval >72hrs ($54K) is process drag. BC’s approval workflow holds SOs above a threshold for Finance signoff. If approvers are out of office or notifications are misrouted via Microsoft Teams, SOs sit in queue. The Approval Workflow audit log shows who is the bottleneck.
  4. Customer.Blocked = Ship ($48K stuck 9 days) is a flag-day case. Some Customer relationship has gone sideways (overdue >90 days, or contract dispute). Until a senior person resolves with the customer, the SO sits. The 9-day age makes this card’s >0 high-value blocked alert fire daily.
  5. Total stuck: 418K,plus23lowervalueSOsnotshown= 418K, plus 23 lower-value SOs not shown = ~640K total blocked. That is roughly 8.5% of Open SO Value. At Net-30 terms, every stuck day is 1/30th of monthly revenue lost in DSO drift. The Controller’s job is to drive this number to zero by Friday afternoon.

Sibling cards merchants should reference together

Reconciling against the vendor’s own dashboard

Where to look in Business Central:
Sales > Sales Orders > filtered view “Blocked Orders” (custom filter) Role Centre > Order Processor profile > Cues > Pending Approval, Inventory Issue tiles Customer Card > drill to Sales Orders > filter Blocked Power BI > Sales Insights > Blocked Orders tile (if installed)
There is no single native “Blocked Orders” page; merchants typically build a saved filter combining Customer.Blocked != ' ' OR a calculated insufficient-stock condition. The Order Processor Role Centre cues approximate this for one Company at a time. Why our list may legitimately differ from a manual filter: Cross-connector reconciliation:

Known limitations / merchant FAQs

What is the right ratio of blocked to total open SOs? < 5% is healthy. 5 to 10% suggests a process or staffing gap (slow approvers, tight credit limits, lean inventory buffer). > 10% is a firefighting situation; pair with Customer Credit Utilisation and Low Stock Alerts to see whether the cause is concentrated in customers or SKUs. How does BC’s Customer.Blocked = Ship differ from Blocked = All? Blocked = All halts every transaction with that customer (Order, Invoice, Payment receipt). Blocked = Ship lets the order be created and invoiced, but the warehouse cannot ship until released. Blocked = Invoice allows shipping but blocks invoicing. The card flags all three. Are Pending Prepayment SOs counted? Yes if the prepayment is overdue. BC’s Status = Pending Prepayment means the customer must pay an upfront percentage before the rest of the order ships. If that prepayment is overdue (Sales Header Prepmt. Payment Terms Code matured), the SO is effectively blocked. My approval workflow uses Microsoft Power Automate. Does the card see it? Yes via OData. The Sales Header’s Status = Pending Approval is set regardless of whether approvals route through native BC or Power Automate. The age timer starts at the status transition. Does the card include orders blocked by AL Extension validation? Yes if the extension sets the Sales Header Blocked field or pushes the Status into a recognised state. Custom blocking states added by extensions need to be registered in the field map. How is “high-value” defined for the alert trigger? Default: any SO above 10KUSDequivalentstuckfor>24hours.Tunableperworkspace;somemerchantssethigher(10K USD equivalent stuck for >24 hours. Tunable per workspace; some merchants set higher (50K) for low-noise alerts, some lower ($1K) for high-touch DTC. Can I auto-resolve Credit Hold from this card? Vortex IQ surfaces the action; the merchant clicks through to the BC Customer Card to release. We do not write to BC for high-risk actions like credit-limit overrides. See the AI OS Action Engine roadmap for safe auto-resolve workflows. Multi-Company tenant: does the card prioritise across Companies? Yes. The list is sorted by USD-equivalent Amount descending so the biggest stuck Order anywhere in the group floats to the top. Each row carries the Company Name as a column. Does this card surface Returns Orders blocked? Yes. A Return Order with Document Type = Return Order blocked on a Customer Block fires the alert. Most merchants want this because a stuck return delays the Sales Credit Memo.

Tracked live in Vortex IQ Nerve Centre

Sales Orders Blocked on Inventory or Credit is one of hundreds of KPI pulses Vortex IQ tracks across Microsoft Dynamics 365 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.