Guides › Inventory reconciliation
Inventory reconciliation for a Shopify store: a routine you can keep
Updated 16 November 2026 · 6 min read · ShelfTrue team
Inventory reconciliation means setting two records of the same stock side by side, explaining every difference, and correcting the record that is wrong. For a Shopify store the two records are Shopify and wherever the stock physically sits: your own shelves, a 3PL, or inventory software. This guide is the routine: what to compare, how often, what counts as close enough, and what to write down so next month is faster.
Reconciliation, a stock count and a discrepancy are three things
- A stock count is someone counting units on a shelf. It tells you what is physically there.
- A discrepancy is one product where two records disagree. How to find and fix one discrepancy is its own guide.
- Reconciliation is the habit that sits over both: on a fixed day you compare every product, sort the differences into "explained" and "not explained", fix the second group, and keep a record that you did.
A store that only fixes discrepancies when a customer complains is reacting. A store that reconciles finds the same problems while they are still small.
Which two records to reconcile
| Where your stock sits | Record A | Record B |
|---|---|---|
| Your own stockroom | Shopify | A physical count |
| A warehouse that ships for you | Shopify | The warehouse's stock report |
| Inventory software between you and Shopify | Shopify | The software's stock report (and, a few times a year, a physical count against the software) |
On the Shopify side, use Available when the other record is "what can still be sold", and On hand when the other record is a physical count of everything on the shelf. Mixing the two is the most common reason a reconciliation never balances. What each Shopify number counts.
How often
| How often | What | Why then |
|---|---|---|
| Weekly | Your fastest sellers (about the top 20) and anything that differed last week | These are the products where a gap turns into an oversell within days |
| Monthly | Every product, at month end | Your accountant needs a stock figure for the month, and Shopify keeps a month-end report you can check against |
| Before and after a big sale | Every product in the sale | A gap that exists before the sale is the one that oversells during it |
The routine, step by step
- Pick a quiet moment. Early morning before orders pick up. Both records should be read within the same hour.
- Export Shopify. Go to Products → Inventory, choose the location, click Export. One location at a time: Shopify keeps a separate number for every location.
- Get the other record for the same location: the warehouse's or software's stock report, or your count sheet.
- Match on the product code (SKU) in a spreadsheet and subtract. Keep four columns: SKU, Shopify, other record, difference.
- Add a fifth column: reason. For every row that isn't zero, write one of the reasons below, or "not explained".
- Fix only the "not explained" rows, starting with the ones worth the most money (units times price).
- Save the sheet with the date. Next time, start by looking at the rows that were not explained last time.
Differences that are explained
- Paid orders not shipped yet. Shopify moves those units from Available to Committed when the order is placed; a shelf count still includes them. Compare with On hand, or add Committed back, and the gap closes.
- Units set aside. Damaged stock, stock held for quality checks and safety stock sit under Unavailable in Shopify. They are on the shelf but not in Available.
- Stock on its way in. A delivery the warehouse has received but not yet put away, or the other way round.
- A buffer you keep on purpose. If you hold Shopify a few units under the real number on every product, write the buffer down once and subtract it before you compare.
What is left after these is the real work: a miscount, a mis-pick, a return that was never put back, a product whose code differs between the two records, or an app that stopped updating Shopify.
How close is close enough
Decide this before you start, or every reconciliation becomes an argument. One workable rule: a difference is worth chasing when it is more than a couple of units and more than a small amount of money, or when Shopify is the higher number on a product that sells every day. Shopify higher means customers can buy what you can't ship, so it gets fixed first even when it is small.
Finding out what changed a number
When a row is not explained, Shopify can tell you who changed its side. Open the product, go to the Inventory section and click View adjustment history. Each line shows the date, the change, and what made it: a staff member, an order, or the name of an app. If the last change from your warehouse's app was days ago, the cause is the connection, not the count.
The month-end check
Shopify's Month-end inventory snapshot report (Analytics → Reports, category Inventory) shows the quantity of each product variant at the end of each month. Two things to know before you compare it with your own month-end sheet:
- Inventory changes can take 12 to 72 hours to appear in Shopify's reports, so read it a few days into the new month.
- The report can show a negative ending quantity. That is usually a product that was oversold, and it belongs at the top of your "not explained" list.
What to keep
- The dated sheet from every reconciliation, with the reason column filled in.
- A short list of the products that are "not explained" two times in a row. A product that keeps drifting has a cause worth an hour of someone's time.
- Your buffer and your close-enough rule, written at the top of the sheet.
Related guides
- Why Shopify stock doesn't match ShipBob (and how to find which products)
- How to find paid Shopify orders that never reached ShipBob
- Shopify oversold but ShipBob has none: what to check first
- Shopify says sold out but ShipBob has stock
- ShipBob orders on hold, and why they make stock numbers differ
- Available, on hand, fulfillable: which stock numbers to compare
- How to check Shopify stock against ShipBob after Black Friday
- Shopify inventory discrepancy: how to find it, fix it and keep it from coming back
- Shopify Available vs On hand vs Committed: which number to trust
- Cin7 Core and Shopify stock don't match: what to check
- Katana and Shopify stock don't match: what to check
- Mintsoft and Shopify stock don't match: what to check
- How to move Shopify inventory to a third-party warehouse, step by step
ShelfTrue does the comparing for you. Upload your warehouse's stock file, or have your warehouse email it to ShelfTrue, and it compares it with Shopify for every linked product at that location, takes out the differences that are only paid orders on their way, and lists what is left with the money at risk. We can look, but never change anything at the warehouse.
Your first check is free.
Get my free stock check