> ## 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.

# POS to Online Inventory Drift Alert, Square Online

> POS to Online Inventory Drift Alert: flags catalog items whose in-store and online on-hand counts have diverged. How to read it, why it matters, and how to act on it.

**Card class:** [Hero](/nerve-centre/overview#card-classes-explained)  •  **Category:** [Ecommerce Platform](/nerve-centre/connectors#connectors-by-type)

> 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**                  |

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](/nerve-centre/kpi-cards/square-online/oversell-risk-negative-on-hand-projected) 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)](/nerve-centre/kpi-cards/square-online/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](/nerve-centre/kpi-cards/square-online/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](/nerve-centre/kpi-cards/square-online/out-of-stock-products)                                            | 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](/nerve-centre/kpi-cards/square-online/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](/nerve-centre/kpi-cards/square-online/active-locations)                                                   | Drift is tracked per location. The number of active locations frames how many parity surfaces are being checked.                                                          |
| [Items missing SKU](/nerve-centre/kpi-cards/square-online/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](https://squareup.com/dashboard). 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:**

| 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                                                |

**Cross-connector reconciliation:**

| Card                                                                                                                       | Expected relationship                            | What causes legitimate divergence                                                                                                                                                        |
| -------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Square inventory vs marketplace listings](/nerve-centre/kpi-cards/square-online/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`](/nerve-centre/kpi-cards/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. |

**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.

***

<details>
  <summary><em>Same-metric documentation cross-reference (for agencies running multiple platforms)</em></summary>

  POS to online inventory drift is a Square-distinctive concept because Square unifies in-store and online on one merchant of record. Other platforms model POS as a separate product, so a clean equivalent only exists where they offer their own POS or location inventory. These links are provided where a comparable concept exists, not as a reconciliation.

  * [`shopify.pos-online-inventory-drift`](/nerve-centre/kpi-cards/shopify/pos-online-inventory-drift)
  * [`bigcommerce.inventory-drift`](/nerve-centre/kpi-cards/bigcommerce/inventory-drift)
</details>

## 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](/nerve-centre/kpi-cards/square-online/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](/nerve-centre/kpi-cards/square-online/out-of-stock-products).

**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](https://app.vortexiq.ai/login) or [book a demo](https://www.vortexiq.ai/contact-us) to see this metric running on your own data.
