OdooWiki OCA HUB

MRP Production Serial Matrix

mrp_production_serial_matrix folder_open OCA/manufacture open_in_new
Manufacturing License: AGPL-3

This module aims to ease the processing of Manufacturing Orders with the following characteristics:

  • The finished product is tracked by unique serial numbers.
  • The quantity to be produced is more than one unit.
  • Some of the components are tracked by serial numbers and/or lots.

auto_awesome What this module does

AI-generated from the code · Odoo 17.0

Lets you assign the exact component serial numbers and lots consumed for each finished serial number of a manufacturing order, in a grid, and then validate the MO automatically.

When a manufacturing order produces a product tracked by serial numbers, a "Serial Numbers Matrix" button appears on the MO form (once it is confirmed). It opens a dedicated screen where you pick the finished product serial numbers and fill a grid: each row is a finished serial number, each column a tracked component, and each cell the component lot/serial number consumed.

  • The grid is built automatically from the MO's components; serial-tracked components always appear, and lot-tracked ones can be added with the "Include Lots?" option.
  • Only lots/serials available in the source location can be chosen, and warnings appear if a serial is used twice, if a lot is not available in the needed quantity, or if some cells are left empty.
  • "Validate" processes the MO: it sets the finished serial number, reserves and consumes exactly the selected lots/serials, and handles backorders and chained MOs one serial at a time.
  • The matrix has its own status (Draft, In Progress, Exception, Done, Cancelled), can be reset to Draft after an exception, and can only be cancelled by a manufacturing manager once the MO is done or cancelled.
  • A list view and a menu "Manufacturing Orders Serial Matrix" under Manufacturing let you find and follow all matrices.

Menus it adds

Manufacturing Orders Serial Matrix
Models and fields (3)
  • mrp.production · extends an existing modelshow_serial_matrix
  • mrp.production.serial.matrix · new modelstate (Status), line_ids (Matrix Cell), company_id, product_id, include_lots (Include Lots?), production_id (Manufacturing Order), finished_lot_ids (Finished Product Serial Numbers), production_state (MO Status), lot_selection_warning_ids, lot_selection_warning_msg, lot_selection_warning_count
  • mrp.production.serial.matrix.line · new modelstate, lot_qty, wizard_id, component_id, production_id, finished_lot_id, component_lot_id, finished_lot_name, component_column_name, allowed_component_lot_ids

Text generated by AI (DeepSeek) from reading the Odoo 17.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 4 confirmed, 5 with no information of 9 versions.

Sources · Odoo 17.0

Confirmed on 2026-11-03 in branch 17.0 of OCA/manufacture.

terminal Installation and usage

OCA documentation · Odoo 17.0

Go to a Manufacturing Order with the characteristics described above, then proceed as follows:

  • Click on the button "Serial Numbers Matrix".
  • Fill the Finished Product Serials Numbers. As you fill them you will see how the matrix below is updated.
  • Fill the matrix. The matrix is composed of one row per final serial number and one column per component serial number or lot needed to complete the production.
  • Click on Validate. You will be redirected to all the MOs generated.

Take into account the following:

  • You need to attend all the warnings at the bottom before validating the matrix. They help you to identify error in the input (duplicated serial numbers, not enough stock...).
  • Rows with no final lot are ignored. You will have a backorder MO for the remaining quantity.

No verified information in OCA: Installation, Configuration.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.