Skip to Content

Why Your Odoo Inventory Counts Don't Match the Shelf

You walk the aisle, look at the bin, and the number in Odoo is wrong. Again. Someone makes an adjustment, the number gets fixed, and a couple of weeks later it's wrong again.

When Odoo inventory counts are wrong, it's easy to blame the software. Usually the system is doing what it was told. The problem is what it was told, and when.

How Odoo keeps count

Odoo doesn't just store a number for each product. It keeps a record of moves. Every receipt, transfer, pick, delivery, return and adjustment moves quantity from one location to another. The count on hand is the sum of those moves.

That's good news. It means a wrong count almost always has a cause you can trace. If something happened on the floor but not in Odoo, or in Odoo but not on the floor, the count drifts.

Product moves from the truck to receiving, put-away, picking, and shipping. Counts drift when a step happens on the floor but not in Odoo.

Why Odoo inventory counts go wrong

Receiving that doesn't match the truck. Half the order shows up. Someone marks the whole receipt done to clear the screen. Now Odoo thinks you have stock you don't. The opposite happens too: product sits on the shelf for days before anyone records the receipt.

Put-away that never gets recorded. If you use bins or a receiving area, product can sit in "receiving" in Odoo while it's really on a shelf in the back. The total looks right. The bin is wrong, and pickers can't find it.

Picking from the wrong place. Pickers grab from the closest bin, not the one Odoo pointed to. The total stays right, but now two locations are wrong.

Units of measure that don't match how you work. You buy by the case, sell by the each, and count by the box. If the units aren't set up to match, one receipt can be way off, and nobody notices until the count.

Duplicate or look-alike products. The same item lives in two product records, often left over from an old import. Stock lands on one, and sales pull from the other.

Returns, damage and samples. The broken one in the corner, the samples sales took to a customer, the return sitting by the dock. If they never touch the system, the count is wrong.

Adjustments with no reason. If anyone can type over a quantity, the count gets "fixed" and the cause gets buried.

One person who knows the workarounds. If the real process lives in one person's head, the count is only right when they're in the building. We wrote more about that in Your ERP Runs on One Person's Memory.

Why one big count doesn't fix it

A full count makes the numbers right for a day. If the habits that broke them don't change, they drift again. That's why the full count and the daily habits of receiving, put-away and checking deliveries are really one job.

How to get counts you can trust

  1. Start with one area. Pick one aisle, zone or product line. Count it when nothing is moving.
  2. Trace every difference. For each item that's off, look at its moves in Odoo. Find the receipt, pick or adjustment that doesn't match what happened.
  3. Fix the habit, then the number. If the cause was a late receipt, fix receiving. Adjust the quantity last.
  4. Cut the screens down. Give receivers, pickers and drivers only the steps they need. Fewer screens means fewer skipped steps.
  5. Ask for a reason on every adjustment. Then look at the reasons every week. They'll tell you which habit to fix next.
  6. Count a little, often. Odoo can schedule counts by location, so a few bins get counted every week instead of everything once a year.
  7. Retire the side spreadsheet on purpose. Once a zone stays right for a few weeks, stop updating the spreadsheet for it, and tell the team.

What this looks like on a real floor

We work with a family-run distributor that already had Odoo when they came to us. The sales team has worked in it every day since go-live. The warehouse floor is the part we're still working through together: the full count, and the habits of receiving, putting stock away and checking deliveries.

It isn't glamorous. It's the work that makes the numbers worth trusting. Go-live is one day. Habits take longer.

When to get a second set of eyes

If you've counted, adjusted and counted again, and the numbers still drift, the setup itself may be fighting how your warehouse works. That's when an outside look helps.

The Odoo Rescue Assessment is a paid, fixed-scope look at your setup, your inventory and warehouse flow, your data, and whether people are really using it. You get written findings, a plan you keep, and a straight answer on whether to fix what you have or start over. If the bigger issue is that the team went back to spreadsheets altogether, start with Your Odoo Went Live. Your Team Went Back to Spreadsheets.

Not on Odoo yet, and inventory lives in a spreadsheet? See how Odoo can run the operation. Not sure where the problem is? Our System Assessment looks at the whole picture.

Book a discovery session

It's a 30-minute call, not the assessment.

Your Odoo Went Live. Your Team Went Back to Spreadsheets.
Why it happens, what not to do next, and how to tell if your setup is fixable.