Skip to main content
Card class: HeroCategory: 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.
What it countsOpen Sales Orders where ANY of: Customer.Blocked = 'All' or 'Ship' (credit hold), Sales Line.Outstanding Quantity > Item.Inventory (insufficient stock), Status = 'Pending Approval' for > 72 hours, or Sales Line.Item Tracking required but missing. Each row carries the SO Number, Customer Name, Amount, Block Reason, Days Blocked, and a Vortex IQ-suggested action.
VAT / tax treatmentNet of VAT, parity with Open SO Value.
Inventory shortage checkUses Item.Inventory minus Reservation Entry.Quantity (stock already promised to other Orders) vs Sales Line.Outstanding Quantity. Drop-Ship lines are excluded (no inventory commitment).
Credit Hold checkCustomer.Blocked field, plus Customer.Credit Limit exceeded by sum of Sales Header.Amount + open Customer Ledger Entry balance.
Pending Approval threshold72 hours by default. Tunable per workspace via the field map.
CurrencyMulti-Company: each SO converted to Reporting Currency for ranking.
Time windowRT (real-time snapshot)
Alert trigger>0 high-value blocked (any SO above $10K stuck for >24 hours)
Sentiment keyblocked_so
Rolesowner, finance, operations

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.
SO NumberCustomerAmount (USD)Block ReasonDays BlockedSuggested Action
SO-208441Acme Tech Distribution$184,200Credit Hold (Limit Exceeded)4Release on prepayment OR raise limit
SO-208533NorthEast Components Inc$96,400Inventory Shortage (12 lines)6Substitute SKUs OR backorder
SO-208612TechHub Wholesale$54,800Pending Approval >72hrs5Escalate to Finance Director
SO-208694DeltaCorp Industries$48,200Credit Hold (Customer.Blocked = Ship)9Customer review meeting
SO-208702RegionalTechCo$34,600Item Tracking Missing2Warehouse to assign Lot No.
Top 5 total$418,200
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

CardWhy pair it with Sales Orders Blocked
Open Sales Order ValueThe denominator. This card’s % is the share blocked.
Orders on Credit HoldThe Credit Hold subset as its own time series.
Customer Credit UtilisationPredictive: customers approaching their limit will become Credit Hold tomorrow.
Low Stock AlertsThe Inventory Shortage subset as a forward warning.
OOS with SO DemandCross-connector: ties inventory shortages to live commerce demand and ad spend.
SO to Invoice Lead TimeTells you whether blockages are systemic (slow lead times) vs episodic.
Revenue Gap vs CommerceBlocked SOs feed directly into Released-Not-Invoiced on the gap card.

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:
ReasonDirectionWhy
Reservation Entry handlingCard may show fewerSome Sales Lines have stock reserved (Reservation Entry rows). The card subtracts reserved stock before flagging shortage; a naive Inventory < Outstanding Quantity filter does not.
Approval-age computationCard uses 72hr thresholdBC’s standard view shows all Pending Approval, regardless of age. The card highlights only > 72hr (configurable).
Drop-Ship exclusionCard may show fewerDrop-Ship lines have no inventory commitment; the card excludes them from Inventory Shortage flagging.
Multi-Company aggregationCard materially moreThe card sums across all connected Companies; BC’s per-Company view shows one.
Customer.Blocked variantsEitherBC has Blocked = All (no transactions) and Blocked = Ship (post but do not ship). The card flags both; some manual filters look at one only.
Cross-connector reconciliation:
CardDirectionNotes
shopify.fulfillment_pendingCommerce side correlatedShopify orders blocked at the warehouse layer correlate with BC SOs blocked on inventory.
stripe.payment_failedUpstream signalFailed Stripe payments often generate BC SOs on Credit Hold.

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.