Skip to main content
Card class: HeroCategory: Ecommerce Platform
Square-distinctive: unified-commerce inventory parity is the killer audit signal.

At a glance

A live list of catalog item variations whose on-hand inventory has drifted between what Square POS believes is in stock and what Square Online is selling against. Because Square is one merchant of record across in-store and web, parity should be automatic, when it is not, you are either overselling online or hiding sellable stock from web customers.
What it countsItem variations where the on-hand inventory count tracked for in-store / POS fulfilment differs from the count Square Online is selling against, for the same location_id. Sourced from Square Inventory counts joined to the Catalog item variations.
Channel / source treatmentCross-channel by definition. This card exists precisely to compare the POS and Square Online view of the same item at the same location. It is meaningless for a single-channel merchant.
Currency / unitCount of drifting variations (whole number). Each row identifies the variation, SKU, location, and the size of the variance.
Time windowRT (real time). Drift is checked continuously against the latest inventory counts.
Alert triggerFires when any variation shows a POS vs online on-hand variance greater than zero. Any non-zero gap is surfaced; the list is ranked by the size of the gap.
Rolesowner, operations
Why drift happensA manual stock adjustment applied at one channel only, a third-party sync tool writing to one ledger, a return restocked in-store but not reflected online, or an item marked present at some locations but not others.
Why it is the killer signalSquare’s whole pitch is one source of truth. Drift means that promise has broken for that item, and the merchant cannot trust either number until it is reconciled.

Calculation

Calculated automatically from your Square Online 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 apparel boutique on Square. One flagship store plus a Square Online storefront fulfilling from the same location. The alert list is reviewed on the morning of 14 Mar 26.
Item variationSKULocationPOS on-handOnline on-handVarianceRisk
Linen Shirt, M, SandLIN-M-SNDLOC_001044Oversell online
Wool Scarf, CharcoalSCF-CHRLOC_00112012Hidden sellable stock
Canvas Tote, NaturalTOT-NATLOC_001660In parity (not listed)
Leather Belt, 32BLT-32LOC_001312Oversell online
Drifting variations (this card)3
Three things to notice:
  1. Drift cuts both ways and both directions are costly. The Linen Shirt shows 0 in store but 4 online, so the web store will keep taking orders for stock that no longer exists, an oversell that ends in a cancellation and a disappointed customer. The Wool Scarf shows 12 in store but 0 online, so 12 sellable units are invisible to web shoppers, pure lost revenue. The card surfaces both.
  2. Items in parity are deliberately not listed. The Canvas Tote matches at 6 and 6, so it does not appear. This keeps the alert list short and actionable, only the exceptions show. A shrinking list is the goal.
  3. Variance size sets the priority. The Wool Scarf at 12 units of hidden stock is a larger revenue leak than the Belt at 2. Work the list top down by variance. Pair with Oversell Risk for the items where drift is already turning into negative projected stock.

Sibling cards merchants should reference together

CardWhy pair it with POS to Online Inventory Drift Alert
Oversell Risk (negative on-hand projected)Drift is the cause; oversell is the consequence. Items drifting with POS lower than online are the ones most likely to project negative on-hand once pending orders land.
POS vs Online Inventory ParityThe positive framing of the same data. Parity is the percentage of your catalog that matches; this alert is the list of the exceptions that break it.
Out-of-Stock ItemsDrift can mask a real stockout. An item showing online stock but zero POS stock is effectively out of stock and should appear here, not as sellable.
Low Stock ProductsLow stock plus drift is the danger zone. A few units left and a parity gap is the fastest path to overselling the last unit.
Active LocationsDrift is tracked per location. The number of active locations frames how many parity surfaces are being checked.
Items missing SKUItems without a SKU are harder to reconcile across channels. Cleaning up missing SKUs reduces the chance of silent drift.

Reconciling against Square

Where to look in the Square Dashboard: Square Dashboard, Items & Orders, Inventory management. Filter by the location shown in the alert row and find the item variation. Square shows a single on-hand count per location, so to see the drift you compare what the POS register reports as sellable against what the Square Online item page is offering. Where Square Online stock control is enabled, the online sellable count should track the same on-hand number, drift means that link has been broken for that variation. Other Square Dashboard views that look like the same issue but aren’t:
  • Inventory management, on-hand by location: this is the figure the alert compares. It is the right place to confirm a drift.
  • Online, Items, stock: the Square Online sellable view. If this differs from the on-hand count, you have confirmed drift.
  • Inventory history: shows the adjustments that caused the drift, manual edits, restocks, recounts. This is where you trace the root cause.
  • Item sales report: shows what sold, not what is in stock. Not relevant for confirming drift.
Why our number may legitimately differ from Square Dashboard:
ReasonDirection of divergence
Mid-adjustment snapshot. A stock recount in progress in Square can show a transient gap that resolves once the adjustment is committed.Self-resolves within minutes
Present-at-all-locations items. An item flagged present_at_all_locations is tracked per location; a gap at one location is real drift, not a reporting artefact.Vortex IQ correctly flags a per-location gap the dashboard summary may blur
Third-party sync lag. If an external inventory tool writes to one ledger before the other, a brief gap appears until both sides settle.Self-resolves once the external sync completes
Sync lag. Square inventory counts are near-real-time but the most recent updates may take a short cycle to reach our index.Self-resolves within minutes
Cross-connector reconciliation:
CardExpected relationshipWhat causes legitimate divergence
Square inventory vs marketplace listingsMarketplace listings should track Square on-handIf you list the same stock on a marketplace, drift between Square POS and online often signals drift to the marketplace too.
google_analytics.product-performanceNo direct relationshipGA4 records web product views and purchases, not stock levels. It cannot confirm drift, but a spike in views with falling conversion can be the customer-facing symptom of hidden stock.
The Square unification advantage and its catch: Square markets one merchant of record across POS and online, which means inventory parity should be the default rather than a feature you bolt on. That is exactly why drift is the killer audit signal here, on a platform that promises a single source of truth, any gap is a broken promise the merchant needs to see and fix fast.

Known limitations / merchant FAQs

What exactly counts as drift? Any non-zero difference between the on-hand count Square POS is fulfilling against and the count Square Online is selling against, for the same item variation at the same location. Parity is the expectation on Square; this card lists every variation where parity has broken. Why does an item show stock online but zero in store? That is the dangerous direction. Web customers can still place orders against stock that no longer physically exists, which ends in an oversell and a cancellation. It usually happens when a POS sale or a manual in-store adjustment did not propagate to the online sellable count. Fix it by recounting in Inventory management and confirming Square Online stock control is enabled for that item. Why does an item show stock in store but zero online? This is hidden sellable stock, lost revenue rather than oversell. Web shoppers see it as out of stock while units sit on the shelf. Check that the item is set to be visible and sellable on Square Online and that its online stock tracking is linked to the on-hand count. Does this card fix the drift, or just report it? It reports and prioritises. The fix happens in Square, recount the item, confirm the online stock setting, and remove any third-party sync that is writing to only one ledger. Once both counts match, the variation drops off the list automatically. Why do I keep seeing the same items drift? Recurring drift almost always points to a process or integration problem rather than a one-off error. Common culprits are an external inventory tool syncing only the POS ledger, returns restocked in-store but not online, or items missing a SKU that breaks automated matching. Pair this card with Items missing SKU. Is drift the same as being out of stock? No. Out of stock means zero sellable units. Drift means the two channels disagree about how many units there are, which can hide a real stockout (online thinks there is stock, the shelf is empty) or hide real availability (the shelf has stock, online says zero). Watch this card alongside Out-of-Stock Items. Can I set a tolerance so small gaps don’t alert? By default any non-zero gap is surfaced because on Square parity should be exact. If your operation has a known tolerance for in-flight adjustments, a per-merchant threshold can be configured in your Vortex IQ workspace so only larger gaps raise the alert.

Tracked live in Vortex IQ Nerve Centre

POS to Online Inventory Drift Alert is one of hundreds of KPI pulses Vortex IQ tracks across Square Online 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.