Returns and stock accuracy

How do I handle returns without wrecking my stock accuracy?

Sales are the easy half of inventory. Returns and exchanges are where most stock counts actually go wrong, because a returned item is not a clean mirror of a sale: it might be damaged, mis-picked, or need to move to a different location before it can be sold again. Get that wrong and your "accurate" stock number is quietly false.

Why returns break the count

Why returns are where stock accuracy actually fails

A return is not a mirror image of a sale

The item might come back damaged, in the wrong quantity, or destined for a different location than it shipped from. Systems that only handle the sale side get this wrong by default.

Stock gets added back before it is checked

To keep the count moving, returned stock often gets put back as sellable the moment it arrives, before anyone has actually inspected it. Then it gets sold again, and comes back again.

Exchanges touch two orders, not one

An exchange is a return and a new sale that need to stay linked, with correct stock movements on both sides. Handled as two separate, disconnected events, the stock count drifts.

Marketplace returns arrive with less information

Amazon, eBay and bol.com returns often carry less detail than a Shopify return, and reconciling what actually came back against what the marketplace says happened is its own manual job.

What good looks like

Every return goes through the same inspection step, every time.

Returned stock is received, inspected and only then made sellable again, with a clear path for damaged units. Exchanges keep the original order and the replacement linked, so stock movements stay correct on both sides. Marketplace returns reconcile against what actually arrived, not just what the channel claims happened.

How we do it

Odoo processes the return, not just the sale

We build returns handling into Odoo, the open-source commerce ERP, as part of your stock and order workflow, so returns and exchanges from Shopify, marketplaces and a 3PL all flow through the same inspection and putaway process. Our own connectors, including refund and returns sync we build and maintain ourselves, keep Shopify and your marketplaces aligned with what Odoo actually received, not what the order said should come back.

For Gandys, a UK lifestyle brand running three Shopify stores, marketplaces and a 3PL, we built exactly this kind of returns handling as part of unifying their stock into one accurate system. Our own connector also includes duplicate-refund prevention on the Shopify side, so a return does not get processed, and paid out, twice.

Next step

Ready to fix your ops?

Book a free discovery call. We'll look at your current setup and tell you honestly whether Odoo is the right move and what it would involve.