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

At a glance

The killer reconciliation card. Surfaces the dollar gap between commerce-platform revenue (Shopify, BigCommerce, Adobe Commerce orders) and NetSuite-booked revenue (Invoices posted to GL), and decomposes the gap by reason. Most merchants on a NetSuite + commerce stack discover when they first connect Vortex IQ that 1.5 to 5% of their commerce revenue never reaches NetSuite, lost to sync failures, mapping errors, currency mismatches, refund-flow asymmetries, and timing differences. This card is the single biggest reason mid-market multi-platform merchants connect their NetSuite to Vortex IQ: it surfaces revenue leakage that no single platform can see on its own.
What it countscommerce_revenue (period) - netsuite_invoiced_revenue (same period, same scope), broken down by gap-cause: (1) unmapped orders (commerce orders never created an NS SO), (2) commerce-side cancellations not reflected in NS, (3) refund timing mismatches (NS recognised the invoice; commerce processed a refund the same day), (4) currency reconciliation gaps (commerce in one currency, NS in another, FX rate divergence), (5) channel-attribution mismatches (commerce treats one channel; NS attributes another), (6) genuine sync-lag (orders <24h old not yet reflected in NS).
VAT / tax treatmentVortex IQ normalises both sides to a comparable basis (typically tax-inclusive on UK / EU, tax-exclusive on US). Without normalisation, naive subtraction produces tax-driven false gaps.
ShippingBoth sides include shipping.
DiscountsBoth sides post-discount.
RefundsBoth sides net of refunds within the period (the timing-mismatch bucket isolates cross-period refunds).
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 NS consolidation currency) at the transaction-date FX rate.
Channels / sourcesWeb (Shopify / BC / Adobe) 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 NetSuite 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 UK omnichannel apparel brand on NetSuite OneWorld, Shopify Plus on the front-end. Reporting period 02 Apr 26 to 01 May 26. Headline: £4,820,400 commerce revenue (Shopify), £4,612,200 NetSuite invoiced revenue. Gap: £208,200 (4.3% of commerce revenue). Decomposition:
Gap reasonDollar gap% of total gapRecoverable?
Unmapped orders (Shopify orders never created NS SO)£128,40061.7%Yes, with sync fix
Sync lag (orders <24h old not yet in NS)£28,20013.5%Will resolve naturally
Refund timing mismatch (Shopify refunded same day, NS not yet posted credit memo)£22,40010.8%Reconciles on memo posting
Currency reconciliation gap (multi-currency Shopify checkouts, FX timing)£14,2006.8%Process improvement only
Cancellation mismatch (Shopify-side cancel after NS SO created)£10,4005.0%Process improvement only
Channel attribution mismatch (B2B portal orders treated differently)£4,6002.2%Audit + reclassification
Total£208,200100%
Investigation, the killer story:
  1. The £128,400 of unmapped orders is the kill shot. 86 Shopify orders, all in the period, that never produced a NetSuite Sales Order. These represent revenue the customer paid for, the merchant fulfilled, and that the GL never recorded. Average £1,492 per unmapped order, indicating B2B-portal flow (typical retail orders are £80 to £150).
  2. Drill into the 86 unmapped orders. Vortex IQ’s sub-card Commerce Orders Without NetSuite SO lists them by order number, value, and presumed cause. Investigation shows:
    • 52 orders failed the Shopify-to-NetSuite sync due to a customer-mapping issue (a B2B account had two Shopify customer records, only one mapped to NS).
    • 22 orders failed because the SKU was not yet created in NetSuite (a new product launched on Shopify before the SKU was mirrored to NS).
    • 12 orders failed due to a tax-rate mapping error on a UK regional postcode.
  3. Action and recovery:
    • Customer-mapping issue: create the missing NS customer records, retroactively map Shopify customer IDs, and re-run the SO creation. Recovers £78,400 of revenue into the GL within 48 hours.
    • Missing SKUs: create the 22 SKUs in NS, retroactively post the SOs. Recovers £36,200.
    • Tax-rate error: fix the postcode mapping, retroactively post the 12 SOs. Recovers £13,800.
    • Total recovery: £128,400. Sync-lag gap of £28,200 will resolve naturally within 24 to 48h. Refund timing gap will reconcile when the memos post.
  4. Net financial impact:
    • The merchant was about to close month-end with a £208,200 revenue understatement that would have been booked in the next period (or never, in the unmapped-order case). The CFO 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 NS-booked figure, which would have triggered an audit query.
  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 £2.4m of revenue that now lands in the GL on the day it is earned, not whenever the controller manually reconciles, ageing 30+ days.
This is the merchant’s entire reason for connecting NetSuite to Vortex IQ. No single platform, NetSuite or Shopify, can see this gap. NetSuite sees its books and assumes they are complete. Shopify sees its orders and assumes they were forwarded. Only the cross-platform view surfaces the leakage.

Sibling cards merchants should reference together

This card is the master cross-channel reconciliation. 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.
Commerce Orders Without NetSuite SODrills 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 NS broken.
Revenue Gap Spike AlertFires when this gap suddenly widens.
Revenue Booked into GLThe NetSuite-side denominator.
shopify.total_revenueThe commerce-side numerator.
bigcommerce.total_revenueSame for BigCommerce-fronted stores.
adobe_commerce.total_revenueSame for Adobe Commerce-fronted stores.

Reconciling against the vendor’s own dashboard

Where to look in NetSuite’s own dashboard: NetSuite cannot show this card on its own. NetSuite’s view is of NetSuite-booked revenue; it has no visibility into orders that were placed on Shopify but never reached NS. The card is necessarily Vortex IQ-derived from joined cross-platform data. To approximate manually:
  1. NS Saved Search: sum of Invoiced Revenue for the period.
  2. Shopify Admin: sum of revenue from Orders Report for the same period.
  3. 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 2 to 6 hours per period; Vortex IQ does it continuously. Why our number may legitimately differ from a manual cross-check:
ReasonDirectionWhy
Period boundaryEitherVortex IQ uses commerce-order date for inclusion; NS uses Invoice tranDate. The boundary days move.
Tax basis normalisationMaterialWithout normalisation, US-tax-exclusive NS vs UK-tax-inclusive Shopify produces a 16-22% false gap. Vortex IQ normalises both sides.
Currency rate timingMaterialMulti-currency stores can show large false gaps from FX rate divergence. Vortex IQ uses transaction-date FX.
Channel scopeEitherVortex IQ defaults to Web; merchants who want to include B2B-portal must configure scope explicitly.
Cross-connector reconciliation: This card IS the cross-connector reconciliation; no further reconciliation needed beyond the per-cause sub-cards listed above.

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. My gap is 12%. Where do I start? Drill the breakdown. If the largest cause is unmapped orders, fix the customer/SKU mapping. If it’s tax-basis (rare with Vortex IQ but happens on custom configurations), check the normalisation. If it’s currency, audit the FX-rate selection. The breakdown is designed to point at the cause directly. 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), but the corresponding Sales Order/Invoice was never created in NS, so the GL doesn’t 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 Shopify B2B portal contribute to the gap? Because Shopify Plus B2B uses different webhooks than the standard Shopify storefront, and many sync configurations only cover the storefront flow. B2B orders bypass the integration unless explicitly configured. My gap was 0.5% last month and is now 4.2%. What changed? A sync regression. Three usual causes: (1) a credential expired (NetSuite TBA token rotated, sync failed silently); (2) a NS workflow customisation broke the SO-create path; (3) a Shopify tax-rate change pushed orders into a postcode bucket the NS tax mapping doesn’t cover. Open Revenue Gap Spike Alert for the timestamp the gap started growing; cross-reference deployments / NS customisations / Shopify settings around that time. The gap shows £20,000 of refund timing. That means I refunded a customer but my GL still shows the revenue. Is that a problem? Not within the same period; the credit memo will post on the standard NS 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 SKU or by customer? Yes via Ask Viq: “show me the revenue gap broken down by top 20 SKUs” or “by top 10 customers”. Useful when the gap concentrates in a small product set or a small customer set; the latter typically points at customer-mapping issues. Does this card include POS revenue? Configurable. Default is web only. POS revenue (if going through Shopify POS) can be included, but POS-vs-NS reconciliation has its own characteristic patterns (much higher cash-vs-card mix, location-attribution flows). Most merchants run POS reconciliation as a separate report. My OneWorld account: per-subsidiary gap? Yes via Ask Viq: “show revenue gap by subsidiary”. Particularly useful when one subsidiary’s commerce-NS sync is healthier than another’s; the gap is rarely uniform. 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 NS reconciliation report? NS reconciliation reports compare NS to NS data (subsidiary-pair, AR vs cash, etc). This card compares NS to commerce platform. NS has no native concept of “what does my Shopify say happened that NetSuite doesn’t show?” because NS doesn’t know what Shopify shows. The cross-platform view is the unique Vortex IQ contribution.

Tracked live in Vortex IQ Nerve Centre

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