The killer reconciliation finding for mid-market ecom ops: dollar value of orders that never made it to Sage Intacct GL plus the reason.
At a glance
The dollar value of commerce-platform revenue that has not yet hit the Sage Intacct General Ledger, broken down by reason and by Intacct dimension. Calculated as commerce_total_revenue minus sage_revenue_booked_gl for the same window, with reason codes attached to each missing dollar and the Intacct dimensions (Department, Location, Project, Customer) carried through so Finance can investigate by team or business unit.
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 (annual revenue ~$60M) running Sage Intacct Multi-Entity Console with two regional entities (East and West Coast distribution warehouses). Connected commerce platforms: BigCommerce B2B Net-30, Adobe Commerce wholesale portal, plus a small Shopify Plus DTC complement. Departments and Locations are dimension-tagged on every Order Entry transaction. The 30-day window covers 14 Mar 26 to 12 Apr 26.
Reason breakdown the card surfaces:
Five things to notice:
- The biggest leak is Pending Invoicing ($382K). Not lost revenue, but stuck working capital. Shipping has happened, the customer is on the hook, but no Invoice means no AR record, no DSO clock, and no GL booking. The card lets the Controller drill into the Order list, filter to Department, and chase Operations to bill.
- Unmapped Customer ($58K) is real revenue at risk and dimensional metadata makes it actionable. The card surfaces that three of the six unmapped Adobe Commerce accounts belong to East Coast (Department 200), so the East Coast Operations Manager gets a single Slack ping with the list. Without dimension carry-through, the Controller would have to hand-classify each.
- Credit Memo Refunds ($114K) is policy, not error. Structural gap between gross commerce headlines and net GL booking. It will always exist; what matters is whether the rate is constant or rising. Rising means a quality, fulfilment, or pricing problem.
- Multi-Entity Routing ($24K) is unique to Intacct merchants on Multi-Entity Console. Other ERPs handle this less granularly. The card uses Intacct’s entity dimension to detect routing mismatches that would otherwise be invisible.
- **The 10K threshold on Unknown; Pending Invoicing and Credit Memos are explained gaps and do not trip the sentiment.
Sibling cards merchants should reference together
This card is the trigger; the action lives on its companions.Reconciling against the vendor’s own dashboard
Where to look in Sage Intacct: There is no single native Intacct report for this metric, that is precisely why Vortex IQ surfaces it. The closest manual approach inside Intacct is:Build an Interactive Custom Report (ICR) against the Order Entry data source filtered to documents inA Sage Intacct Implementation Partner can build this ICR in 15 minutes. Most do not, because the cross-platform comparison requires pulling commerce data manually, and the moment that happens you have lost reproducibility. Vortex IQ runs this every 15 minutes against the dimension-tagged GL. Adjacent Intacct reports that look related but are not:In ProgressorPending Approvalstates, summing Total. Then compare manually to the commerce platform’s last-30-day total revenue export.
- Sales Order Register: shows all open Orders but without commerce-side comparison.
- AR Aging: AR-based, looks at unpaid Invoices not pre-Invoice gap.
- Income Statement Trend: smooths the gap into a monthly trendline; loses the per-order traceability and the dimensional cut.
- Standard Dashboard “Sales Trend” widget: aggregated; cannot drill to commerce-order level.
Cross-connector reconciliation, the killer finding:
This card IS the cross-connector reconciliation; it has no counterpart on the commerce platforms themselves. The closest sibling on the commerce side is the Pending vs Captured Revenue card on Stripe (which catches Stripe-routed payment captures awaiting settlement) but that compares Stripe-internal state, not commerce-to-ERP.
The full audit trail with originating order IDs and dimension tags lives on Revenue Gap, Detailed Breakdown. That is the worklist; this card is the headline.
Known limitations / merchant FAQs
Should this gap ever be zero? No, and you should be suspicious if it is. A small structural gap (Pending Invoicing + Credit Memos + period-boundary timing) is healthy. Zero gap means either the connector is not pulling new commerce orders, or someone is force-closing the books before reconciliation. Aim for a stable gap that scales with revenue, with the Unknown bucket near zero. How big should the gap be vs total revenue? A typical mid-market commerce business running on Sage Intacct runs at 8 to 15% gross commerce vs net GL revenue gap inside a 30-day window:- Pending Invoicing: 3 to 8% (higher for B2B Net-30, lower for DTC).
- Credit Memo Refunds: 4 to 10% (varies by category, apparel skews high; industrial lower).
- Voided / Cancelled: 1 to 3%.
- Unknown: ideally < 0.5% of commerce gross.
Revenue Recognition Deferred in the breakdown, which is policy-correct, not a defect. SaaS-subscription merchants on Intacct Contracts will see this bucket dominate.
Multi-currency stores: does the FX Translation bucket overstate?
The bucket isolates the residual after period-average FX is applied per Intacct’s per-entity Currency Configuration. If your Multi-Entity Console runs entities in 5+ currencies, expect the FX bucket to be 0.5 to 2% of commerce gross. Anything larger usually means the field map’s FX rate source is misconfigured.
What does the alert look like in practice?
At >14K reconciliation drift this week?” with a deep-link to the breakdown card. The Controller typically resolves it in 15 to 30 minutes by mapping a missing Customer or escalating a stuck Order.
Multi-Entity Console vs single-entity: does the card behave differently?
Same logic, simpler scope. Single-entity skips the FX Translation bucket and the Multi-Entity Routing reason code. Most fields are identical.
Order vs Invoice vs Cash Receipt, where does each fit?
- Commerce order → Intacct Order: fast (minutes). If this fails, gap appears as Unmapped Customer.
- Order → Invoice: slow (hours to days). If this is stuck, gap appears as Pending Invoicing.
- Invoice → Cash Receipt application: slow (days to weeks). NOT in this card; this gap is captured by DSO.
- Refund → Credit Memo: variable. Captured as Credit Memo Refunds bucket.