Skip to main content
Card class: Non-HeroCategory: Ecommerce Platform

At a glance

Anomaly alert that fires when the cross-channel revenue gap (commerce vs NetSuite) widens by more than 20% month-over-month. The trigger threshold is the rate of change, not the absolute level. A merchant with a stable 1.5% gap that suddenly jumps to 2% may not breach the absolute alert thresholds but the +33% growth rate is the meaningful signal: something in the sync flow regressed.
Trigger thresholdgap_dollars(this_30D) > 1.20 × gap_dollars(prior_30D) AND gap_dollars > $5,000 floor (configurable). The dollar floor exists to suppress false-positives on small merchants where small absolute moves create big % moves.
Signal interpretationA +20% MoM widening of the gap typically points at a sync regression: credential expiry (auth token rotation), API rate-limit lockout, NetSuite workflow customisation deployed that started rejecting SO creates, or a Shopify-side payload change. Less commonly: a genuine business change (a new EDI customer onboarded that uses a flow not in the sync).
Recommended action(1) Open Revenue Gap, Detailed Breakdown to identify which gap-cause grew. (2) Open Commerce Orders Without NetSuite SO to see the unmapped orders driving the gap. (3) Cross-reference deployment / configuration timestamps from the period to find the regression. (4) Triage the underlying cause; resolution is typically 30 to 90 minutes for sync issues.
Time window30D vsP
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 US wholesale distributor on NetSuite + BigCommerce. The alert fired on Monday morning 04 May 26. Alert payload:
MetricThis 30DPrior 30DDelta
Commerce revenue (BC)$9,420,000$8,820,000+6.8%
NetSuite invoiced revenue$8,920,000$8,710,000+2.4%
Gap$500,000$110,000+354%
Gap as % of commerce5.3%1.2%+4.1 pts
Investigation chain:
  1. Open Revenue Gap Breakdown: 78% of the gap growth attributed to “Unmapped orders” cause. 240 BC orders in the period have no NS SO.
  2. Open Commerce Orders Without NetSuite SO: the 240 orders cluster on dates 27 Apr 26 to 04 May 26 (8 days).
  3. Open the integration deployment log: a NetSuite Token-Based Authentication credential rotated on 27 Apr 26 (annual policy). The BigCommerce-NetSuite middleware cached the old token; every SO-create call has 401’d silently for 8 days.
  4. Resolution: rotate the middleware’s NS credential; force-retry SO creation on the 240 orders. Time to fix: 45 minutes including verification.
  5. Recovery: 500,000ofrevenuepoststotheGLwithin2hours.Periodcloseon30Apr26closesaccuratelyratherthan500,000 of revenue posts to the GL within 2 hours. Period-close on 30 Apr 26 closes accurately rather than 500k short.
Why this alert wins: without the spike alert, the controller would have caught the gap at month-end close on 05 May 26, after the period had locked. The alert fires within 24h of the regression starting, giving 5 to 8 days of recovery time.

Sibling cards merchants should reference together

CardWhy pair it with Revenue Gap Spike
Revenue Gap, Detailed BreakdownThe diagnostic drill: which cause grew?
Commerce Orders Without NetSuite SOThe order list driving the gap.
Revenue Gap vs CommerceThe headline gap.
Revenue Booked into GLThe NS-side denominator.

Reconciling against the vendor’s own dashboard

This is an alert card; it does not reconcile to a NetSuite-native dashboard. The underlying gap measurement reconciles against the cross-platform sum of commerce revenue + NS invoiced revenue (see Revenue Gap, Detailed Breakdown for the reconciliation methodology). Trigger sensitivity: the +20% MoM threshold is tunable. Some merchants prefer +10% (more sensitive, more noise); others +50% (only catastrophic regressions). Tune to merchant tolerance and false-positive rate.

Known limitations / merchant FAQs

The alert fires monthly even though my gap is stable. Why? Likely a small-base distortion. If your gap dollars are in the 500to500 to 2,000 range, normal noise can produce 20%+ swings. Raise the floor threshold to 5,000or5,000 or 10,000. The alert fires but I find no regression. What gives? Two possibilities: (1) a genuine business change (new sales channel onboarded that uses an unsynced flow); investigate and update the manifest. (2) Seasonal or cyclical effect (end-of-quarter EDI batch from a major retailer that always lands on day-30); add seasonality suppression. Can I get this alert via email / Slack / Teams? Yes. Vortex IQ supports webhook-based notifications for any alert. Configure in Settings > Notifications. The alert is too sensitive; I want only spikes >50% MoM. Configurable per merchant. Update the threshold in the manifest. Multiple subsidiaries: do they alert separately? Yes. Each subsidiary’s gap is computed independently. Alerts route to the relevant regional finance team. My alert has been firing for 3 months with no resolution. What does that mean? Persistent firing means the gap continues to widen each month. Either the underlying sync issue is unresolved (most likely), or a new cause emerges each month (rare but possible). Triage with Revenue Gap, Detailed Breakdown. Does this fire on the unmapped-orders count or the dollar gap? Dollar gap. A lot of small unmapped orders might breach an unmapped-orders count alert without breaching this dollar one; that lives separately. I can’t reproduce the gap when I check NS manually. Why does the alert fire? Because the gap is the cross-channel diff, which can’t be reproduced by looking at NS alone. The alert is correct; the manual NS view is incomplete.

Tracked live in Vortex IQ Nerve Centre

Revenue Gap Spike 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.