Most unrecovered stock comes from a restock that never happened: a refund with the box unticked, a return nobody closed. Those are visible if you look. There is a rarer case that is not: the restock was recorded, everything reads as done, and the inventory count did not change.
How a recorded restock fails to land
The record and the adjustment are two separate writes. A returns app marks the return restocked, then asks Shopify to adjust inventory. If the second call fails, or targets a location that does not stock the variant, or arrives after the variant was edited, the first write stands and the second never happens.
A person can do the same by hand: tick Restock on the refund, then later correct the count downward for an unrelated reason, wiping out the restock without realising.
Why it is hard to see
Every surface says done. The return is complete. The refund shows restocked. The only thing that disagrees is the inventory level, and nobody looks at that for a variant they believe was just topped up.
It also cannot be found by looking backwards. Shopify does not keep a long historical log of adjustments, so you cannot pull last quarter's restocks and check each one. The only way is to watch forward: record the claim as it is made, then confirm the count moved.
The check
For each restock claim, from a refund or a return:
1. Note the variant, location, quantity and time. 2. Watch the inventory level for that variant at that location. 3. If it has not risen by the quantity within a reasonable window, list the claim as an exception.
A claim that is confirmed drops off. A claim that never confirms is a unit to go and find.
What it catches, and what it does not
It catches a failed or misdirected adjustment. It does not catch a later downward correction that reverses a restock that did land, because the confirmation already happened. That is a stocktake's job, and an honest check says so.
This is StockReclaim's Rule D. It is forward-only by the nature of the platform, which is also why it is worth running continuously: each month watched is a month covered. Read about the four rules.