Blog · 30 September 2026 · 8 min read

Wrong inventory adjustment on Shopify: how to find and reverse it

Where Shopify records a mistaken inventory adjustment, how to reverse it without overwriting sales, and why an undo should be a delta, never a set.

Someone typed 80 into the wrong row. Or received a delivery twice. Or applied a count from Tuesday on Thursday, after two days of sales. However it happened, a quantity in Shopify is now wrong, you are not entirely sure by how much, and the obvious fix, opening the product and typing what you think the shelf holds, is the one most likely to make it worse.

This post is about doing it properly: finding the exact adjustment in Shopify's own history, reversing it with a change that leaves every other movement intact, and setting things up so the next mistake is a two-click undo rather than an afternoon. It uses Restock Ops for the app side because every write it makes is designed to be reversed this way, but the first half is pure Shopify admin and applies to everyone.

Why typing the right number is the wrong fix

Shopify offers two ways to change a quantity, and its help centre describes them plainly: Set to, which replaces the quantity with a number you type, and Adjust by, which adds or subtracts from whatever is there. Set to is meant for the moment right after a physical count. It is the wrong tool for correcting a mistake, because it erases two things at once: the mistake, and every legitimate change that happened since. If a staff member added 80 to the wrong variant at 10:00 and the store sold three of that variant by 14:00, setting the quantity back to what it was at 09:59 quietly unsells those three.

The correct fix is the inverse of the mistake, applied as an adjustment: minus 80, with a reason. Sales since 10:00 are untouched, the history shows the error and its correction as a pair, and anyone reading it later can see what happened without reconstructing the day. This is a small distinction with large consequences, and it is the principle the rest of this post is built on.

Step one: find the adjustment in Shopify

Every change to a tracked quantity is recorded. Open the product, choose the variant, and under Inventory click the adjustment history link for the location. Shopify shows the last 180 days, one row per change, with the date, the activity that caused it, who or what created it, and the adjusted amount followed by the new total for each inventory state: unavailable, committed, available, on hand and incoming. A dash means that state was not touched.

Read the Created by column first. A manual edit shows the staff member's name; an order shows the sales channel; an app shows the app's name. Then read the activity. A mistaken Set to shows up as a jump to a round number with no order behind it; a double receipt shows as two identical increases minutes apart; a stale count shows as a cycle-count adjustment whose size does not match anything you sold. If the store has a reason recorded, which is optional in the admin but which good apps always supply, it will be there too.

For anything older than 180 days, or for finding a mistake when you do not know which product it hit, use the Inventory adjustment changes report in Analytics. It can be filtered by SKU, location, staff member, app and reason, so “every manual adjustment by this person last week” is one query. A September 2026 community thread about the admin's adjustment box lining up with the wrong row is a good example of why this matters: merchants found that the adjustment field sat visually between two rows and quantities went to the neighbour. The report, grouped by staff member and reason, is how you find those.

Reading a suspicious row in Shopify's adjustment history
What you seeWhat it usually isHow to reverse it
A jump to a round number, created by a staff member, no orderSet to typed on the wrong variant or wrong dayAdjust by the difference between the old and new on-hand shown on that row
Two identical increases minutes apart, created by an app or a personReceipt applied twiceAdjust available by minus one receipt's quantity, or undo the second receipt in the app that made it
A cycle-count adjustment that does not match salesCount applied after the shelf had already changedAdjust by the reverse of the count delta, then recount
A decrease with no reason, created by a staff memberDamaged or shrinkage entered as a manual change, possibly fat-fingeredConfirm on the shelf before touching anything; if wrong, adjust by the inverse

Step two: reverse it as a delta

  1. From the history row, work out the size of the mistake. Shopify shows the adjustment and the resulting total on each row; the adjustment amount is the number you need, with its sign flipped.
  2. Open the product's inventory and click the Available quantity for the right location. Choose Adjust by, not Set to, and type the inverse: if the mistake was plus 80, type minus 80.
  3. Add a reason. Shopify lets you pick one when adjusting, and Correction is the honest choice. A reversal with no reason looks, six months later, exactly like another mistake.
  4. Review the pending change before saving. Shopify holds adjustments as pending until you click Save, so this is the moment to check the row, the location and the sign one more time. Then save.
  5. Go back to the history and confirm two rows now sit together: the error and its correction, with the on-hand total after the second equal to what it would have been had the first never happened, allowing for sales in between.
  6. If the mistake hit the wrong item, remember there is a second half. The item you meant to adjust never received its change, and no report will show that, because nothing happened to it. Make the intended adjustment now, while you remember what it was.

How Restock Ops makes the same thing a button

Everything above is possible by hand. It is also slow, and it depends on someone knowing the rule about deltas. Restock Ops is built so that its own writes never need the manual route. Every change it makes to Shopify, whether receiving a purchase order, applying a stocktake or updating a cost, is previewed with the exact resulting quantities, sent as a single logged mutation, and recorded in a write log you can open from Settings. Each row in that log has an undo action.

Undo does what step two describes, automatically. It issues the inverse adjustment, never a blind set, so sales that happened after the original write are preserved. It records the reversal as a new row linked to the original, so the pair is visible in the app and in Shopify's history, where the app's writes also carry a reference back to the document that caused them. For a receipt, undo takes the received units back out of available, puts them back into incoming if the purchase order was projecting them, restores the previous unit costs, and returns the purchase order lines and status to where they were. Because receipts on one purchase order stack, only the most recent applied receipt can be undone, which keeps the sequence honest; undoing an earlier one would silently change what the later ones meant.

For a stocktake, the write was already a set of deltas: counted minus expected on hand, per line, with the reason cycle_count_available, so that sales during the count are not overwritten. Undo issues the opposite deltas with the reason correction and marks the stocktake as undone. And before a stocktake is applied in the first place, Restock Ops re-reads the Shopify quantities and sends the expected value along with each change. If anything moved since you counted, Shopify rejects the whole write and the app tells you which products changed, rather than applying a stale count and creating exactly the mistake this post is about. That check is described in more detail in our barcode stocktake guide.

Stopping the next one

  • Receive against a document, not a product. A receipt tied to a purchase order line cannot be applied to the wrong SKU by a misaligned text box, and it cannot be received twice without the second receipt showing zero remaining. See how partial receiving keeps the running total.
  • Use Adjust by for anything that is not a fresh count, and use Set to only in the minutes after counting that exact shelf.
  • Always record a reason. Shopify's report can filter by it, which means a weekly look at manual adjustments with no reason, or with the reason Correction, tells you where the process is leaking.
  • Prefer tools that log what they wrote and can reverse it. An app that sets quantities without a preview or a log leaves you doing forensic work in the adjustment history; one that adjusts by deltas and keeps its own write log makes a mistake a thirty-second undo.
  • Look at the history from a staff member's point of view once. The adjustment box problem merchants reported in 2026 was not carelessness; it was a layout that made the wrong row look right. If your team keeps hitting neighbours, the fix is a scanner and a receipt screen, not a reminder email.

FAQ

How do I undo an inventory adjustment in Shopify?

Shopify has no undo button for adjustments. Find the row in the variant's inventory adjustment history, note the adjustment amount, then make a new adjustment using Adjust by with the opposite sign and a reason such as Correction. Do not use Set to, because it also erases any sales or other changes that happened after the mistake.

How far back does Shopify's inventory adjustment history go?

The per-variant history in the admin shows the last 180 days. For older changes, or to search across many products, use the Inventory adjustment changes report in Analytics, which can be filtered by SKU, location, staff member, app and adjustment reason.

Can Restock Ops undo an inventory change it made to Shopify?

Yes. Every write appears in the Shopify write log under Settings with an undo action that applies the inverse adjustment and links the reversal to the original. Receipts can be undone in reverse order, most recent first, and applied stocktakes can be undone as a whole. Undo never sets a quantity directly, so sales since the original write are preserved.

What is the difference between Set to and Adjust by in Shopify inventory?

Set to replaces the quantity with the number you type and is intended for the moment after a physical count. Adjust by adds or subtracts from the current quantity and is the right choice for receiving stock, recording damage, and reversing mistakes, because it leaves every other movement intact.

Try it on your store. Restock Ops adds purchase orders with partial receiving, supplier notes, cost history, barcode labels, scanner stocktakes and a reorder report on top of Shopify inventory. From $19/month, 14-day free trial.

Install on Shopify Watch the demo

Sources