POS and Online Inventory Sync

A customer buys the last one in your shop. Your online store still shows it as available. Here's how to prevent that from happening.

Why POS and online inventory get out of sync

Retailers who add an online store -- or online sellers who open a physical location -- run into the same inventory problem from opposite directions. The root cause is always the same: two systems recording stock adjustments independently, with no mechanism to reconcile them in real time.

In-store transactions happen fast. A sale rings through the POS in seconds. If that POS doesn't immediately push the stock adjustment to your online store, any online buyer who visits your site in the next few minutes could place an order for something that's already gone.

The problem compounds during busy periods. On a Saturday afternoon, your shop might process 30 in-store transactions per hour. If your POS and online store sync every 15 minutes (a common configuration), there's a window every cycle where your online inventory is stale. For a small boutique with 200 SKUs, some of which have only 1-2 units, those 15-minute gaps generate regular oversells.

The solution isn't complicated in concept: you need a single source of truth for inventory that both your POS and your online store read from and write to in real time. The challenge is getting there from wherever your current setup is.

Major POS systems and their online capabilities

Square POS

Square includes a built-in online store (Square Online) that syncs inventory natively with the Square POS. If you sell exclusively through Square in-store and online, the sync is seamless and free. The limitation is that Square Online is a basic storefront -- it lacks the customization and marketing capabilities of Shopify or WooCommerce. Sellers who want a more robust online presence often integrate Square POS with Shopify using a third-party connector.

Shopify POS

Shopify POS is the cleanest native option for retailers who want tight POS and online store integration. Since both your physical store and online store run on Shopify, inventory is shared natively in real time. When something sells in-store, your Shopify online inventory adjusts immediately. Shopify POS Pro is $89/month per location on top of your Shopify plan.

Lightspeed Retail

Lightspeed is popular with specialty retailers and boutiques that have complex inventory needs (multiple variants, serialized items, purchase orders). Lightspeed has its own eCommerce module that syncs natively, but it's less flexible than Shopify for online selling. Many Lightspeed users integrate with Shopify or WooCommerce via third-party connectors.

Clover POS

Clover is a hardware-forward POS popular with restaurants and small retailers. It has limited native ecommerce capabilities. Syncing Clover with Shopify, WooCommerce, or other online stores requires a third-party integration tool. The sync quality varies significantly by integration provider.

Toast

Toast is primarily a restaurant POS and handles food service inventory differently from retail. If you're a retail business, Toast isn't the right system. If you're a restaurant adding online ordering, Toast's native online ordering sync is solid.

POS System Native Online Store Shopify Integration Best For
Square Square OnlineVia third-partySmall retailers starting out
Shopify POS Native ShopifyNative (same system)Retailers wanting best-in-class online store
Lightspeed Lightspeed eComVia third-partySpecialty retailers with complex inventory
CloverLimitedVia third-partySimple retail, restaurant

Three approaches to syncing POS with online

Approach 1: Use a unified platform

The simplest solution is using a platform that serves as both your POS and your online store. Shopify POS + Shopify Online is the most popular example. There's no sync required because both channels access the same inventory database. If this option fits your needs and budget, it's the cleanest architecture.

Best for: Retailers who are starting fresh or willing to migrate their POS to Shopify.

Approach 2: Use a middleware connector

If you're not ready to change your POS, a middleware connector (SKULabs, Trunk, Synder, or similar) bridges your existing POS and online store. The connector polls both systems and propagates changes bidirectionally. Sync speed varies -- some connectors sync in near real time, others sync every 5-15 minutes.

Best for: Retailers with an established POS who want to add or improve an online store without replacing their POS hardware and workflows.

Approach 3: Manage a master inventory separately

Some retailers use a dedicated inventory management system (Cin7, Brightpearl, Inventory Planner) as the master source of truth, with both the POS and online store pulling from it. This is more complex to set up but gives the most control and visibility, especially for retailers with multiple locations.

Best for: Multi-location retailers or sellers with high SKU counts who need purchase order management, reporting, and inventory forecasting beyond what either a POS or online store provides natively.

Real-time sync challenges specific to retail

POS-to-online sync has unique challenges that pure ecommerce inventory sync doesn't face.

The offline transaction problem

Most POS systems can accept transactions when internet connectivity drops. Those offline transactions queue locally and push to the server when connectivity restores. If your online store sync runs while the POS is offline, your online inventory will be higher than your actual stock. When the offline transactions push, they may push to inventory that your online store has already sold.

Mitigations: Keep your POS system online as much as possible. Configure offline transaction thresholds. Add a small buffer stock for high-turnover items.

In-store browsing behavior

Customers in a physical store often pick up items, carry them for a while, then put them back. Your POS doesn't record any of this. But if those items are sitting in someone's hand for 20 minutes, they're effectively unavailable to online buyers. This is hard to solve -- most retailers simply accept a small oversell rate on popular items and have a plan for how to handle it when it happens.

Physical inventory discrepancies

Shrinkage (theft, damage, miscounting) happens in every physical store. Your system says you have 5 units; you actually have 4. When the 5th unit sells, you have a problem. Regular physical inventory counts (weekly for fast-movers, monthly for everything else) and prompt adjustment in your master inventory are the only cure.

Setting up your sync: what to decide before you connect

Before you connect any systems, answer these questions. They'll determine which approach is right and prevent costly misconfigurations.

Which system is your master inventory?

When a conflict occurs (your POS says 3 units, your online store says 2), which system wins? You need to designate a master and configure your sync tool accordingly. For most retailers who primarily operate physically, the POS is master. For primarily online retailers who've added a physical presence, the online store is often master.

What's your sync frequency tolerance?

Near real-time sync (under 60 seconds) is ideal but not always available or affordable. If you sell high-turnover items and have meaningful online traffic, invest in real-time sync. If you sell slower-moving items or have low online traffic, a 5-15 minute sync interval may be acceptable.

How do you handle products that are online-only or in-store-only?

Some products may exist only in your physical store (impulse items, local-only products) or only online (digital downloads, items you don't want taking up shelf space). Your sync configuration needs to handle these exclusions so you don't accidentally push online-only items to your POS catalog or vice versa.

How do you handle variants?

If you sell a shirt in 4 sizes and 3 colors, that's 12 inventory slots. Your POS may represent these as a single product with options, your online store may represent them as 12 separate SKUs. Map these correctly before syncing or you'll end up with inventory chaos.

Mistakes that break your sync

1

Inconsistent SKUs between systems

Your POS uses "BLUE-SM-TSHIRT" and your online store uses "TS-B-S". The sync tool has no way to match these automatically. Standardize your SKUs across both systems before setting up any integration. This is a one-time effort that pays dividends forever.

2

Manual adjustments in the wrong system

Once you have a sync running, all manual inventory adjustments must happen in your designated master system. If a staff member adjusts stock in the non-master system, the next sync will overwrite their adjustment with stale data from the master.

3

No monitoring on sync health

Syncs break. API tokens expire. Webhooks stop firing. If you don't have alerts configured for sync failures, you could run with stale inventory for days before noticing. Set up monitoring and check sync logs weekly at minimum.

4

Skipping a test reconciliation before going live

Before trusting your sync with live inventory, run a manual reconciliation: count your physical stock, check your POS numbers, check your online store numbers. All three should agree. If they don't, resolve the discrepancy before enabling real-time sync or you'll be syncing inaccurate data at high speed.

Frequently asked questions

Can I sync Square POS with Shopify?
Yes, but not natively -- Square and Shopify are separate platforms and don't have a built-in integration. Third-party tools like SKULabs, Trunk, or QuickBooks Commerce can bridge them. The quality and speed of sync varies by tool. Alternatively, Shopify POS can replace Square as your in-store system and gives you native sync with your Shopify online store.
How fast does inventory update when something sells in-store?
With a unified platform like Shopify POS + Shopify Online, inventory updates within seconds. With third-party middleware, it depends on the tool and configuration -- anywhere from 30 seconds to 15 minutes. For high-turnover items in a busy store, 15-minute sync intervals are too slow. Verify your sync tool's actual latency before relying on it for items with low stock quantities.
What if I have multiple physical store locations?
Multiple locations add complexity because you need to track inventory per location, not just in aggregate. Shopify supports multiple locations natively and lets you configure which location(s) fulfill online orders. Other setups require more careful configuration. Decide upfront whether online orders should draw from all locations or a dedicated fulfillment location.
Do I need a full inventory management system or just a sync tool?
A sync tool is sufficient if you're managing a single location, have under a few hundred SKUs, and don't need purchase order management or demand forecasting. A full inventory management system (Cin7, Brightpearl) is warranted if you're managing multiple locations, have high SKU counts, need to manage supplier purchase orders, or want sophisticated reorder point automation.
What's the most common cause of POS/online inventory discrepancies?
Manual adjustments made outside the designated master system, followed by sync failures that weren't noticed promptly, followed by physical shrinkage that wasn't recorded. The fix is good process discipline: always adjust in the master system, monitor sync health actively, and do regular physical counts.

For more on managing inventory across multiple online channels, see our complete guide to selling on multiple platforms and our overview of ecommerce automation for small businesses.

Keep your online inventory accurate across every channel

Commerce Kitty syncs inventory across Etsy, Shopify, Amazon, and eBay. Free to start, no credit card required.

Start Free
Free plan included No credit card required Set up in 5 minutes