Product traceability

How to track Odoo products by lot or serial number

Follow a batch or an individual item from receipt to shipment. Learn the difference between creating a tracking record and assigning that number to a real stock movement.

By OdooMatrix Published Updated 5 min read

At a glance

A lot identifies a batch; a serial number identifies an individual item. Creating the tracking record alone does not receive stock or assign existing quantities to it.

1. Choose the tracking granularity before receiving stock

Use lot tracking when many units share one batch identity, such as a production run or supplier batch. Use serial tracking when you must distinguish individual items, such as separate devices with warranty histories. Choose from the traceability requirement rather than the label format alone.

The walkthrough uses new training products in a test database with Inventory. Use Purchase and Sales if you want linked supplier and customer documents. Confirm that warehouse users can receive, deliver, and inspect the intended products.

For a lot example, imagine 12 training components supplied as one batch. For a serial example, imagine three test devices, each with its own identifier. These are illustrative records, not customer results.

2. Enable traceability and configure the product

  1. Open Inventory → Configuration → Settings, enable Lots & Serial Numbers in Traceability, and save.
  2. Open the product under Inventory → Products → Products. Use an inventory-tracked Goods product.
  3. Set Tracking to By Lots or By Unique Serial Number, then save.
  4. Review the receipt and delivery operation types. Permit creation of new numbers only where that operation should create them, and use existing numbers for normal deliveries.

If the product already has stock, stop and plan the reassignment of that existing stock with the warehouse owner. Changing the tracking selector does not magically label quantities already in a location. Use the supported reassignment or inventory procedure with reconciliation.

3. Assign the number to the actual receipt

  1. Create and confirm a test purchase, then open its linked receipt. An existing Inventory receipt can also be used.
  2. On the tracked product line, open Details to inspect the detailed operations.
  3. For the lot example, enter a test batch identifier such as TRAIN-BATCH-01 and assign the 12 actually received units.
  4. For the serial example, enter three distinct identifiers and allocate one unit to each.
  5. Check the total received quantity, destination, and tracking lines, save the details, then validate the receipt.

Assign only the quantities physically received. Split a real partial delivery and its remaining backorder as appropriate. An import or generated-number wizard can help with many lines, but review whether it adds to or replaces existing lines before confirming.

4. Select stock that exists in the right location

Open the delivery for a test sales order and inspect the tracked product’s detailed operations. Check the selected lot or serial, source location, and shipped quantity before validating. The identifiers should represent the physical items your warehouse selected.

For the lot example, shipping 5 of the 12 received units should leave 7 in that batch when no other movements occur. For serial tracking, choose the exact device being shipped rather than creating a new identifier to bypass an availability problem.

Tracking identifies stock; it does not necessarily choose the oldest batch or nearest expiration date. Removal strategies and expiration configuration are separate features that must be configured and tested when the business needs them.

5. Inspect stock and the movement history

Go to Inventory → Products → Lots/Serial Numbers and open the identifier. Inspect the associated product and company, current stock or location information, and the Traceability smart button.

Follow the linked receipt and delivery references to answer practical questions: which supplier delivery introduced the batch, which location still holds it, and which shipments used it? Include returns and internal transfers when investigating current stock.

A traceability report is evidence from recorded operations. It cannot recover an identifier that staff never captured, and it does not by itself complete a recall or regulatory process. Agree on the supporting supplier, customer, and quality records the business must retain.

6. Resolve mismatches without inventing stock

  • A receipt cannot validate: check for missing tracking numbers and whether their quantities add up to the received quantity.
  • An existing number cannot be selected: inspect the product, company, operation-type settings, and available stock location.
  • A batch record exists but has no stock: check whether it was ever assigned to a validated receipt or production movement.
  • A serial appears available in the wrong place: follow transfers and returns before adjusting quantities.
  • Old untracked stock remains: use a controlled reassignment process rather than creating a receipt for goods that did not arrive.

Completion check: receive a tracked quantity, deliver part of it, confirm the remaining balance, and trace both documents from the identifier record.

7. Frequently asked questions

Can one lot number cover several units?

Yes. A lot represents a batch and can cover multiple units. A unique serial number identifies an individual tracked item.

Does creating a lot record add stock?

No. The record must be assigned to actual receipt, production, or other appropriate inventory operations. Record creation alone does not receive or label stock quantities.

Does lot tracking automatically use the earliest expiry date first?

No. Tracking, expiration settings, and removal strategies are separate. Configure and test the required stock-selection behavior as well as the tracking numbers.

8. Related articles and next steps

Reviewed against Odoo 20 documentation. Menu labels, availability, and actions depend on your edition, hosting, installed apps, and permissions. Practise the workflow in a test database before changing production.

Need help with your Odoo workflow?

Tell us your version, apps, and the outcome you need. Discuss your setup with OdooMatrix.

← Back to all articles