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 counts | Item 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 treatment | Cross-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 / unit | Count of drifting variations (whole number). Each row identifies the variation, SKU, location, and the size of the variance. |
| Time window | RT (real time). Drift is checked continuously against the latest inventory counts. |
| Alert trigger | Fires 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. |
| Roles | owner, operations |
| Why drift happens | A 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 signal | Square’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 variation | SKU | Location | POS on-hand | Online on-hand | Variance | Risk |
|---|---|---|---|---|---|---|
| Linen Shirt, M, Sand | LIN-M-SND | LOC_001 | 0 | 4 | 4 | Oversell online |
| Wool Scarf, Charcoal | SCF-CHR | LOC_001 | 12 | 0 | 12 | Hidden sellable stock |
| Canvas Tote, Natural | TOT-NAT | LOC_001 | 6 | 6 | 0 | In parity (not listed) |
| Leather Belt, 32 | BLT-32 | LOC_001 | 3 | 1 | 2 | Oversell online |
| Drifting variations (this card) | 3 |
- 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.
- 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.
- 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
| Card | Why 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 Parity | The 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 Items | Drift 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 Products | Low 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 Locations | Drift is tracked per location. The number of active locations frames how many parity surfaces are being checked. |
| Items missing SKU | Items 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.
| Reason | Direction 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 |
| Card | Expected relationship | What causes legitimate divergence |
|---|---|---|
| Square inventory vs marketplace listings | Marketplace listings should track Square on-hand | If you list the same stock on a marketplace, drift between Square POS and online often signals drift to the marketplace too. |
google_analytics.product-performance | No direct relationship | GA4 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. |