Shopify says import was successful but stock didn't change
"Successful" means the file was readable, not that every row matched a product. When a SKU in your file doesn't exactly match the SKU already in Shopify, that row is quietly skipped — and the count stays exactly where it was.
What "successful" actually means
Shopify's import confirmation reports on the file, not the outcome: it tells you the file was well-formed and how many rows it processed. It does not tell you how many of those rows found a matching product. A row with a SKU that doesn't match anything in your store is a completely valid row from the parser's point of view — it just has nothing to update, so nothing changes.
Why the SKU stops matching
The most frequent cause is Excel or Google Sheets quietly altering the SKU text before it ever reaches Shopify. A SKU column formatted as a number rather than text can lose leading zeros (00123 becomes 123) or, for longer numeric SKUs, flip into scientific notation (1.23E+11) when the column is too narrow to display the full digits — either change makes the value no longer match the original SKU in your store. Trailing whitespace from a copy-paste is invisible in the cell but breaks an exact-text match just the same.
Less commonly, the SKU matches fine but the variant's inventory tracker isn't set to shopify for that item — in that case the quantity column is ignored regardless of whether the SKU matched, because Shopify isn't tracking that variant's count at all.
How to verify and fix it
Format the SKU column as Text before entering any values, and re-check a sample of SKUs against your live store for hidden characters or leading-zero loss. Upload the file below first — it reads the raw cell values and will surface a SKU mismatch before you spend another cycle uploading to Shopify itself.