> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vortexiq.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# SKUs with D365-vs-Ecom Inventory Drift >5%, Microsoft Dynamics 365

> SKUs with D365-vs-Ecom Inventory Drift >5%: items whose on-hand count differs between Business Central (system of record) and the commerce platform. Sync-failure detector. How to read it, why it matters, and how to act on it.

**Metrics type:** [Cross-Platform Metrics](/nerve-centre/overview#metrics-types-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

> 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 counts**      | For 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 matters**   | BC > Commerce: oversold risk (commerce sells what BC says is gone). BC \< Commerce: lost-sale risk (commerce shows out-of-stock when BC has it).                               |
| **Reservations**        | BC counts available inventory net of Reservations; commerce platforms count available; the comparison is apples-to-apples.                                                     |
| **In-Transit handling** | Transfer-pending stock can show as available on BC but not synced; configurable.                                                                                               |
| **Multi-Location**      | Card supports per-Location vs per-commerce-fulfilment-location mapping.                                                                                                        |
| **OData freshness**     | BC quantities pulled every 5 minutes; commerce platform inventory polled every 10 to 15 minutes (varies by platform API rate limits).                                          |
| **Time window**         | `RT` (real-time snapshot)                                                                                                                                                      |
| **Alert trigger**       | `any SKU drift >5 units` (or 10%, whichever larger) for >24 hours                                                                                                              |
| **Sentiment key**       | `inventory_drift`                                                                                                                                                              |
| **Roles**               | owner, 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.

| SKU            | Variant | BC qty | Shopify qty | Drift | Direction      | Likely cause                                        |
| -------------- | ------- | ------ | ----------- | ----- | -------------- | --------------------------------------------------- |
| APPAR-DRES-NVY | Size S  | 0      | 8           | -8    | BC \< Commerce | Shopify still showing Q1 stock that already shipped |
| APPAR-COAT-WIN | Size XL | 14     | 0           | +14   | BC > Commerce  | Shopify out-of-stock signal failed to refresh       |
| APPAR-BAG-VEL  | Pink    | 32     | 18          | +14   | BC > Commerce  | BigCommerce sync stalled 3 days ago                 |
| APPAR-SCRF-WOL | Check   | 0      | 6           | -6    | BC \< Commerce | Oversold risk                                       |
| APPAR-SHIR-PRP | Size M  | 24     | 12          | +12   | BC > Commerce  | Shopify 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](/nerve-centre/kpi-cards/microsoft-dynamics/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

| Card                                                                                                                             | Why pair it with Inventory Sync Drift                    |
| -------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------- |
| [Total Inventory Value](/nerve-centre/kpi-cards/microsoft-dynamics/msd-total-inventory-value)                                    | The BC-side denominator.                                 |
| [OOS with SO Demand](/nerve-centre/kpi-cards/microsoft-dynamics/oos-with-open-sales-order-demand)                                | Cross-connector: drifted-low SKUs with confirmed demand. |
| [Dead Stock with Active Ad Spend](/nerve-centre/kpi-cards/microsoft-dynamics/dead-stock-with-active-ad-spend)                    | Cross-connector: drifted-high SKUs with ads.             |
| [Low Stock Alerts](/nerve-centre/kpi-cards/microsoft-dynamics/low-stock-alerts)                                                  | BC-side stock warnings.                                  |
| [Commerce Orders Without BC SO](/nerve-centre/kpi-cards/microsoft-dynamics/commerce-orders-without-business-central-sales-order) | Same 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:**

| Reason                                    | Direction                    | Why                                                                                               |
| ----------------------------------------- | ---------------------------- | ------------------------------------------------------------------------------------------------- |
| **Sync timing**                           | Card 5-15 min behind reality | If a sale just happened on commerce but BC has not posted yet, drift appears transiently.         |
| **Variant mapping**                       | Either                       | Commerce variants must map to BC Variants. Mis-mapped variants show as drift.                     |
| **Multi-Location to fulfilment-location** | Either                       | If commerce platform has multiple fulfilment locations, each must map to BC Locations explicitly. |
| **Reservation handling**                  | None                         | Both 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](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
