Useful Tools

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

This is per-variant-per-location. There is no single admin screen that shows every adjustment across the store in one list — which is exactly why an audit needs a method, not just a button.

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:

ReasonUse it whenAudit note
CountA stocktake reset on-hand to the counted realityA clean reason to see — it means a real count backs the change.
ReceivedNew stock arrived and was added inShould line up with a purchase order or packing slip; a Received with no delivery is a flag.
Return restockA returned item was put back into sellable stockCross-check against actual returns.
DamagedUnits broken, spoiled, or discardedA truthful loss reason — watch its trend by product and location.
Theft or lossUnits gone with no other explanationKeeps shrink attributable; a rising trend here is a real signal.
Promotion or donationStock given away or used for marketingA deliberate decision, not shrinkage — should tie to a known campaign.
CorrectionA genuine clerical error is being reversedThe dangerous one — see the warning below.
'Correction' is the catch-all that destroys your audit trail. When staff reach for it on every variance, theft, damage, receiving shortfalls, and real keying errors all collapse into one meaningless bucket — and six months later you have a history you cannot break down by cause. In an audit, a pile of 'Correction' adjustments is not a clean book; it is a blind spot. Reserve it for changes you can genuinely name as clerical.

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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.
The 180-day limit and the missing export combine into one trap: wait until year-end to investigate and the first half of the year is simply gone. The only defence is cadence — audit and capture monthly, not annually.

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

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.