Skip to main content
Card class: HeroCategory: Ecommerce Platform
POS vs Online Inventory Parity, broken down by row.

At a glance

A cross-channel revenue-at-risk audit, run inside Square itself. It compares, per SKU per location, the on-hand inventory Square POS is fulfilling against and the count Square Online is selling against, and lists every SKU where the two disagree. Because Square is one merchant of record across in-store and web, parity should be automatic. Where it breaks, you are either overselling online against stock that is gone or hiding sellable stock from web shoppers. This is the positive, scored framing of the same data behind the POS to Online Inventory Drift Alert.
What it countsSKUs (item variations) whose POS on-hand and Square Online on-hand differ for the same location_id. One row per mismatched SKU, with the variance and its direction. Parity is the percentage of catalog that matches; the alert is the list of exceptions.
Channel / source treatmentCross-channel within Square. It compares the POS view and the Square Online view of the same SKU at the same location. Meaningless for a merchant who sells through only one of the two.
How SKUs are matchedOn the item variation and SKU, joined to Square Inventory on-hand counts per location. Variations with no SKU are harder to match and reconcile.
Currency / unitCount of mismatched SKUs (whole number). Each row shows POS on-hand, online on-hand, and the variance.
Time windowRT / 24H (parity is checked in near real time; the exception list is refreshed continuously and reviewed at least daily).
Alert triggerFires when more than 5 SKUs show a POS to online mismatch. The list is ranked by the size of the variance.
Rolesowner, operations
Why it is revenue at riskA mismatch in the oversell direction (online higher than POS) ends in cancellations and disappointed customers; in the hidden-stock direction (POS higher than online) it is pure lost web revenue. Both are money, and both break Square’s single-source-of-truth promise.
Why it should be near zeroOn Square, POS and online share one inventory ledger by design. A persistent mismatch means a manual adjustment hit one channel only, a third-party tool wrote to one ledger, or online stock control was disabled for that item.

Calculation

Calculated automatically from your Square Online data by comparing the POS and online on-hand counts per SKU per location. 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 gift and stationery shop on Square. Two store locations plus a Square Online storefront fulfilling from both. The parity audit is reviewed on the morning of 14 Mar 26. Each row is a mismatched SKU.
SKUItem variationLocationPOS on-handOnline on-handVarianceDirection
CARD-BDAY-01Birthday Card, FoilLOC_001066Oversell online
PEN-FNTN-BLKFountain Pen, BlackLOC_00114014Hidden sellable stock
MUG-CER-WHTCeramic Mug, WhiteLOC_002312Oversell online
JRNL-A5-KFTA5 Journal, KraftLOC_002055Oversell online
WRAP-ROLL-REDGift Wrap Roll, RedLOC_001909Hidden sellable stock
NOTE-STICKYSticky NotesLOC_001770In parity (not listed)
Mismatched SKUs (this card)5
Three things to notice:
  1. Mismatch cuts both ways and both directions cost money. CARD-BDAY-01 shows 0 in store but 6 online, so the web store keeps taking orders for stock that is gone, an oversell ending in cancellation. PEN-FNTN-BLK shows 14 in store but 0 online, so 14 sellable units are invisible to web shoppers, pure lost revenue. The Sticky Notes match at 7 and 7, so they are not listed, the exception list stays short and actionable.
  2. Variance size sets the priority. PEN-FNTN-BLK at 14 hidden units is a bigger leak than MUG-CER-WHT at 2 oversold. Work the list top down by variance. Pair with Oversell Risk for the SKUs whose oversell direction is already projecting negative on-hand.
  3. Crossing 5 SKUs fires the alert. With 5 mismatches the Vortex IQ Nerve Centre alert raises. Recurring mismatches almost always point to a process or integration problem, not a one-off recount: a third-party tool writing to one ledger, returns restocked in store but not online, or online stock control disabled for an item. The durable fix is upstream of the count itself.

Sibling cards merchants should reference together

CardWhy pair it with POS vs Online Inventory Parity
POS to Online Inventory Drift AlertThe alert framing of the same data. Drift is the list of exceptions; parity is the percentage of catalog that matches. Read together.
Oversell Risk (negative on-hand projected)The oversell-direction mismatches are the ones most likely to project negative on-hand once pending orders land.
Out-of-Stock ItemsA mismatch can mask a real stockout, online showing stock while POS is empty means the item is effectively out of stock.
Low Stock ProductsLow stock plus a parity gap is the fastest path to overselling the last unit.
Square inventory vs marketplace listingsIf POS and online disagree inside Square, any marketplace feed downstream is fed bad numbers too. Internal parity is the foundation.
Items missing SKUVariations with no SKU are harder to match across channels and are a common source of silent mismatch.

Reconciling against Square

Where to look in the Square Dashboard: Square Dashboard, Items & Orders, Inventory management. Filter by the location in the row and find the SKU. Square shows a single on-hand count per location, so to see the mismatch 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, a mismatch means that link is broken for that SKU. Other Square Dashboard views that look like the same issue but aren’t:
  • Inventory management, on-hand by location: the figure the parity check compares. The right place to confirm a mismatch.
  • Online, Items, stock: the Square Online sellable view. If it differs from the on-hand count, the mismatch is confirmed.
  • Inventory history: shows the adjustments that caused the gap, manual edits, restocks, recounts. Where you trace root cause.
  • Item sales report: shows what sold, not what is in stock. Not relevant for confirming parity.
Why our number may legitimately differ from Square Dashboard:
ReasonDirection of divergence
Mid-adjustment snapshot. A recount in progress in Square can show a transient gap that resolves once 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 a real mismatch, not an artefact.Vortex IQ correctly flags a per-location gap a summary view may blur
Third-party sync lag. An external tool writing to one ledger before the other shows a brief gap 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 listingsInternal parity should hold before any marketplace feed can be trustedIf POS and online disagree inside Square, the marketplace feed inherits whichever number it reads. Fix internal parity first; marketplace mismatch often clears once it does.
google_analytics.product-performanceNo direct relationshipGA4 records web product views and purchases, not stock levels. It cannot confirm a parity gap, but rising views with falling conversion on a SKU can be the customer-facing symptom of hidden stock.
The Square unification advantage and its catch: Square promises one merchant of record across POS and online, which means inventory parity should be the default state, not a feature to bolt on. That is exactly why a mismatch matters so much here, on a platform that guarantees a single source of truth, any internal gap is a broken promise the merchant must see and close fast. This card scores how close to that promise you are and lists the exceptions that break it.

Known limitations / merchant FAQs

What is the difference between this card and the Drift Alert? They run on the same data, framed two ways. The POS to Online Inventory Drift Alert is the live list of exceptions. This card is the parity score, the percentage of your catalog where POS and online agree, with the same exceptions listed. Use parity to track whether you are getting better over time and the drift alert to action the daily list. What counts as a mismatch? 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 SKU at the same location. On Square these should be equal by default, so any gap is a mismatch worth surfacing. Why does an item show stock online but zero in store? That is the oversell direction. Web customers can keep ordering against stock that no longer physically exists, ending in cancellations. It usually means a POS sale or in-store adjustment did not propagate to the online sellable count. Recount in Inventory management and confirm Square Online stock control is enabled for the item. Why does an item show stock in store but zero online? That is hidden sellable stock, lost web revenue rather than oversell. Shoppers see it as out of stock while units sit on the shelf. Confirm 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. Why do the same SKUs keep mismatching? Recurring mismatch points to a process or integration problem, not 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 with Items missing SKU. Is a mismatch the same as being out of stock? No. Out of stock means zero sellable units. A mismatch means the two channels disagree about how many units exist, 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 alongside Out-of-Stock Items. Can I set a tolerance so small gaps do not alert? By default any non-zero gap counts because on Square parity should be exact, and the alert fires above 5 mismatched SKUs. If your operation has a known tolerance for in-flight adjustments, both the per-SKU tolerance and the count threshold can be configured in your Vortex IQ workspace settings.

Tracked live in Vortex IQ Nerve Centre

POS vs Online Inventory Parity 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.