How-to guide
Inventory adjustment history in Shopify: the 180-day limit and how to audit changes
Shopify keeps per-variant inventory adjustment history for 180 days in the admin, then only in the 'Inventory adjustment changes' report. Where to find it, what the seven reasons mean, and how to run a monthly audit before the trail expires.
By Bastien HugonFounder & Engineer8 min readPublished July 10, 2026
TL;DR
Shopify keeps a per-variant inventory adjustment history for 180 days in the admin — every quantity change, when it happened, and the reason attached — and beyond 180 days the record lives only in the 'Inventory adjustment changes' report. That history is your audit trail: open it per variant per location, read the reasons, and cross-check them against your counts and receipts. Because it ages out at 180 days and does not export directly from the variant page, an audit is something you do on a cadence, not once when a number looks wrong.
Shopify's help pages describe where the adjustment history lives; almost nobody explains how to *use* it. On its own it is a log — a scroll of numbers and reasons. Turned into a routine, it is the difference between 'inventory is off again' and 'someone adjusted this variant down to Damaged last week, with no count and no receiving to match it.' This guide covers where to click, what each reason actually means, how to run a monthly pass, and how to work around the two limits that quietly defeat most audits: the 180-day window and the missing export.
Where the history lives
Adjustment history is recorded per variant, per location — not as one global feed — so you reach it through the product. The path in the admin:
- 01
Open the product, then the variant
From Products, open the product and select the specific variant you want to inspect. History is tracked at the variant level.
- 02
Pick the location
On the variant's inventory area, choose the location whose stock you are auditing. Each location keeps its own adjustment history.
- 03
Open View adjustment history
Open the adjustment history for that variant at that location. You get a dated list of every quantity change, the delta, the resulting on-hand, and the reason attached to each change.
- 04
Read it against a threshold
Scan for large deltas, clusters of the same reason, and anything without an obvious matching event. A big adjustment with a vague reason is what to chase before anything else.
The seven reasons, and what they should mean
Every adjustment carries one of seven reasons. The reason is the only place the *cause* of a change is ever recorded, so an audit is really a check on whether the reasons were used honestly. What each one is for:
| Reason | Use it when | Audit note |
|---|---|---|
| Count | A stocktake reset on-hand to the counted reality | A clean reason to see — it means a real count backs the change. |
| Received | New stock arrived and was added in | Should line up with a purchase order or packing slip; a Received with no delivery is a flag. |
| Return restock | A returned item was put back into sellable stock | Cross-check against actual returns. |
| Damaged | Units broken, spoiled, or discarded | A truthful loss reason — watch its trend by product and location. |
| Theft or loss | Units gone with no other explanation | Keeps shrink attributable; a rising trend here is a real signal. |
| Promotion or donation | Stock given away or used for marketing | A deliberate decision, not shrinkage — should tie to a known campaign. |
| Correction | A genuine clerical error is being reversed | The dangerous one — see the warning below. |
The monthly audit, step by step
An audit is a repeatable pass, not a one-off panic. Run it monthly so nothing important ages past the 180-day window before you have looked at it:
- 01
Start from the biggest movers
You cannot open every variant, so triage: sort by the variants with the largest value or the most movement, plus anything flagged by a recent count variance. Those are where a bad adjustment costs the most.
- 02
Read each history by reason
Open the adjustment history and group what you see by reason. Clusters of Damaged or Theft or loss in one section are a real signal; a wall of Correction is a data-quality problem to fix at the source.
- 03
Cross-check against receipts and counts
Every Received should match a delivery; every Count should match a stocktake you actually ran. An adjustment with no matching event — stock changed but nothing was received, returned, or counted — is the exact thing an audit exists to catch.
- 04
Chase adjustments with no associated count
A large downward adjustment that is not backed by a count is either an undocumented loss or an error. Trace who made it and when, confirm the cause, and re-record it against the right reason if it was mislabelled.
- 05
Export what is about to expire
Before you close the pass, export or note anything approaching the 180-day edge. Once it ages out of the admin view, you are dependent on the report — capture it while it is still in front of you.
The two limits to work around
- The 180-day window. The admin shows adjustment history for 180 days. Beyond that, the record survives only in the 'Inventory adjustment changes' report — so a question you ask in month seven about month one may no longer be answerable from the variant page. Audit inside the window while the detail is still there.
- No direct export from the variant history. You cannot one-click export a variant's adjustment history from the history view itself. The practical fix is to export as you go — capture the trail on your monthly pass rather than hoping to reconstruct a year later, because by then the early months have aged out.
Doing this with Solvi Stocktake
Solvi Stocktake is built around the habit the 180-day limit forces. Every count keeps its own history — who scanned each line, what the variance was, valued at cost before and after on the Growth plan — so the trail behind an adjustment lives with the count that produced it instead of only in a window that expires. Counts are editable, deletable, and renamable, and both the count and the full catalog export to CSV, so 'export as you go' is the default rather than a chore you forget. When a count is applied, it is recorded against a truthful reason and captured in your own records, and the whole apply is reversible in one click if a bad number slipped through. Scheduled cadence reminders on Growth keep the monthly pass from lapsing — the app tells you a slice is overdue instead of you discovering it after the trail is gone. Free covers two counts a month; Starter is $9; Growth is $19 with cost valuation and reminders.
Shopify's 180-day history is still the source of truth for adjustments made outside a count; a counting app that keeps its own attributed, exportable trail is how you stop losing the story once that window closes.
Frequently asked questions
How far back does Shopify inventory history go?
Shopify keeps per-variant inventory adjustment history for 180 days in the admin. Within that window you can open a variant at a location and see every quantity change, its date, the delta, and the reason attached. Beyond 180 days the detailed per-variant view no longer shows the change — the record survives only in the 'Inventory adjustment changes' report. Because of that cutoff, the practical move is to audit and capture the trail on a monthly cadence rather than trying to look back a year later, once the early months have aged out of the admin view.
Can I export inventory adjustment history?
Not directly from the variant's adjustment-history view — there is no one-click export of that per-variant log from the history screen itself, which is the limit that quietly defeats most year-end audits. The workaround is to export as you go: capture the trail on each monthly audit pass while it is still inside the 180-day window, and lean on the 'Inventory adjustment changes' report for the longer record. A dedicated counting app that keeps each count's history and exports both the count and the catalogue to CSV removes the scramble by making the export the default.
Who changed my inventory?
Open the variant's adjustment history for the location in question: each entry shows when the quantity changed, by how much, and the reason recorded — and adjustments made by staff carry that attribution, so you can trace an unexpected change back to its source. The catch is the 180-day limit and the vague-reason problem: a change buried under a generic 'Correction' from many months ago may no longer be traceable in detail. To reliably answer 'who changed my inventory,' audit within the window and use counts that record who scanned each line, so accountability is captured at the moment the change is made rather than reconstructed after the fact.
Related guides
Troubleshooting
Shopify stock doesn't match reality: diagnose and fix inventory discrepancies
When Shopify's stock number disagrees with the shelf, work a diagnostic tree before you touch anything: is tracking on, what does the adjustment history show, are receipts unrecorded, are SKUs or barcodes duplicated, is stock at the wrong location — and only then count for shrinkage. A cause-symptom-fix table and the safe way to correct.
11 min read
How-to
How to do an inventory count in Shopify: the complete method (2026)
A full physical inventory count method for Shopify: how to prepare, the three ways to count (Quick Count, admin plus bulk editor, a counting app), the step-by-step reconcile-then-apply workflow, and quick fixes for scanners and mid-sale drift.
11 min read
How-to
How to export your data from Stocky (and what has no export)
Purchase orders and stocktakes leave Stocky as CSVs; suppliers do not leave at all. Exactly what to export before August 31, 2026, how to archive it, and how to rebuild the rest.
8 min read
How-to
How to count inventory in Shopify without POS Pro
Quick Count needs POS Pro. If you run POS Lite or admin only, here are the three ways to count stock without it — manual admin entry and the bulk editor, CSV export and re-import, or a counting app that scans with a phone or a USB scanner — with the effort and risk of each.
10 min read
Do this in minutes with Solvi Stocktake
Count your stock by scan, review the discrepancies against Shopify, and apply the fix — without ever risking your inventory data.