Skip to main content
Card class: Cross-ChannelCategory: Ecommerce Platform
SKUs whose on-hand count differs between Business Central (system of record) and commerce platform. Sync-failure detector.

At a glance

SKUs whose on-hand quantity differs between Business Central (system of record) and the commerce platform’s inventory feed. Sync-failure detector. Each row shows BC qty, commerce qty, drift, and likely cause.
What it countsFor each Item synced to a commerce platform: BC.Inventory minus Commerce.Available per Location/Variant. Rows with absolute drift > 5 units OR > 10% of BC inventory appear.
Direction mattersBC > Commerce: oversold risk (commerce sells what BC says is gone). BC < Commerce: lost-sale risk (commerce shows out-of-stock when BC has it).
ReservationsBC counts available inventory net of Reservations; commerce platforms count available; the comparison is apples-to-apples.
In-Transit handlingTransfer-pending stock can show as available on BC but not synced; configurable.
Multi-LocationCard supports per-Location vs per-commerce-fulfilment-location mapping.
OData freshnessBC quantities pulled every 5 minutes; commerce platform inventory polled every 10 to 15 minutes (varies by platform API rate limits).
Time windowRT (real-time snapshot)
Alert triggerany SKU drift >5 units (or 10%, whichever larger) for >24 hours
Sentiment keyinventory_drift
Rolesowner, operations

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 UK omnichannel apparel brand on BC + Shopify Plus + BigCommerce B2B. Snapshot 14 Apr 26.
SKUVariantBC qtyShopify qtyDriftDirectionLikely cause
APPAR-DRES-NVYSize S08-8BC < CommerceShopify still showing Q1 stock that already shipped
APPAR-COAT-WINSize XL140+14BC > CommerceShopify out-of-stock signal failed to refresh
APPAR-BAG-VELPink3218+14BC > CommerceBigCommerce sync stalled 3 days ago
APPAR-SCRF-WOLCheck06-6BC < CommerceOversold risk
APPAR-SHIR-PRPSize M2412+12BC > CommerceShopify lost-sale risk on inventory level threshold
Top 5
Five things to notice:
  1. Two SKUs (Navy Dress, Wool Scarf) are oversold-risk: BC has zero, Shopify shows 14 units available. Customers can place orders the warehouse cannot fulfil. Action: pull Shopify inventory level via API, set to BC’s zero, refund any pending orders on these SKUs.
  2. Three SKUs are lost-sale-risk: BC has stock, commerce shows zero or low. Customers see “out of stock” and abandon. Most painful is APPAR-COAT-WIN at 14 units BC stock + 0 Shopify; if this SKU has any traffic, it is wasted.
  3. APPAR-BAG-VEL has 14 units drift on BigCommerce, sync stalled 3 days. Likely cause: BigCommerce API rate limit hit, the AL Extension connector logged retries but never recovered. Vortex IQ’s row carries the connector log timestamp.
  4. The pattern (BC > Commerce on multiple SKUs) suggests a connector-wide stall, not per-SKU error. Action: BC Functional Consultant to restart the AL Extension; one fix resolves all five rows.
  5. Cross-connector finding: of the lost-sale-risk SKUs, APPAR-COAT-WIN is being actively advertised on Google Shopping. The lost sale is funded by ad spend. See Dead Stock with Active Ad Spend for the inverse case (dead stock + ads); this case is even worse (live stock + ads + commerce showing OOS).

Sibling cards merchants should reference together

CardWhy pair it with Inventory Sync Drift
Total Inventory ValueThe BC-side denominator.
OOS with SO DemandCross-connector: drifted-low SKUs with confirmed demand.
Dead Stock with Active Ad SpendCross-connector: drifted-high SKUs with ads.
Low Stock AlertsBC-side stock warnings.
Commerce Orders Without BC SOSame root cause family: connector misalignment.

Reconciling against the vendor’s own dashboard

Where to look in Business Central:
Item Card > Inventory tile (BC-side qty) AL Extension Connector Logs (last sync timestamp per Item) Commerce platform admin (Shopify Inventory, BigCommerce Catalog, Adobe Commerce Stock)
There is no native “drift” view; the comparison is necessarily cross-platform. The card is the only systematic check. Why our list may legitimately differ from a manual spot-check:
ReasonDirectionWhy
Sync timingCard 5-15 min behind realityIf a sale just happened on commerce but BC has not posted yet, drift appears transiently.
Variant mappingEitherCommerce variants must map to BC Variants. Mis-mapped variants show as drift.
Multi-Location to fulfilment-locationEitherIf commerce platform has multiple fulfilment locations, each must map to BC Locations explicitly.
Reservation handlingNoneBoth sides handle reservations consistently.
Cross-connector reconciliation: This IS the cross-connector reconciliation. Other connectors do not see the drift dimension.

Known limitations / merchant FAQs

What is an acceptable drift threshold? Default: 5 units OR 10% of BC inventory, whichever is larger. Tunable per workspace. High-velocity DTC stores often loosen to 10 units / 20% to reduce noise; low-volume B2B tightens. Why does drift appear and disappear? Sync lag. The connector polls every 10 to 15 minutes. A sale just placed in commerce shows transient drift until next sync. The card waits 24 hours before alerting to suppress this noise. Can Vortex IQ auto-fix the drift? Not yet. Auto-fix requires writing back to commerce (push BC qty as the truth) which is a high-risk action. Roadmap: AI OS Action Engine with safe push for specific drift types. My commerce platform shows zero stock; BC has 14 units. The customer cannot order. Why? Connector failed to push the latest BC qty to commerce. Pull the connector’s last sync timestamp from the AL Extension log; if > 1 hour, force a manual sync. If chronic, escalate to the AL connector vendor. My commerce platform shows 8; BC has zero. Customers are placing orders we cannot fulfil. Oversold risk. Most painful case. Action: pull commerce qty to zero immediately (BC is truth), refund any pending oversold orders, investigate why commerce did not deplete on the last sale. Multi-Location: does drift compare per Location? Yes if the field map specifies the Location-to-fulfilment-location mapping. If unmapped, the card aggregates BC stock across Locations and compares to commerce total. Variant explosion: 200 SKUs × 12 variants = many drift rows. How to manage? The card sorts by absolute drift descending so the most material rows surface. CSV export plus filter in Excel. Most merchants find < 5% of variants drift on any given day. Does this card help diagnose AL Extension connector health? Yes indirectly. If many SKUs drift simultaneously, the connector is stalled. The first action is to restart the AL Extension job in BC, not to fix individual SKUs.

Tracked live in Vortex IQ Nerve Centre

Inventory Sync Drift 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.