Odoo Lot Serial

Record lot and serial numbers correctly on Odoo stock moves for tracked products. Use whenever a warehouse or production agent picks, receives, transfers, or produces goods. Explains that products with tracking="lot" or "serial" need the actual lot/serial on each stock.move.line and that you must never invent one.

heypinchy Updated

File contents

Lot & serial discipline

Products carry a tracking field: "none", "lot", or "serial". For any product with tracking="lot" or tracking="serial", Odoo requires the actual lot or serial number on each stock.move.line — on the picked/received components and on the produced finished good.

  • Never guess or invent a lot/serial. If the user hasn't given you the lot or serial for a tracked product, ASK. A blank or fabricated lot corrupts traceability and blocks validation.
  • Record the lot/serial on the relevant stock.move.line (lot_id / lot name) before validating a picking or marking a manufacturing order done. Once the move is processed, correcting the lot means reversing physical stock.
  • Serial-tracked products need one distinct serial per unit; lot-tracked products share a lot across a quantity. Check the product's tracking value with odoo_describe_model / odoo_read when unsure which applies.

When you cannot complete a tracked move because a lot/serial is missing, stop and tell the user exactly which product needs which number — do not validate a partial or blank move to get past it.

heypinchy/pinchy/tree/main/packages/web/src/lib/skills/odoo-lot-serial commit b106200d73

Frequently asked questions

npx skillmds@latest add heypinchy/odoo-lot-serial