Items with open Order demand but zero on-hand. The morning purchasing queue, ranked by Order value.
At a glance
Items with open Sage Intacct Order demand (committed via Order Entry) but zero or below-demand on-hand inventory. The morning purchasing queue, ranked by Order value at risk. The kill-shot view: show me every dollar of customer-promised revenue that is currently un-fulfillable because the warehouse is empty. The Operations team’s first read at 9am. Pair this card with Inventory Sync Drift for the over-sell-risk twin.
| What it counts | Items where SUM(open_so_quantity_committed) > intacct.item.qty_on_hand (with on-hand typically zero on the surfaced rows). For each Item: total committed SO demand units, on-hand units, dollar value of un-fulfillable demand, oldest Order date, owning Customer dimension, owning Location dimension. |
| Tax treatment | Order value shown as commerce-side gross. Tax exclusion is irrelevant; this card is about fulfilment risk, not GL recognition. |
| Shipping | Included in the Order value figure. |
| Currency | Per-Item Order values shown in the booking entity’s currency; total un-fulfillable demand converted to reporting currency at transaction-date FX. |
| Channels / sources | All Sales Order sources (Web, B2B portal, POS, EDI, manual). The card surfaces fulfilment risk regardless of where the demand originated. |
| Owning Intacct dimension | Each row tagged with Customer (highest-value Customer at risk), Item, Location (which warehouse the demand routes to), Class (Wholesale vs Retail D2C), Project (project-bound demand). |
| On-hand basis | Available-to-promise (on-hand minus already-committed-SO) by default. Pure on-hand can be configured if the merchant prefers. |
| Demand window | Default: all Open Orders regardless of promised ship date. Can filter to “Orders with promised ship date in next 7 days” for a tighter operational queue. |
| Time window | RT (real-time, refreshes on every Order or inventory event) |
| Alert trigger | any high-value SO blocked. Default high-value threshold $5,000; tunable per workspace. |
| Implementation Partner alignment | The Partner’s purchasing workflow typically reviews open-Order-vs-on-hand weekly. This card promotes that to real-time, which is the structural shift Sage Intacct merchants gain from connecting Vortex IQ. |
| Roles | owner, operations |
Calculation
Calculated automatically from your Sage 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 B2B distributor on Sage Intacct Multi-Entity Console. Two trading entities (US, Canada), four Locations (NJ-Primary, TX-Secondary, ON-Canadian, plus a CA-Reserve drop-ship Location). BigCommerce B2B Edition for the B2B book, Shopify Plus for D2C. Reading: real-time on 02 May 26 at 9:00 ET. Headline: 12 Items with open Order demand exceeding on-hand. Total un-fulfillable demand: 42,800 across 8 Customer Orders. Top 8 OOS-with-demand cases:| Item | Open SO units | On-hand | Demand $ | Top Customer | Location | Oldest Order | Class | Action |
|---|---|---|---|---|---|---|---|---|
| WIDGET-PRO-A | 320 | 0 | $42,800 | Acme Corp ($18,400) | NJ-Primary | 22 Apr 26 | Wholesale | Expedite PO #PO-2026-441 (200 units due 06 May) |
| GADGET-2026-X | 84 | 0 | $28,400 | Beta Industries ($14,200) | NJ-Primary | 24 Apr 26 | Wholesale | New SKU; PO not yet placed |
| KIT-VEGA-2026 | 72 | 12 | $24,800 | Charlie Studios ($12,800) | NJ-Primary | 28 Apr 26 | Wholesale | Partial fulfilment: ship 12 units, await PO replenishment |
| SEASONAL-Q2 | 145 | 0 | $18,400 | (D2C consumers) | NJ-Primary | 26 Apr 26 | Retail D2C | Discontinued; cancel orders or substitute |
| BUNDLE-SOLAR | 38 | 0 | $16,200 | Delta Partners ($8,400) | TX-Secondary | 30 Apr 26 | Wholesale | Bundle component shortage; one component on PO #PO-2026-462 |
| LARGE-CASE-CA | 22 | 0 | $14,400 | Eagle Logistics ($14,400) | ON-Canadian | 29 Apr 26 | Wholesale | Canadian sub: drop-ship from US? Or expedite PO from supplier? |
| MIN-COMPONENT | 1,420 | 0 | $12,800 | Foxtrot Group | NJ-Primary | 02 May 26 | Wholesale | New same-day Order; Component on Project PRJ-VEGA-2026 |
| WIDGET-PRO-B | 78 | 0 | $9,400 | (mixed) | TX-Secondary | 28 Apr 26 | Wholesale | Location was added recently; check whether stock exists at NJ-Primary |
- WIDGET-PRO-A’s 18,400) sits inside the Top Customers worklist on Intacct’s CRM module. This means the Operations team’s choice is not just “expedite or apologise”; it is “which Customer relationship are we willing to risk?”. The Vortex IQ dimensional cut surfaces the Customer dimension on each row, so the Operations Lead can see at-a-glance whether the at-risk demand concentrates in strategic accounts or trickles across small Customers. If Acme Corp is a top-20 strategic account (visible on the Top B2B Accounts by Revenue sibling card), the action is to expedite PO #PO-2026-441 by air freight, which costs 18,400 of revenue and a top-20 relationship. If Acme is small, the action is a polite delay-notification email.
- GADGET-2026-X’s $28,400 with no PO placed is the avoidable-shortfall row. This is a new SKU (the same SKU that appears as an unmapped-orders cause on the Unmapped Orders card). The merchandiser launched it on the storefront, accepted 84 units of demand, and never placed a Purchase Order with the supplier because the Item record in Intacct’s Inventory Control module had not been linked to a Vendor. Recovery: place the PO immediately (4-week lead time on this product, so air freight expedite is required). Systemic fix: every new Item in Intacct should have a default Vendor and a min-PO trigger configured before the SKU is allowed live on commerce.
- KIT-VEGA-2026’s partial-fulfilment row is the kit-handling case. 72 units of demand, 12 units on-hand. The Operations playbook should be: ship the 12 units against the oldest 12-unit-equivalent Orders today (this protects the oldest Customer wait), and place a PO replenishment for the remaining 60 units. The card surfaces the Order ages, which makes the FIFO decision automatic. Without the card, the Operations team typically ships against the largest Customer regardless of Order age, which is the wrong fairness model.
- SEASONAL-Q2’s $18,400 of demand is the discontinued-Item issue. This is a SKU that Intacct shows as discontinued (
active = false), but the commerce-side discontinuation has not propagated, so 145 units of customer demand sit against zero stock with no replenishment plan. Recovery: cancel the 145 units of Orders politely (with a substitute offer) within the next 24 hours. Systemic fix: the discontinuation workflow should auto-pause the SKU on commerce before any new demand can accrue. This row also appears on the Inventory Sync Drift card with 12 units of phantom commerce-side stock; the two cards are diagnostic twins. - MIN-COMPONENT is the project-dimension finding (1,420 units of demand from Foxtrot Group, tagged to Project
PRJ-VEGA-2026). This is component demand for a project in the Implementation Services workflow, not a retail SKU. The Operations team’s playbook is different: Project-tagged demand needs to be reviewed with the Project Manager, because the project plan itself may have flexibility on the component delivery date. The Vortex IQ dimensional cut surfaces the Project tag in one click, where in NetSuite or SAP S/4HANA the same finding would require a separate Project-module query. For project-based services merchants, this is the killer Sage Intacct dimensional value.
Sibling cards merchants should reference together
| Card | Why pair it with OOS with Open Order Demand |
|---|---|
| Inventory Sync Drift | The over-sell-risk twin: this card shows demand-without-stock; the drift card shows commerce-published-stock-without-Intacct-stock. Both are fulfilment-risk telemetry. |
| Low Stock Alerts | Forward-looking version: this card shows already-blocked demand; Low Stock alerts items at risk of becoming OOS soon. |
| Open Orders | The denominator: total open Order demand. This card surfaces the un-fulfillable subset. |
| Orders Blocked on Inventory or Credit | Aggregate version covering credit-hold blocks alongside inventory blocks. |
| Top B2B Accounts by Revenue | Strategic-account context: which Customers are at risk on this card? |
| Inventory Aging | The flip side: what stock is sitting unsold while OOS demand exists for other SKUs? |
| Dead Stock with Active Ad Spend | The mirror: this card is under-stocked with demand; that one is over-stocked with ad-spend. Both are wrong allocations of working capital. |
| Total Inventory Value | Aggregate stock-on-hand denominator. |
Reconciling against the vendor’s own dashboard
Where to look in Sage Intacct: The closest native equivalents in the Intacct UI are:Reports → Order Entry → Open Orders by Item (the Order-side denominator) Reports → Inventory → Stock Status by Item (the on-hand side) Interactive Custom Report (ICR) that joins the two: Item + Location + open-Order-quantity + on-hand. The Implementation Partner can build this ICR in 60 to 90 minutes; once built, it becomes the morning purchasing-queue report Reports → Inventory → Reorder Recommendations is conceptually related but uses min/max reorder points, not committed-Order demandThe Implementation Partner pattern: most Partners run the Open-Orders-by-Item report weekly (or at month-end during the close pack), not in real-time. The Operations team builds an internal spreadsheet from the export and works it. Vortex IQ promotes this from weekly to real-time, with dimensional decomposition. Why our list may legitimately differ from a manual cross-check:
| Reason | Direction | Why |
|---|---|---|
| Read timing | Material | Intacct on-hand is read on Vortex IQ’s sync cadence (typically 15 to 60 minutes); a manual Stock Status report is run on demand. Within a 30-minute window, the two reads can show different on-hand for high-velocity Items. |
| Available-to-promise vs on-hand | Material | Card defaults to available-to-promise (on-hand minus already-committed-SO from earlier in the queue). A manual Stock Status report shows raw on-hand. The difference equals the committed-SO total ahead of the OOS Items. |
| Backorder configuration | Either | If the merchant allows backorders on certain Items (default allow_backorder = true in Item config), those Items technically have demand without stock but can be fulfilled when stock arrives. Configure the field map to exclude backorder-allowed Items from this card if the operational reality is that backorders are normal. |
| Drop-ship Items | Card lower | Items configured as drop-ship in Intacct are not warehoused; on-hand is always 0 by design. Exclude drop-ship Items from this card via the field map. |
| Multi-Location demand routing | Either | An Order tagged to Location A may be fulfillable from Location B if the Order’s allow-substitute flag is set. The card respects the Order’s Location tag; merchants who route flexibly may want to aggregate Locations in the comparison. |
| Project-dimension demand | Either | Project-tagged demand may have flexible delivery dates that the standard reorder logic does not respect. Cross-reference the Project Manager before treating Project-dimension demand as urgent. |
Known limitations / merchant FAQs
My OOS-with-demand list is huge (50+ Items). Where do I start? Sort by demand-dollar descending and work the top 10. The Pareto rule applies: the top 10 of 50 typically account for 70 to 80% of the un-fulfillable demand dollars. Within the top 10, sort by Customer dimension to identify any concentration in a strategic account; those rows go first. The card supports both sorts directly. A row shows 0 on-hand and 22 units of demand, but the warehouse staff swear there is stock. What is happening? Three possibilities: (1) the on-hand figure is stale (Intacct sync hasn’t run since the last receipt; force-refresh), (2) the Item is in a Location not configured for the demand-side commerce channel (the Operations team sees stock at TX-Secondary but the BigCommerce demand routes to NJ-Primary; cross-reference Inventory Sync Drift), or (3) the stock is committed to an earlier Order in the FIFO queue (the visible on-hand is already promised). The card surfaces each cause via the dimensional tags. How do I handle Project-dimension demand? Route it to the Project Manager rather than treating it as urgent operational demand. Project-tagged Orders typically have flexible delivery dates inside the project plan; the project manager can re-sequence component delivery without customer notification. The Sage Intacct Project dimension is exactly this kind of separator; the card surfaces the tag so the Operations team knows to escalate rather than expedite. Multi-Entity Console: do I run this card per entity or consolidated? Per entity, almost always. Demand is tagged to a Customer and Customers are tagged to entities; Locations are entity-scoped. Aggregating across entities mixes US-warehouse stock visibility with Canadian-warehouse stock, which is not how the Operations team works. The card defaults to per-entity views; pivot via the dashboard filter. My discontinued SKUs keep showing here. How do I suppress them? Two options: (1) configure the discontinuation workflow so that Intacct’sactive = false flag immediately propagates to commerce as available_for_purchase = false, preventing new demand; (2) add a field-map filter that excludes Items with active = false from this card. The second is faster but masks the real issue (stale demand against discontinued SKUs); the first is the systemic fix.
Can I auto-cancel low-priority Orders against OOS Items?
Yes via Ask Viq, with explicit authorisation. Vortex IQ supports a “cancel and notify” action that posts an Order cancel against a configurable filter (e.g. “all Retail D2C Class Orders against discontinued Items, with substitute offer”). Most merchants prefer to cancel manually for the customer-experience side; the action is supported for high-volume scenarios.
Backorder-allowed Items keep showing here. Is that right?
Default behaviour is to include all Items; if your operational model allows backorders as routine, configure the field map to exclude allow_backorder = true Items from this card. The trade-off: hidden-backorder Items can sit at risk of supplier delay if you are not separately monitoring the backlog. Most merchants configure two cards: this one with backorders excluded, and a separate Backorder Aging card to monitor the supplier-fulfilment side.
Sage Intacct Order Entry vs Order Management module: which feeds this card?
Order Entry. The Order Management module (a higher-tier Intacct add-on) extends Order Entry with allocation rules, advanced shipping, and multi-warehouse routing; the card reads from the underlying Order Entry data so it works on both standard and Order-Management configurations.
REST vs XML API freshness?
Both are used. The XML API for the bulk Open-Orders-by-Item read; REST for incremental Order events. The card refreshes on both Order events (new Order placed, Order shipped) and Inventory events (PO received, Inventory Adjustment posted), so the freshness is event-driven rather than poll-driven on most workspaces.
My Implementation Partner runs the purchasing queue weekly. Does this card replace their workflow?
It augments rather than replaces. The Partner’s weekly review is good for systemic patterns (which Vendors are slipping, which Items are routinely understocked, where the supply chain has drift). This card is good for daily operational telemetry (what is at risk right now, which Customer is affected, which PO needs expediting). Both are useful; the daily telemetry is what Sage Intacct does not natively expose.
Sage Intacct vs NetSuite on this card?
NetSuite has SOs Blocked on Inventory which is the equivalent metric. The Sage Intacct version is decomposed by more dimensions out of the box (Project, Class, Location, Customer all queryable in one read), where in NetSuite the same decomposition typically requires a SuiteAnalytics workbook. For services-heavy or multi-Class merchants, Intacct’s read is faster; for single-Class, single-Location B2B distribution, both behave similarly.
**The card shows Canadian-sub Items with USD demand is shown in the booking entity’s currency natively (Canadian sub Items in CAD), with a separate consolidated USD column for the cross-entity total. The card respects whichever currency the user pivots into via the dashboard filter.