Your Shopify stock counts keep changing on their own. Products show zero when you have units on the shelf. Adjustments you made yesterday have reverted. This is not a Shopify bug — it is one of six specific, fixable problems. Here is how to diagnose exactly which one is affecting your store and what to do about it.
Shopify inventory sync issues almost always have a specific, traceable cause. The frustrating part is that the symptom — stock counts that do not match reality — looks the same whether the cause is a disabled tracking setting, a third-party app overwriting adjustments, or an unlogged shipment.
The fastest way to fix an inventory sync problem is to check the Shopify inventory history log first. Go to Admin → Products → select the affected product → Inventory → view the adjustment history. Every change is logged with a timestamp and source. That log tells you which of the six causes below is responsible.
Stock count shows zero or never changes even after sales. Orders go through without deducting stock.
Go to Admin → Products → select the product → Inventory section. Check each variant. If "Track quantity" is unchecked, Shopify is not tracking that variant at all — it will never deduct from sales or update from imports.
Enable "Track quantity" for every variant you want tracked. Then do a manual stock count to set the correct starting quantity — Shopify does not retroactively calculate what the count should have been.
Inventory adjustments made manually or through POS disappear after a few hours or overnight. Stock reverts to a number that does not match your physical count.
Go to Admin → Apps → review every installed app. Any app that does inventory management, syncing, or fulfilment can potentially write to your stock counts. Check each app's documentation for whether it pushes stock updates back to Shopify automatically.
Identify which app is writing to inventory and either disable the automatic sync feature or uninstall it. The safest inventory apps read from Shopify but only update stock when you explicitly trigger an action — like receiving a purchase order.
Stock counts change unexpectedly during business hours. Adjustments you made earlier have been overwritten by someone else.
Go to Admin → Products → Inventory → select a product → view the Inventory history. You will see every adjustment with timestamps and the staff account that made it. Look for overlapping adjustments from different users around the same time.
Establish a clear process for who makes inventory adjustments and when. Limit inventory adjustment permissions to specific staff roles. Use reason codes consistently so the history log is auditable.
Physical stock is higher than Shopify shows. Staff can see units on the shelf that Shopify says do not exist. Shopify shows stockouts on products that are physically available.
Compare your physical count to Shopify's recorded count. If physical is consistently higher, shipments are arriving and being put away without being logged. Check your recent purchase orders — are they being marked as received in your system?
Implement a receiving process where every incoming shipment is counted and logged in Shopify before being put away. If you use purchase orders, mark them as received in Shopify immediately on delivery — not at the end of the day or week.
Returns are accepted and processed but the units never appear back in stock. Over time your stock count drifts lower than it should be.
In Shopify Admin, go to Orders → filter by returns. Check recent returns and verify whether the inventory was restocked when the return was processed. In POS, check if the return location setting matches where the product physically went.
When processing returns, always restock the item in Shopify if the product is in sellable condition. Check the location setting — stock should be added back to the location where the physical unit was returned, not your default warehouse.
After a bulk inventory update, certain products show wrong quantities. Sizes or colours have each other's stock counts.
Open the CSV file you imported and check that the SKU column exactly matches your Shopify variant SKUs. Even a single character difference will cause Shopify to fail to match the variant or match it to the wrong one.
Always export your current inventory CSV from Shopify first and use it as the template for updates. Never create a CSV from scratch — the SKU values must match exactly. After any import, spot-check 5-10 variants against physical count before opening for business.
The most damaging and hardest to spot sync cause is a third-party app automatically overwriting your inventory on a schedule. Here is exactly how to check:
Admin → Products → select affected product → Inventory → view history. If you see adjustments with an app name as the source, that app is writing to your stock.
Admin → Settings → Apps and sales channels. Any app with "Read and write" inventory permissions can change your stock. Know which apps have this level of access.
Make a deliberate manual adjustment to a test product. Note the new count. Wait 2-4 hours. If the count has changed without any sales or manual action, an app is overwriting it. Check the history to see which one.
Most inventory apps have a setting to control whether they push stock counts back to Shopify automatically. Find this setting and disable it. The app should read from Shopify, not write to it on a schedule.
Most sync issues are preventable. These five practices, consistently applied, stop the majority of problems before they start.
Go to Admin → Settings → Apps and sales channels → check permissions. Any app with "Edit inventory" permission can change your stock counts. Know which apps have this access and understand what they do with it.
Every inventory change in Shopify creates a history entry. Get into the habit of reviewing this log when something looks wrong — it shows exactly when a change was made, by whom, and from which source.
Compare physical stock to Shopify records four times a year minimum. Small discrepancies caught early are easy to fix. Discrepancies that compound over six months become significant and hard to trace.
Every incoming shipment should be counted and logged in Shopify before being put away. This one step prevents the most common cause of stock count drift — unlogged receiving.
Your default inventory location affects where adjustments, returns, and imports are applied. Check this setting and make sure it matches your actual primary stock location.
The most common cause is a third-party app with inventory write permissions updating your stock counts automatically on a schedule. Other causes include multiple staff making adjustments simultaneously, returns being processed without restocking, and CSV imports with incorrect variant mappings. Check your inventory history log in Shopify Admin — it shows every change with the source and timestamp.
Go to Admin → Products → select a product showing incorrect stock → Inventory → view the adjustment history. The history log shows the source of every change. If you see adjustments from an app name rather than "Shopify admin" or a staff account, that app is writing to your inventory. Check that app's settings for an automatic sync or push option and disable it.
Yes. If two apps both have inventory write permissions and both push stock counts to Shopify on a schedule, they will overwrite each other's updates and both will conflict with manual adjustments. The safest setup is to have only one app that writes to inventory — and ideally one that only updates stock on explicit actions like receiving a purchase order, not on an automatic schedule.
First, do a physical count of the affected products. Then compare to Shopify's recorded count. Before adjusting the number, check the inventory history log to find when and why the discrepancy started — this tells you the root cause. Fix the root cause first, then use Shopify's manual adjustment tool with a reason code to correct the count. If you fix the number without addressing the cause, the discrepancy will reappear.
Shopify POS and the online store share the same inventory in real time, which is generally reliable. Sync issues with POS usually come from sessions not being properly closed at end of day, returns being processed to the wrong location, or a third-party app overwriting POS adjustments after the fact. The POS itself is not usually the problem — it is what happens around it.
Five key practices: audit every app with inventory write permissions and understand what they do, implement a receiving process where every incoming shipment is logged in Shopify immediately, process returns with explicit restock decisions each time, limit who can make manual inventory adjustments, and do a physical count quarterly to catch drift before it becomes significant.
Debnix reads your Shopify inventory but never overwrites it automatically. Stock only updates when you mark a purchase order as received. No background syncs, no overwriting your team's adjustments. $21.99/mo, 30-day free trial.
Built solo.