Skip to content
Store slow, dated, or hard to edit? Request a Store Diagnostic
Running B2B on spreadsheets or email? Plan Your B2B Project
Integrations

Does Shopify POS Sync Inventory With Your Online Store in Real Time?

If you’re about to open a physical counter, a market stall, or a pop-up shop alongside your Shopify website, this is the question that decides whether you’ll oversell your bestsellers by Saturday afternoon. It comes up constantly on the Shopify Community forums, usually from a merchant who’s either about to go omnichannel or has just watched a product go negative in stock after a busy in-person trading day.

The short answer: yes, Shopify POS and your online store share the same inventory in real time, because they’re not actually two separate systems talking to each other, they’re two sales channels reading and writing to one inventory pool. But “real time” doesn’t mean “foolproof,” and most of the sync problems merchants report aren’t sync failures at all. They’re configuration issues that look like sync failures.

This post explains exactly how Shopify’s inventory model works across POS and online, and walks through the specific settings and gotchas that cause stock counts to look wrong even when the underlying system is working exactly as designed.

The short answer: it’s one inventory system, not two

Shopify doesn’t run POS and the online store as separate platforms with a sync job bridging them. Every product variant in your store has an inventory quantity tracked per location, and that quantity lives in one place: Shopify’s core inventory system. Your online store, your POS, and any other sales channel (Facebook Shop, a marketplace app, etc.) all read from and write to that same pool.

So when a sale happens at a physical till through Shopify POS, the deduction isn’t sent to your website, there’s nothing to send, because the website was already looking at the same number. The moment the order is created, whichever location the sale was assigned to has its stock decremented, and every channel querying that location’s inventory sees the updated figure immediately.

This is genuinely real time in the sense that matters: there’s no batch job, no nightly reconciliation, no polling interval. It’s an atomic update against a shared ledger.

How Shopify’s location-based inventory model actually works

To understand why sync issues happen, you need to understand the two ideas underneath Shopify inventory: locations and stocked-at-location tracking.

A location in Shopify is any place inventory is stocked or fulfilled from, your warehouse, your retail store, a market stall, a 3PL. You can have up to (currently) dozens of locations depending on your plan, and each one holds its own quantity for each variant.

When you enable inventory tracking on a variant (Shopify admin → Products → [product] → Variant → Inventory → “Track quantity”), Shopify asks you to set a quantity per location, not one global number. So a hoodie might show 40 units at your warehouse and 12 units at your Melbourne retail store, that’s 52 total, but they’re two distinct location-level figures.

This matters because:

  • Online store orders draw down stock from whichever location(s) you’ve set up to fulfil online orders (usually your warehouse, or determined by your fulfilment priority/location rules).
  • POS sales draw down stock from the specific retail location the till is assigned to.
  • If a product isn’t stocked at a given location at all, it won’t show as available for sale from that location, including online, if that location is the one assigned to online fulfilment.

If you only have one location, this is simple: everything shares the one pool, full stop. Sync “issues” in a single-location setup are almost always something else entirely (see below). Multi-location setups, a warehouse plus one or more shops, are where genuine configuration complexity creeps in, because you now have to think about which location is authoritative for which channel.

Where sync problems actually come from

In our experience supporting Shopify merchants who run POS alongside online, when someone says “my POS isn’t syncing with my website,” it’s almost never a platform bug. It’s one of these five things.

1. Manual inventory tracking left off

If “Track quantity” isn’t ticked on a variant, Shopify doesn’t manage stock levels for it at all, it’s always shown as available regardless of what sold where. This is the single most common cause of “my POS sale didn’t affect my online listing.” The product was never being tracked in the first place, on either channel.

2. The variant isn’t stocked at the right location

A variant can be tracked but simply not stocked at a particular location (quantity set to zero or the location toggled off in the Inventory tab). If your online store draws from Location A and someone’s only ever set stock at Location B (your shop counter), the online store will correctly show it as unavailable, that’s not a sync failure, that’s the system working as configured.

3. Third-party apps double-writing inventory

This is the big one for established stores. Inventory management apps, ERP/accounting integrations, dropship connectors, and multi-channel listing tools (eBay, Amazon, TikTok Shop, etc.) often write to Shopify’s inventory levels directly via the API. If two apps, or an app and a manual process, are both trying to “own” the same variant’s stock count without coordinating, you get a race condition: one system overwrites the other’s update moments later. From the storefront, this looks exactly like a sync glitch, but the fault sits with conflicting external writes, not with Shopify POS or the native inventory engine.

4. Oversell settings and safety stock

Shopify lets you allow customers to purchase a product online even when it shows zero stock (“Continue selling when out of stock”). This is a deliberate merchant setting, not a bug, but it confuses people who expect the online store to hard-stop the moment POS sells the last unit. If you don’t want backorders, check this setting per variant.

5. Fulfilment and location mismatches after a sale

Occasionally the confusion isn’t inventory count at all, it’s fulfilment routing, an online order gets assigned to a location that doesn’t physically hold the stock (common when fulfilment priority rules haven’t been set up correctly across multiple locations). The count is accurate; the picking instructions are wrong.

6. Staff selling from the wrong device location

Every POS device (or POS login) in Shopify is tied to a specific location. If a staff member is logged into a POS session assigned to the wrong shop, say, ringing up sales at a pop-up under your flagship store’s location by mistake, the deduction happens against the wrong location’s stock pool. Online availability for the correct location won’t move, because as far as Shopify’s inventory system is concerned, nothing changed there. This is worth checking explicitly whenever you open a temporary or seasonal selling location, since it’s easy to forget to switch the active location on a shared device.

A practical checklist before you go live with POS + online

Run through this before your first day trading in person:

  1. Confirm every sellable variant has “Track quantity” enabled. Spot-check a sample across your catalogue, not just your top sellers.
  2. Set correct opening stock at every location, including your new retail/POS location, don’t assume it inherited warehouse figures.
  3. Decide your fulfilment priority order if you have multiple locations (Settings → Locations), so online orders route to the right place.
  4. Audit any connected apps that touch inventory (ERP, multi-channel listing, subscription apps) and confirm only one system is the source of truth for each variant.
  5. Set “continue selling when out of stock” deliberately, per product, rather than leaving it on Shopify’s default for every variant.
  6. Do a live test sale on POS and confirm the online store quantity drops within seconds, and vice versa.
  7. Check GST and receipt settings are consistent between channels if you’re in Australia and registered for GST, this doesn’t affect inventory sync but it’s a common oversight at the same setup stage.

When to bring in a specialist

For a single-location store selling straightforward products, this is genuinely something most merchants can configure themselves in an afternoon. Where it gets harder is multi-location retail, high SKU counts, or stores running two or three inventory-touching apps alongside POS, that’s when conflicting writes and fulfilment routing errors start costing real stock accuracy, and diagnosing which system is at fault takes someone who’s traced these issues before.

If you’re planning a genuine omnichannel setup, physical stores, wholesale, and online sharing one inventory pool, it’s worth getting the location and fulfilment architecture right from day one rather than untangling it later. That’s exactly the kind of build our omnichannel retail solutions work covers: mapping your locations, fulfilment rules, and app stack so POS and online genuinely stay in lockstep.

FAQ

Does Shopify POS work without an internet connection, and what happens to inventory then?
Shopify POS Go and the POS app can take offline payments in a limited capacity, but inventory updates require connectivity to sync back to Shopify’s servers. If a device goes offline mid-sale, the order queues and syncs once connection is restored, until then, that stock deduction won’t be reflected elsewhere.

Can I stop my online store from overselling when POS sells the last unit?
Yes, turn off “Continue selling when out of stock” on each variant (Products → variant → Inventory). With this off, the moment quantity hits zero at the relevant location, the online store will mark it as sold out rather than allowing further orders.

Why does my online store show stock but my physical shop is empty?
This is almost always a location issue, the variant has quantity allocated at your warehouse/online-fulfilment location but zero at your retail location. Check the per-location breakdown under the variant’s Inventory tab rather than assuming there’s one combined number.

Do I need Shopify Plus for multi-location inventory to work properly?
No, multi-location inventory and POS sync are native to standard Shopify plans, not a Plus-only feature. Plus becomes relevant for higher-volume, more complex operational needs (like more granular staff permissions or advanced automation), not for basic POS-to-online sync.

If I use a separate inventory management app, will it still sync with POS?
It depends entirely on how that app integrates. Some write directly into Shopify’s inventory levels (so POS and online both reflect it correctly), others only sync on a schedule or only in one direction. Check the app’s documentation for how, and how often, it updates Shopify inventory, since this is the most common source of “phantom” sync problems.

Ready to get your setup right?

If you’re weighing up whether your current (or planned) location and fulfilment setup can actually support accurate real-time stock across POS and online, a second pair of expert eyes is worth it before problems show up as overselling. Book a call with our team and we’ll talk through your specific setup.

Niraj Raut
Written by Niraj Raut SEO Manager

Niraj Raut is the SEO Manager and co-founder at Nexly. He helps Australian Shopify and Shopify Plus brands earn durable organic growth through technical SEO, search-led store architecture and content that ranks. He writes about what actually moves rankings for ecommerce.

Connect on LinkedIn
Have a Shopify project? Chat with us, takes 30 seconds.