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

At a glance

Materials whose on-hand quantity differs between S/4HANA Cloud (the financial and operational system of record) and the commerce platform’s storefront-side inventory display. Sync-failure detector. Each row shows the SAP quantity, the commerce-side quantity, the drift in units, and the affected commerce platforms.
What it countsFor each material mapped between SAP and a commerce platform, compare MARC.LABST (SAP plant-level on-hand) to the commerce-platform’s inventory_quantity (or equivalent). Drift = absolute difference in units. Card flags drift > 5 units (configurable).
Tax treatmentn/a, this is a unit-count comparison.
Shippingn/a.
Discountsn/a.
Refundsn/a.
Cancelled / voided ordersOpen Sales Documents reduce SAP-side available-to-promise; commerce platforms typically reflect this in their displayed inventory. The card uses unrestricted on-hand (LABST) by default; configurable to ATP.
Currencyn/a.
Plant / Channel scopePer plant per commerce platform.
Time windowRT
Alert triggerany SKU drift >5 units
Rolesowner, operations

Calculation

Calculated automatically from your SAP 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 enterprise B2B distributor on S/4HANA Cloud. Snapshot 03 May 26. Headline: 38 materials with drift > 5 units across 3 commerce platforms. Estimated lost-sale exposure: $84,000 if drift causes inability to fulfil. Top 8 drift cases:
MaterialPlant (SAP)Commerce platformSAP qtyCommerce qtyDriftDrift dirLikely cause
MAT-A231010Shopify Plus14222078Commerce overstatedSync delayed; SAP shipped stock not reflected on Shopify
MAT-B411010BigCommerce84084Commerce understatedWebhook lost when SAP received stock
MAT-C181020Adobe Commerce32038060Commerce overstatedSales not yet reflected (commerce shows pre-sale qty)
MAT-D621010Shopify Plus143218Commerce overstatedStock-in-transit double-counted
MAT-E552010BigCommerce01212Commerce overstatedPlant scope mis-mapped
MAT-F091020Adobe Commerce88808Commerce understatedRecent goods receipt not yet pushed
MAT-G821010Shopify Plus2402488Commerce overstatedCycle-count adjustment in SAP not synced
MAT-H141010BigCommerce64586Commerce understatedInbound shipment landing tomorrow
Investigation walkthrough:
  1. MAT-A23: 78-unit drift, commerce overstated. Shopify is showing 220 units available; SAP says 142. If a customer orders 200, Shopify accepts the order but SAP’s ATP fails when the Sales Document arrives. The order ends up on inventory hold, then escalates to either a stock-out apology or an emergency replenishment. Root cause: sync from SAP -> Shopify is delayed by 3+ hours when a goods issue posts.
  2. MAT-B41: 84-unit drift, commerce understated. SAP just received 84 units (movement type 101) but the BigCommerce-side webhook lost the message. Customers see “out of stock” on a product that actually has 84 units. This is direct lost demand; the OOS-with-demand card surfaces the impact.
  3. MAT-E55: plant scope mis-mapping. Plant 2010 (Toronto) has 0 units of this material; commerce shows 12. The integration is wrongly pulling from a different plant. Configuration fix: align plant-to-channel mapping in the integration.
  4. The pattern matters more than individual rows. If drift is consistently “commerce overstated”, the SAP -> commerce sync is failing; if consistently “commerce understated”, the commerce -> SAP sync is failing.
  5. Action playbook:
    • Configure SAP outbound IDoc / OData event triggers on goods movements (movement types 101, 161, 261, 601, 651) so commerce platforms see updates within minutes.
    • Configure inbound webhooks from commerce platforms when an order ships; SAP creates the Sales Document immediately rather than batch-syncing.
    • Add a periodic full reconciliation (overnight) as a safety net.

Sibling cards merchants should reference together

CardWhy pair it with Inventory Sync Drift
Total Inventory ValueThe financial source of truth for inventory.
Low Stock AlertsDrift can mask real low-stock conditions.
OOS with Open Sales Document DemandThe customer-facing impact of failed syncs.
Open Sales Document ValueInventory blocks driving Sales Document hold-ups.

Reconciling against the vendor’s own dashboard

Where to look in S/4HANA Cloud:
Stock Overview transaction MMBE / MB52 -> SAP-side ground truth Material Inventory Values Fiori app Embedded Analytics: CDS view I_MaterialStock
Direct deep-link: https://my{tenant}.s4hana.cloud.sap/sap/bc/ui2/flp#MaterialInventoryValues-display Why our list may legitimately differ from a manual MMBE check:
ReasonDirectionWhy
Stock typeEitherCard uses unrestricted on-hand by default. Commerce platforms may use ATP (subtracting open orders). Toggle in field map.
Plant scopeEitherCard respects dashboard CC scope.
Polling cadenceSmallCard refreshes every 15 minutes. Drift can self-resolve in minutes if syncs catch up.
Stock-in-transitEitherOwned in-transit visible to SAP but rarely published to commerce. Configurable.
Cross-connector reconciliation:
SourceRole
S/4HANA Cloud I_MaterialStockSAP qty source of truth
Shopify / BigCommerce / Adobe Commerce / SAP Commerce CloudCommerce-side qty

Known limitations / merchant FAQs

Should drift ever be zero? In theory yes; in practice small drifts (<= 5 units) within sync-cadence windows are normal. The card flags only material drift. SAP qty includes safety stock; commerce shows usable. Do they differ structurally? Yes if the integration publishes safety-stock-adjusted ATP rather than gross on-hand. Configure the field map to publish either gross or ATP consistently and the drift normalises to integration lag only. Materials sold across multiple commerce platforms, how is drift computed? Per (material, plant, channel) tuple. A material on Shopify and BigCommerce shows two rows if both differ from SAP. Drift threshold tuning? Default 5 units. High-velocity DTC apparel: 20 units (more sync churn, less impact). Low-velocity B2B parts: 1 unit (rare drift, high impact). Multi-Company-Code: same material in two CCs / two plants, how shown? Per plant. CC 1000 plant 1010 and CC 1000 plant 1020 are independent rows. SAP -> commerce sync method matters? Yes. Real-time event-driven (IDoc / OData event push) keeps drift small. Scheduled batch syncs (hourly or daily) accumulate drift. Vortex IQ’s card surfaces the symptom; the fix is in the integration architecture. Will drift ever resolve itself? Most drift resolves within minutes to hours as syncs catch up. Drift older than 24 hours indicates a broken sync that needs investigation.

Tracked live in Vortex IQ Nerve Centre

Inventory Sync Drift is one of hundreds of KPI pulses Vortex IQ tracks across SAP 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.