Skip to main content
Card class: Cross-ChannelCategory: Ecommerce Platform
The killer reconciliation card. Shows commerce-vs-Sage Intacct gap broken down by reason, not just the dollar number.

At a glance

The killer reconciliation card for Sage Intacct merchants. Surfaces the dollar gap between commerce-platform revenue (Shopify, BigCommerce, Adobe Commerce orders) and Sage Intacct GL-booked revenue (Invoices and Cash Receipts with revenue offset posted to revenue accounts), and decomposes the gap by reason. Most US mid-market merchants on a Sage Intacct plus commerce stack discover when they first connect Vortex IQ that 1.5 to 5% of their commerce revenue never reaches Intacct, lost to sync failures, dimensional mapping errors, currency mismatches, refund-flow asymmetries, and timing differences. This card is the single biggest reason mid-market multi-platform merchants connect their Sage Intacct to Vortex IQ: it surfaces revenue leakage that no single platform can see on its own, and the dimensional decomposition (by Customer, Item, Class, Project, Department) lands the right action with the right team.
What it countscommerce_revenue (period) - sage_intacct_gl_revenue (same period, same scope), broken down by gap-cause: (1) unmapped orders (commerce orders never created an Intacct Order in Order Entry), (2) commerce-side cancellations not reflected in Intacct, (3) refund timing mismatches (Intacct recognised the Invoice; commerce processed a refund the same day, the Credit Memo posts later), (4) currency reconciliation gaps (commerce in one currency, Intacct entity in another, FX rate divergence), (5) Customer-dimension mapping mismatches (commerce treats one Customer record; Intacct’s Customer dimension lacks the link), (6) Class-dimension attribution mismatches (a Wholesale order routed to a Retail D2C Class), (7) Item-dimension mapping (a new SKU on Shopify that has no Item record in Intacct), (8) genuine sync-lag (orders <24h old not yet reflected in Intacct).
Tax treatmentVortex IQ normalises both sides to a comparable basis (typically tax-exclusive on US, tax-inclusive on UK / EU). Intacct posts US sales tax via the Tax Solution module or AvaTax to a separate liability account (typically 2200 Sales Tax Payable); the card excludes that account. Without normalisation, naive subtraction produces tax-driven false gaps.
ShippingBoth sides include shipping. Intacct’s 4900 Shipping Revenue account counts; commerce platform shipping line counts.
DiscountsBoth sides post-discount. Intacct’s Order Entry module applies trade and term discounts before the revenue line posts.
RefundsBoth sides net of refunds within the period. The timing-mismatch bucket isolates cross-period refunds where the Credit Memo posts after the period boundary.
Cancelled / voided ordersBoth sides exclude. The cancellation-mismatch bucket isolates one-side-only cancellations.
CurrencyVortex IQ converts both sides to a single comparison currency (typically the merchant’s Intacct Top Level entity reporting currency, usually USD) at the transaction-date FX rate. Multi-Entity Console accounts respect the elimination convention if the user picks the Top Level entity.
Dimensional decompositionThe unique Sage Intacct value: every gap-cause row drills by Customer, Item, Class, Project, Department, and Location dimensions. Most other ERP reconciliation cards decompose by reason only; this card decomposes by reason AND by the Intacct dimension that owns the fix.
Channels / sourcesWeb (Shopify / BigCommerce / Adobe Commerce) is the primary scope. POS, marketplace, B2B, and EDI flows can be included via manifest configuration.
Time window30D
Alert trigger>5% gap unreconciled. Healthy stores run 0 to 2% gap; >5% is a structural issue.
Rolesowner, finance, controller

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 with two entities: Vortex Distribution Inc (US, USD, the primary commerce-trading entity) and Vortex Distribution Canada (Canadian sub, CAD). BigCommerce B2B Edition on the front-end with a Shopify Plus retail D2C side-channel. The Department, Customer and Class dimensions are populated on every revenue-line. Reporting period 02 Apr 26 to 01 May 26. Reporting currency USD. Headline: 4,820,400commercerevenue(BigCommerceB2B+ShopifyD2Ccombined).4,820,400 commerce revenue (BigCommerce B2B + Shopify D2C combined). 4,612,200 Sage Intacct GL-booked revenue. Gap: $208,200 (4.3% of commerce revenue). Decomposition by reason and Intacct dimension:
Gap reasonDollar gap% of total gapOwning Intacct dimensionRecoverable?
Unmapped orders (BigCommerce orders never created an Intacct Order)$128,40061.7%Customer + ItemYes, with sync fix
Sync lag (orders <24h old not yet in Intacct)$28,20013.5%noneWill resolve naturally
Refund timing mismatch (Shopify refunded same day, Intacct Credit Memo not yet posted)$22,40010.8%CustomerReconciles on memo posting
Currency reconciliation gap (Canadian sub orders, FX timing)$14,2006.8%Location (entity)Process improvement only
Cancellation mismatch (BigCommerce-side cancel after Intacct Order created)$10,4005.0%noneProcess improvement only
Class attribution mismatch (B2B Wholesale orders routed to Retail D2C Class)$4,6002.2%ClassAudit + reclassification
Total$208,200100%
Investigation, the killer story:
  1. **The 128,400ofunmappedordersisthekillshot.86BigCommerceB2Borders,allintheperiod,thatneverproducedaSageIntacctOrderinOrderEntry.TheserepresentrevenuetheCustomerpaidfor,themerchantfulfilled,andthattheIntacctGLneverrecorded.Average128,400 of unmapped orders is the kill shot.** 86 BigCommerce B2B orders, all in the period, that never produced a Sage Intacct Order in Order Entry. These represent revenue the Customer paid for, the merchant fulfilled, and that the Intacct GL never recorded. Average 1,492 per unmapped order, indicating B2B-portal flow (typical retail D2C orders are 80to80 to 150). The Customer dimension on these orders is the diagnostic key: every unmapped order traces to a small set of Customer records whose Sage Intacct Customer dimension link is broken.
  2. Drill into the 86 unmapped orders. Vortex IQ’s sub-card Commerce Orders Without Sage Intacct Order lists them by order number, value, Customer dimension, and presumed cause. Investigation shows:
    • 52 orders failed the BigCommerce-to-Intacct sync due to a Customer-dimension mapping issue (a B2B account had two BigCommerce customer records, only one linked to the Intacct Customer record).
    • 22 orders failed because the Item dimension was not yet created in Intacct (a new product launched on BigCommerce before the Item record was mirrored across).
    • 12 orders failed due to a Location-dimension mapping error on a Canadian-Customer order that BigCommerce routed to the US entity but Intacct expected on the Canadian sub.
  3. Action and recovery, dimension by dimension:
    • Customer-dimension issue: create the missing Intacct Customer records, retroactively link the BigCommerce customer IDs through the field map, and re-run the Order creation. Recovers $78,400 of revenue into the GL within 48 hours.
    • Item-dimension issue: create the 22 Items in Intacct under the correct Department, then retroactively post the Orders and let them auto-Invoice. Recovers $36,200.
    • Location-dimension issue: fix the entity routing in the BigCommerce-to-Intacct mapping config, retroactively post the 12 Orders against the Canadian sub. Recovers $13,800.
    • Total recovery: 128,400.Synclaggapof128,400. Sync-lag gap of 28,200 will resolve naturally within 24 to 48h. Refund timing gap will reconcile when the Credit Memos post.
  4. Net financial impact:
    • The merchant was about to close month-end with a 208,200revenueunderstatementthatwouldhavebeenbookedinthenextperiod(ornever,intheunmappedordercase).TheControllerwouldhavesignedoff"Aprilrevenue:208,200 revenue understatement that would have been booked in the next period (or never, in the unmapped-order case). The Controller would have signed off "April revenue: 4,612,200” when actual completed-and-fulfilled revenue was $4,820,400.
    • Auditors and lenders typically allow up to 2% reconciling differences without a flag; this $208,200 is 4.5% of the Intacct-booked figure, which would have triggered an audit query at the next review.
  5. Long-term value: with the sync issues fixed, the merchant’s monthly gap drops from 4.3% to 0.5 to 1%. Over 12 months, that is roughly $2.4M of revenue that now lands in the Intacct GL on the day it is earned, not whenever the Implementation Partner manually reconciles, ageing 30+ days into the management accounts.
This is the merchant’s entire reason for connecting Sage Intacct to Vortex IQ. No single platform, Sage Intacct or BigCommerce or Shopify, can see this gap. Intacct sees its books and assumes they are complete. BigCommerce sees its orders and assumes they were forwarded. Only the cross-platform view surfaces the leakage. And only Sage Intacct’s dimensional model lets Vortex IQ tag each gap-row with the responsible Customer, Item, Class, Department, Location, or Project, so the recovery action goes to the right team in one read.

Sibling cards merchants should reference together

This card is the master cross-channel reconciliation for Sage Intacct merchants. The siblings drill into specific gap-causes:
CardWhy pair it with Revenue Gap Breakdown
Revenue Gap vs CommerceThe headline gap dollar; this card is the breakdown by reason and dimension.
Commerce Orders Without Sage Intacct OrderDrills into the unmapped-orders cause (typically the largest gap component).
Inventory Sync DriftDifferent gap (inventory not revenue) but same root cause: sync between commerce and Intacct broken on the Item dimension.
Revenue Gap SpikeFires when this gap suddenly widens beyond historical baseline.
Revenue Booked into GLThe Intacct-side denominator.
Revenue by EntityMulti-Entity Console: same gap broken down per entity.
shopify.total_revenueThe commerce-side numerator for Shopify-fronted stores.
bigcommerce.total_revenueSame for BigCommerce-fronted stores.

Reconciling against the vendor’s own dashboard

Where to look in Sage Intacct’s own dashboard: Sage Intacct cannot show this card on its own. Intacct’s view is of Intacct-booked revenue; it has no visibility into orders that were placed on BigCommerce / Shopify / Adobe Commerce but never reached the Intacct Order Entry module. The card is necessarily Vortex IQ-derived from joined cross-platform data. The Implementation Partner pattern on most Intacct accounts amplifies this: the Partner runs month-end reconciliation against the GL, but their visibility ends at the Intacct boundary; what arrived from the commerce side is what they reconcile against, not what was placed. To approximate manually:
Reports → Financial → Income Statement for the period (the Intacct-side denominator) Interactive Custom Report against GL Detail filtered to revenue accounts (4000-4999) for an audit-grade tie-out figure BigCommerce Admin or Shopify Admin for the gross commerce revenue numerator Subtract; investigate the gap manually by sampling a transaction list from each platform and finding orders that exist on one side but not the other
This manual process typically takes a Controller (or the Implementation Partner) 2 to 6 hours per period; Vortex IQ does it continuously and decomposes by dimension in one read. Why our number may legitimately differ from a manual cross-check:
ReasonDirectionWhy
Period boundaryEitherVortex IQ uses commerce-order date for inclusion; Intacct uses Invoice posting date. The boundary days move.
Tax basis normalisationMaterialWithout normalisation, US-tax-exclusive Intacct revenue accounts vs UK-tax-inclusive Shopify orders produces a 16-22% false gap. Vortex IQ normalises both sides.
Currency rate timingMaterialMulti-Entity Console accounts can show large false gaps from FX rate divergence between the commerce-side rate and the Intacct entity-base rate. Vortex IQ uses transaction-date FX.
Channel scopeEitherVortex IQ defaults to Web; merchants who want to include B2B-portal, EDI, or POS must configure scope explicitly.
Multi-Entity eliminationsCard lowerWhen the user filters to “Top Level with eliminations”, inter-co lines drop out. Per-entity views do not eliminate.
Revenue recognition (Contracts module)Card lowerIf the merchant runs Intacct Contracts, deferred revenue is excluded from the Intacct denominator. SaaS-adjacent or subscription-bundled commerce orders show a structural gap until the Contract releases.
Cross-connector reconciliation: This card IS the cross-connector reconciliation for Sage Intacct merchants; no further reconciliation needed beyond the per-cause sub-cards listed above. The Sage Intacct-specific value vs other ERP cross-channel reconciliation cards is the dimensional decomposition: every gap-row carries a Customer, Item, Class, Project, Department, Location, or Vendor tag, so the recovery action is targeted in one click. NetSuite’s equivalent card decomposes by reason; Sage Intacct’s decomposes by reason AND by dimension, which is the structural advantage of the Intacct data model.

Known limitations / merchant FAQs

My gap is 1.5%. Should I worry? Below 2% is healthy for most stores. Sync lag and refund-timing alone account for ~1% as a structural floor. Above 2% the gap is recoverable; investigate the largest cause first. The dimensional decomposition tells you who owns the fix: Customer dimension issues route to the AR team, Item dimension issues route to merchandising, Class dimension issues route to operations, Project dimension issues route to the project services lead. My gap is 12%. Where do I start? Drill the breakdown. If the largest cause is unmapped orders, fix the Customer / Item / Location dimension mapping in the field map. If it is tax-basis (rare with Vortex IQ but happens on custom configurations), check the normalisation. If it is currency, audit the FX-rate selection on the Currency module. The breakdown is designed to point at the cause directly, and the dimensional tagging tells you which Intacct dimension to fix. Are unmapped orders revenue I never received, or just revenue not posted to GL? The latter, usually. The Customer paid (you have the cash from the gateway, posted as a Cash Receipt against an Unidentified Customer Deposit), but the corresponding Order / Invoice was never created in Intacct, so the GL does not show the revenue. The cash sits as an Unidentified Customer Deposit until matched. Closing the loop posts the revenue, the AR, and the cash application. Why does my BigCommerce B2B Edition contribute to the gap? Because BigCommerce B2B Edition uses a different webhook surface than the standard storefront, and many sync configurations only cover the storefront flow. B2B Edition orders bypass the integration unless explicitly configured. The same pattern affects Shopify Plus B2B and Adobe Commerce B2B. Configure the B2B-channel webhook explicitly and the Customer dimension link from the B2B portal to the Intacct Customer record. My gap was 0.5% last month and is now 4.2%. What changed? A sync regression. Three usual causes: (1) a credential expired (Intacct Web Services User password rotated, sync failed silently); (2) the Implementation Partner pushed a Chart of Accounts change that broke the Item dimension link; (3) a tax-rate change pushed orders into a US ZIP-code or Canadian postal-code bucket the Intacct tax mapping does not cover. Open Revenue Gap Spike Alert for the timestamp the gap started growing; cross-reference deployments / Intacct customisations / BigCommerce or Shopify settings around that time. The gap shows $20,000 of refund timing. Is that a problem? Not within the same period; the Credit Memo will post on the standard Intacct workflow within hours / days and the gap closes. If the timing-mismatch persists across period-close, it does become a problem (the merchant looks more profitable than they are during the closing window). Most Controllers tolerate sub-1% timing-mismatch through the period and clear it at close. Can I see this gap by Item, Customer, Class, or Project? Yes via Ask Viq: “show me the revenue gap broken down by top 20 Items” or “by top 10 Customers” or “by Project dimension”. The Sage Intacct dimensional model means every gap-row has a complete dimensional tag, so any cut is one query away. This is the structural advantage over NetSuite or Acumatica: dimensional pivots are first-class on Intacct, not custom-record-bound. Does this card include POS revenue? Configurable. Default is web only. POS revenue (Shopify POS, Square, Lightspeed) can be included if it routes through Intacct via Cash Receipts with revenue offset, but POS-vs-Intacct reconciliation has its own characteristic patterns (much higher cash-vs-card mix, Location-dimension attribution flows). Most merchants run POS reconciliation as a separate report. My Multi-Entity Console account: per-entity gap? Yes via Ask Viq: “show revenue gap by entity”. Particularly useful when one entity’s commerce-Intacct sync is healthier than another’s; the gap is rarely uniform. The Canadian sub in the Worked Example showed a higher gap than the US parent because the BigCommerce-to-Intacct entity routing logic was incomplete; that finding lands in one click. Sage Intacct Contracts and Revenue Management: how does the Contracts module affect the gap? The Contracts module recognises revenue over the contract life rather than at billing. For physical commerce orders that are not in a Contract, this has no effect. For SaaS subscriptions, annual replenishment plans, extended warranties, or services bundles, the commerce-side total may include the full annual fee while Intacct only recognises 1/12 in the period. The card detects this pattern and surfaces it as a separate “Contracts deferral” reason if the workspace has the Contracts module enabled. The gap dropped to zero. Should I trust it? Almost always. A consistent zero across multiple consecutive periods + no sync-error logs = healthy. Spurious zeros (gap was 3% then drops to 0% with no fix) are rare but can indicate a measurement bug; verify by sampling the underlying transactions. How is this different from a standard Intacct reconciliation report? Intacct reconciliation reports compare Intacct to Intacct data (entity-pair, AR vs cash, etc) or run AR aging cuts. This card compares Intacct to commerce platform. Intacct has no native concept of “what does my BigCommerce say happened that Intacct does not show?” because Intacct does not know what BigCommerce shows. The cross-platform view is the unique Vortex IQ contribution; the Implementation Partner’s reconciliation pack typically misses it entirely because the Partner’s view ends at the Intacct boundary. Sage Intacct vs NetSuite on this card? The arithmetic is the same: commerce gross minus ERP-booked, decomposed by reason. The Intacct advantage is the dimensional decomposition. NetSuite’s gap card decomposes by reason; Sage Intacct’s decomposes by reason and by dimension simultaneously. For a merchant whose unmapped-orders cause is concentrated in one Customer cohort, one Item launch, or one Project, the Intacct dimensional read makes the recovery action a single click rather than a saved-search-build exercise.

Tracked live in Vortex IQ Nerve Centre

Revenue Gap, Detailed Breakdown is one of hundreds of KPI pulses Vortex IQ tracks across Sage 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.