Commerce orders that never created a Sage Intacct Order. Each row is a revenue-leak investigation.
At a glance
Real-time alert table of commerce orders (BigCommerce, Shopify, Adobe Commerce) that never produced a Sage Intacct Order in the Order Entry module, and therefore never reached the Intacct GL. Each row is one order, with its commerce-side detail, presumed cause, and the Intacct dimension (Customer, Item, Class, Location) that owns the fix. This is the largest single gap-cause on most US mid-market Intacct merchants: typically 60 to 80% of total commerce-vs-Intacct revenue gap traces here.
| What it counts | Commerce-platform orders (Shopify Order, BigCommerce Order, Adobe Commerce Order) created in the period whose order ID does not appear as a CUSTOMERID + ORDERSOURCEKEY link on any Intacct Order, Invoice, or Cash Receipt with revenue offset. Lists each unmapped order with: order date, order value, Customer email, presumed cause, owning Intacct dimension, and recovery action. |
| Tax treatment | Order value shown as commerce-side gross (tax-inclusive on UK / EU, tax-exclusive on US) since the Intacct-side has no equivalent line. The mapping fix converts to the Intacct tax convention on Order creation. |
| Shipping | Included (commerce gross). |
| Discounts | Already applied (commerce post-discount). |
| Refunds | Excluded; refunded orders are not “unmapped revenue”, they are zero-net economically. |
| Cancelled / voided orders | Excluded by default. Cancelled orders have their own card (Cancellation Mismatch). |
| Currency | Order shown in commerce currency; recovery action posts to the appropriate Intacct entity (US entity = USD, Canadian entity = CAD, etc) per the Location dimension routing. |
| Channels / sources | Web (Shopify / BigCommerce / Adobe Commerce) by default. B2B portals, EDI flows, and POS can be added via manifest. |
| Owning Intacct dimension | Each row is tagged with the dimension whose mapping is broken: Customer (most common), Item (second most common), Location (Multi-Entity routing), Class (Wholesale-vs-Retail), Project (project-tagged orders), or “config” (a webhook / credential / workflow problem with no dimensional cause). |
| Time window | RT (real-time, refreshes on dashboard load and on webhook events) |
| Alert trigger | >0 unmapped orders. Healthy stores run zero unmapped orders most of the time; spikes correlate with credential rotations, Implementation Partner Chart of Accounts changes, or new product / new Customer launches. |
| Roles | owner, finance, 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 digital agency on Sage Intacct, project-based revenue recognition under Intacct Contracts and Revenue Management, with a Shopify Plus side channel for branded merchandise and templates the agency sells D2C. Annual revenue ~$28M. Period: real-time read on 02 May 26. Headline: 23 unmapped Shopify orders sitting outside Intacct, total commerce value 384 (consistent with the agency’s branded D2C book). Oldest unmapped order: 04 Apr 26 (28 days old). Top 8 unmapped orders, with dimensional diagnosis:| Order # | Date | Value | Customer | Owning Intacct dimension | Presumed cause |
|---|---|---|---|---|---|
| #SH-12047 | 04 Apr 26 | $1,840 | Acme Corp | Customer | Customer dimension link missing (B2B Shopify customer never linked to Intacct Customer record) |
| #SH-12081 | 09 Apr 26 | $1,420 | Beta Industries | Customer | Same Customer-dimension issue, different B2B account |
| #SH-12134 | 14 Apr 26 | $1,180 | Charlie Studios | Customer | Same |
| #SH-12198 | 18 Apr 26 | $920 | (D2C consumer) | Item | New SKU KIT-VEGA-2026 launched on Shopify before the Item record was created in Intacct |
| #SH-12224 | 22 Apr 26 | $720 | (D2C consumer) | Item | Same new SKU |
| #SH-12251 | 24 Apr 26 | $640 | (D2C consumer) | config | Webhook failure (HTTP 504 on the Intacct REST endpoint, no automatic retry configured) |
| #SH-12289 | 28 Apr 26 | $580 | Delta Partners | Project | Order tagged to a Project that was archived in Intacct; the new Project code was not propagated to the Shopify product feed |
| #SH-12302 | 30 Apr 26 | $480 | (D2C consumer) | Class | Order routed to Wholesale Class but the Class record had been renamed in Intacct |
- **Three Customer-dimension issues account for 4,440 within 15 minutes.
- **Two Item-dimension issues account for 1,640. The systemic fix is a launch-gate: no SKU goes live on Shopify until the Item record exists in Intacct. Most agencies and SaaS-adjacent merchants land this lesson once, then never repeat it.
- The Project-dimension issue ($580) is the killer Sage Intacct finding that no other ERP would surface this cleanly. Order
#SH-12289was tagged to ProjectPRJ-DELTA-Q1, which had been archived in Intacct after the project closed. When Delta Partners placed a new order, the Shopify product feed’s Project tag still referenced the archived code; Intacct rejected the Order create call. The Project dimension is unique to Sage Intacct (NetSuite has Projects but they are subrecords, not first-class dimensions; SAP S/4HANA uses WBS Elements with a different structure). For project-based services agencies and consultancies, this kind of Project-dimension mapping issue is recurring; this card surfaces it inside a single dashboard read, where in NetSuite or SAP it would require a custom saved search per archived project. - **The Class-dimension issue (480, plus a one-time cleanup of any other order types still referencing the old Class.
- The webhook config failure ($640) has no dimensional cause, just an infrastructure cause. A single Shopify-to-Intacct webhook returned HTTP 504 and the integration had no automatic retry configured. The payload sat in the dead-letter queue. Vortex IQ’s drift detector caught it because the Intacct record never appeared. Recovery: replay the webhook from the dead-letter queue, post the Order. Systemic fix: enable webhook retry-with-back-off in the integration config (most BigCommerce, Shopify, and Adobe Commerce integrations support this; defaults vary).
Sibling cards merchants should reference together
| Card | Why pair it with Commerce Orders Without Sage Intacct Order |
|---|---|
| Revenue Gap, Detailed Breakdown | The master cross-channel card. This card drills into the unmapped-orders bucket, which typically dominates the gap. |
| Revenue Gap vs Commerce | Headline gap dollar; this card is the row-level worklist behind it. |
| Inventory Sync Drift | The mirror gap on the Item dimension: this card tracks order leakage, that one tracks on-hand drift. |
| Revenue Gap Spike | Fires when the gap (and therefore typically this card) suddenly widens. |
| Revenue by Entity | Multi-Entity Console: confirms the recovered revenue lands in the right entity. |
| Open Order Value | The healthy-state denominator: orders that did make it into Intacct. |
shopify.total_revenue | Commerce-side numerator for Shopify-fronted stores. |
bigcommerce.total_revenue | Same for BigCommerce-fronted stores. |
Reconciling against the vendor’s own dashboard
Where to look in Sage Intacct: Sage Intacct cannot show this card on its own. The card is a join across Intacct (which has no concept of “missing orders that should exist”) and the commerce platform (which has no concept of “did Intacct receive this?”). The closest manual approaches are:Reports → Order Entry → Sales Order Register for the period (the Intacct-side existence list) BigCommerce Admin or Shopify Admin Orders Report (the commerce-side ground truth) Manual diff via spreadsheet on order IDThe Implementation Partner pattern: most Partners run this comparison once at month-end as part of the close pack, sample-check 20 to 50 orders, and flag any obvious mismatches. They rarely catch every unmapped order because the volume is too high to inspect by hand. Vortex IQ runs the diff continuously, real-time, with dimensional tagging, which is the value beyond the Partner relationship. To approximate manually with sufficient rigour for audit:
Interactive Custom Report (ICR) against the Intacct Order Entry data source filtered toThis takes a Controller (or the Implementation Partner) 60 to 120 minutes per period. The card does it continuously in real time. Why our list may legitimately differ from a manual cross-check:RECORDTYPE = 'Sales Order' OR RECORDTYPE = 'Sales Invoice'for the period, exported withCUSTOMER.NAME, ITEM.NAME, ORDERSOURCEKEYcolumns Commerce-platform export of the same period’s orders with their order IDs Anti-join onORDERSOURCEKEYvs commerce order ID; the unmatched commerce-side rows are the unmapped orders
| Reason | Direction | Why |
|---|---|---|
| Period boundary | Either | Card uses commerce order date for inclusion; an Intacct ICR uses the Order or Invoice posting date. The boundary days move. |
| Order ID linkage field | Material | Card uses the ORDERSOURCEKEY field on the Intacct Order to match the commerce order ID. If the field map points at a different custom field (some Implementation Partners use a renamed field), the matching breaks and produces false unmapped rows. Confirm the field-map link during onboarding. |
| Channel scope | Either | Default is Web; merchants with B2B portals, EDI flows, or POS need to configure scope explicitly or those orders show as unmapped when they actually flow through a different integration path. |
| Cancellation timing | Either | A commerce order that was placed and immediately cancelled (within 30 seconds, before the Intacct sync ran) may show as unmapped. Configure a min-age filter (default 5 minutes) to exclude these. |
| Multi-Entity entity routing | Either | An order routed to the wrong entity (US instead of Canadian) shows as unmapped against the expected entity but mapped against the actual entity. The card surfaces both dimensions; the recovery action moves the Order. |