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

At a glance

Per-order audit trail of every commerce order vs its corresponding BC Sales Order or Posted Sales Invoice. Each row carries the commerce platform Order ID, the BC SO Number (or absent flag), the gap amount, and the reason code. This is the BC Functional Consultant’s daily worklist.
What it countsFor every commerce order in the window: cross-references the BC salesOrders and salesInvoices OData collections by External Document No. (or workspace-mapped commerce order ID). Each unmatched, partially-matched, or refund-mismatched pair becomes a row with reason code: Released-Not-Invoiced, Voided, Sales Credit Memo, Unmapped Customer, Period Boundary, FX Translation, Tax Reclassification, Unknown.
VAT / tax treatmentPer-row, both sides normalised to net-of-tax.
ShippingReconciled per row. Mismatch flagged as a sub-reason.
CurrencyPer-row, both sides translated to Reporting Currency at the same period-average rate.
Multi-CompanyEach row carries the BC Company Name. Rows can be filtered by Company.
Output formatCSV-exportable table with: commerce order ID, customer name, order date, commerce gross, BC SO Number, BC posted amount, gap amount, reason, suggested action, age.
Time window30D (the same window as Revenue Gap vs Commerce, the headline)
Alert trigger>5% gap unreconciled (same as the headline card)
Rolesowner, finance

Calculation

Calculated automatically from your Microsoft Dynamics 365 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 BC, BigCommerce B2B + Shopify Plus DTC. 30-day window 14 Mar 26 to 12 Apr 26. Headline gap: $680,000. The breakdown table:
Commerce Order IDCustomerCommerce GrossBC SO NumberBC AmountGapReasonSuggested ActionAge
BC-PO-2284912Acme Tech Distribution$84,200SO-208441$0$84,200Released-Not-InvoicedPost Sales Invoice (shipped 2 Apr 26)12 days
BC-PO-2284866NorthEast Components$42,400SO-208533$0$42,400Released-Not-InvoicedPost Invoice (partial ship)9 days
BC-PO-2284733RegionalTechCo$28,800SO-208612$0$28,800Pending Approval >72hrsEscalate to Finance Director7 days
SH-#10044128DTC Customer 0044128$284(none)$0$284Unmapped CustomerCreate BC Customer record2 days
BC-PO-2284601DeltaCorp Industries$14,800SO-208702$0$14,800Customer.Blocked = ShipRelease credit hold14 days
ADC-PO-44821Wholesale-X$18,400(none)$0$18,400Unmapped CustomerAL Connector mapping issue21 days
SH-#10044211Returned-Order$-440SCM-2241$-440$0Sales Credit Memo (matched)Nonen/a
… 247 more rows …
Five things to notice:
  1. The top 6 rows account for 188,884(28188,884 (28%) of the total 680K gap. The Pareto principle holds: a small number of high-value stuck orders concentrate the financial pain. The Controller’s daily routine starts at the top of this list.
  2. Three orders are stuck > 12 days. The DeltaCorp credit hold is 14 days old, the Wholesale-X unmapped customer is 21 days old. These are red-flag cases needing escalation to senior management.
  3. Sales Credit Memo SCM-2241 is correctly matched. The card filters this row out of the gap calculation; the original order shows the offsetting refund. Showing matched rows in the table at all is a deliberate audit feature: the Controller can search for any commerce order ID and see the BC counterpart.
  4. CSV export is the primary use mode. The Controller exports the full table at 8am Monday, sorts by gap descending, and assigns rows to operators by reason: stuck-Invoice queue → AR clerk; unmapped-customer queue → BC Functional Consultant; credit-hold queue → CFO conversation.
  5. Trend over weeks shows process health. When the merchant first onboarded Vortex IQ, this table had 712 rows and 1.2Mgap.After3monthsofdailyworklist,itsitsat247rowsand1.2M gap. After 3 months of daily worklist, it sits at 247 rows and 680K, with the residual being structural (Net-30 ship-to-bill lag) not preventable. Healthy steady-state.

Sibling cards merchants should reference together

CardWhy pair it with Revenue Gap, Detailed Breakdown
Revenue Gap vs CommerceThe headline; this card is the drill-down.
Commerce Orders Without BC Sales OrderSpecifically the Unmapped Customer subset.
Sales Orders BlockedReleased-Not-Invoiced + Credit Hold rows.
Revenue Booked into GLThe BC denominator.
Sales Credit Memo ValueMatched-CM rows lineage.
Revenue Gap Spike AlertFires when this table grows.
SO to Invoice Lead TimeDiagnoses the structural Released-Not-Invoiced lag.

Reconciling against the vendor’s own dashboard

Where to look in Business Central: There is no equivalent in BC because the join (commerce → BC) cannot be made inside BC alone. The closest BC-side worklist is:
Sales > Sales Orders filtered to External Document No. IS NOT BLANK + Status = Released AL Extension connector logs (Search > “Connection Setup” or your custom AL connector log page) Customer List > Filter to Customer.Privacy Blocked = TRUE for unmapped attempts
The card does in 15 minutes what a BC Functional Consultant + Excel takes 4 hours per week to compile. Why our list may legitimately differ from a manual export:
ReasonDirectionWhy
External Document No. mappingMaterialCard uses workspace-configured commerce ID field. If the AL Extension stores commerce ID in a custom field, the field map needs the override.
Period boundaryCard more inclusiveOrders straddling the period appear with their commerce-side date; manual exports may be inconsistent.
Sales Credit Memo matchingCard matches automaticallyManual exports often miss the Credit Memo offset.
OData freshnessCard 15 min behindLive BC view is real-time; card is up to 15 minutes stale.
Cross-connector reconciliation: This card IS the cross-connector reconciliation. The column “Reason” classifies each row. The Controller’s job is to drive the table to the structural minimum (Net-30 ship-to-bill rows only).

Known limitations / merchant FAQs

Can I export this to Excel for the weekly close? Yes, CSV export is the primary use mode. Some merchants schedule a Power Automate flow to email the export to the AR team every Monday at 7am. How does the join work between commerce order and BC SO? By default via External Document No. on the BC Sales Header. The AL Extension connector typically populates this with the commerce platform’s order ID at SO creation. If your connector uses a custom field, the field map needs the override. What happens when a commerce order generates multiple BC SOs (split shipment)? The card aggregates BC-side rows by External Document No. and shows the sum vs the commerce gross. Sub-rows can be expanded. Does this work with multiple commerce platforms simultaneously? Yes. Each row carries the commerce platform code (Shopify, BigCommerce, Adobe Commerce, marketplace). A single BC SO can match a single commerce order; cross-platform consolidation is on the headline card. How are returns matched? A commerce return generates a Sales Credit Memo in BC. The card matches by commerce return ID → BC SCM External Document No.. Matched returns drop out of the gap; unmatched ones (return processed in commerce but no SCM in BC) appear with reason Sales Credit Memo Pending. Privacy and data retention? Customer names are pulled from BC. The card respects Customer.Privacy Blocked = TRUE; flagged customers show as [Privacy Blocked] in exports. Multi-Company: same commerce order in two Companies? Possible if a customer’s order is split across Companies (e.g. UK ships partial, US ships partial). Each Company-side row appears separately with a shared commerce order ID; the gap is computed against the prorated commerce amount. AL Extension connector errors: do they show here? Yes if the connector logs the error against an attempted SO creation. Reason AL Connector Error carries the error message.

Tracked live in Vortex IQ Nerve Centre

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