In under an hour, Shopify and your physical POS can share a single inventory view. The idea that this connection is a multi-week IT project belongs to about five years ago. The integrations exist, data models match, and APIs are mature. The work now is auditing stock first, then setting rules for channel differences.
This practical walkthrough assumes Shopify handles online orders and one or several physical stores use a POS. Both channels share one inventory count, reducing online overselling, inaccurate reorder decisions, and divergence problems found only after a customer complains.
Audit inventory before connecting systems
The common mistake is syncing two systems with different counts for the same SKU and letting one overwrite the other. The result is faster, more consistent spread of incorrect data.
Before changing integration settings, export inventory counts from Shopify and your POS for every shared SKU. Compare them. They will differ. Find out why.
Common divergence sources:
- Products that exist in Shopify but are not in the POS (new online-only SKUs, bundles, digital products)
- Returns processed in one system and not reconciled in the other
- Manual stock adjustments made in-store that were never entered into the central record
- Items transferred between store locations without being logged as a transfer in either system
- Promotional allocations that reduced Shopify stock but were never updated in the POS
For each SKU category, choose the system with the correct count. Fix discrepancies manually, then run the integration. For a retailer with up to 500 active SKUs, this usually takes 30 to 60 minutes and is the key pre-launch task.
Connect Shopify
Stockagile connects to Shopify through the Shopify Partner API. Authorization happens in your Shopify admin, without third-party credential sharing. Technical setup takes about 15 minutes:
- In Stockagile's Integrations panel, click Connect Shopify and enter your store URL (the format yourstore.myshopify.com, not your custom domain)
- Authorize Stockagile in your Shopify admin under Apps and sales channels
- Run the initial product sync: Stockagile pulls your active product catalog and variant structure
- Review the SKU mapping: if your Shopify variants use different identifiers than your physical store system, map them here. If your SKU naming is consistent across systems, this step is mostly automatic
- Set your inventory sync frequency: real-time for stock level changes is the default; catalog changes (new products, variant updates) sync hourly
A detail buyers can miss: Shopify serves as both sales channel and demand source. Stockagile reads Shopify order history for each SKU alongside POS sales. If Shopify was disconnected from central inventory, forecasts for online-selling SKUs improve significantly once that history is included.
Connect the physical POS
The steps vary slightly by POS, but the pattern is consistent across Lightspeed, Square, and other supported systems. For Lightspeed Retail, common in Spanish and wider European multi-store setups:
- In Stockagile's Integrations panel, select Lightspeed Retail
- Authorize with your Lightspeed admin account credentials
- Map your Lightspeed locations to Stockagile locations: each physical store in Lightspeed becomes a named location in Stockagile. If you have four stores, you will have four location mappings
- Run the SKU match: Lightspeed's product IDs are compared against Stockagile's catalog from the previous Shopify sync. For most retailers, 80 to 90 percent of SKUs match automatically. The remainder need manual mapping, usually because of naming inconsistencies between the two systems
- Verify the initial stock sync against your state audit numbers from Step 1
For multi-store chains, location names consume the most time. If Lightspeed lists "Barcelona 1", "BCN Gracia", and "Store 3", standardize them before mapping. Stockagile tracks locations separately, so unclear names create confusion in downstream reorder lists.
Set inventory routing rules
With both systems connected, define the operational response to a sale in either channel:
Online orders draw from which pool? If Shopify orders ship from a central warehouse, online deductions affect that warehouse pool, not store stock. If orders ship from the store with the most stock, Stockagile needs that fulfillment rule to route deductions correctly.
Minimum online stock threshold. Many retailers use a floor of 2 or 3 units, removing the item from Shopify "in stock" status while physical units remain. This limits overselling when store and online sales compete for the last units.
Transfer trigger logic. When one store runs low and another has excess, should Stockagile suggest an inter-store transfer before a supplier reorder? Optional, but useful where inter-store logistics are practical.
These rules take about 20 to 30 minutes and reflect your operation. There is no universal answer: a central warehouse with dedicated e-commerce fulfillment routes stock differently from a retailer shipping from the nearest store.
The first 48 hours live
After launch, watch two things during the first two days:
Stock discrepancies appearing after transactions. If Stockagile and your POS differ within the first hour, a SKU or location was usually mapped incorrectly. Find it, correct the mapping, and manually reconcile that SKU. This is normal and quick to fix.
Orders missing from the unified transaction feed. A non-standard channel configuration may have blocked full authorization. Shopify stores using custom checkout apps or headless configurations sometimes need extra API scope authorization. The Stockagile setup guide lists the required scopes.
Both problems can be fixed in under an hour when found during the first 48-hour window. That period lets transactions build across channels and exposes edge cases before they accumulate.
Where setup time goes
Retailers completing this in one afternoon typically spend roughly 20 percent on the integration steps and 80 percent aligning data during the initial audit.
This is not criticism of retail data practices. Three years of running Shopify and a POS independently can produce three years of manual adjustments, incomplete return reconciliations, and inconsistent SKU names. The integration exposes those issues rather than creating them, so you can resolve them once instead of letting them compound.
Cleanup is a one-time cost that supports every later reorder decision with accurate inventory data, replacing decisions based on two inaccurate number sets.
What setup does not deliver yet
A connected inventory system shows the current state across channels. It does not immediately provide reliable demand forecasts for each location.
Forecast accuracy rises as Stockagile gathers transactions from both channels. For a first-time Shopify and POS connection, the first month has more forecast variance than two or three full seasons of combined data. That is expected while the system learns each SKU's location-level demand across previously separate channels.
We are not saying first-month forecasts are useless. They are meaningfully better than single-channel estimates. We are saying manual review of reorder recommendations for the first four to six weeks is worthwhile while the model adjusts to combined demand.
For most retailers using Shopify with one to five physical stores, integration takes an afternoon. Setup decisions, including which system owns the correct count and how stock movements route, determine how cleanly the connection operates afterward.