Home / Odoo Problems / Inventory
Odoo Inventory

Warehouse Routing, Lot & Serial Number Problems in Odoo

By Odoobots ERP TeamUpdated September 20266 min readApplies to Odoo 14–19
TL;DR

Routing problems are almost always a mismatch between configured steps and actual floor practice — two-step receipts configured, one-step reality practiced, so stock camps in WH/Input forever. Traceability problems are enforcement problems: lots and serials must be captured at the door or they are fiction.

First, confirm the symptom

  • Quantities sit in WH/Input or Pre-Processing that nobody can sell
  • Warranty claims can't be traced to a lot or purchase
  • The same serial number exists twice (or on two customers)
  • Pickers wander because the system doesn't say where things are

1. Stock stuck in WH/Input

Two/three-step receipts create an internal move after the receipt. If the floor team validates only the first document, goods live in Input on paper — unsellable, unreservable, "missing".

Fix
  1. Check Reporting → Stock by Location for balances in Input/Output/Packing zones.
  2. Validate the pending internal transfers, then either train the second step into the routine or simplify to 1-step (cause #2).
Odoo storage locations list showing warehouse internal locations like Input and Stock
Inventory → Configuration → Locations: every internal location here is a place stock can hide. If a staging location holds balances for weeks, your steps and your floor disagree.

2. Steps configured for a warehouse you don't have

Three-step delivery (pick → pack → ship) makes sense for a large DC — not for a godown with four staff. Over-engineered flows generate documents nobody completes.

Fix
  1. Match steps to reality in Configuration → Warehouses: most SMEs run 1-step both ways, cleanly.
  2. Add steps only when a physical checkpoint actually exists (QC bay, packing table).

3. Lot tracking on paper, not at the door

Products marked "Tracked by Lots" but receipts validated with auto-generated or dummy lot numbers give you traceability theatre: the data exists, and means nothing.

Fix
  1. Capture the supplier's real lot/batch at receipt — barcode scanning makes this a wand-wave, not typing.
  2. Decide which products genuinely need lots (expiry, warranty, compliance) and untrack the rest — tracking everything guarantees tracking nothing.

4. Duplicate or recycled serial numbers

Serial-tracked items with reused serials (or "1,2,3" style entries) break the one-unit-one-serial chain — returns and warranty become guesswork.

Fix
  1. Enforce uniqueness (Odoo warns on duplicates — stop overriding the warning).
  2. Clean history: merge/correct duplicate serials via inventory adjustments per serial, oldest first.
Odoo lots and serial numbers list used for traceability
Inventory → Products → Lots/Serial Numbers: each row should map to a physical unit or batch you could put your hand on. Rows that can't are the traceability debt.

5. No putaway rules, no removal strategy

Without putaway rules everything lands in the default location; without a removal strategy (FIFO/FEFO) pickers grab whatever is nearest — expiry-dated stock dies quietly at the back.

Fix
  1. Define putaway rules per category/product (Configuration → Putaway Rules) so receipts route to their real racks.
  2. Set removal strategy FEFO for expiry stock, FIFO otherwise, on the location or category.
Traceability audit coming, or warranty chaos already here?

We rebuild warehouse routing to match your floor, implement barcode-first lot/serial capture, and clean historical traceability. Anchor Marine's serialized stock runs on our setup.

Get a warehouse review or WhatsApp +91 98414 81435

Frequently asked questions

Can we switch from 2-step to 1-step receipts without losing history?

Yes — change the warehouse configuration; existing documents remain. Clear the Input backlog first so nothing strands mid-flow.

Do we need barcode hardware for lots and serials?

Strongly recommended — a basic scanner pays for itself in a week. Odoo's barcode flows (Enterprise, or configured Community alternatives) make capture effortless.