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.0Lets 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.
Depends on
Required by other modules
Menus it adds
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-03Confirmation 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.0Usage
Source · Odoo 17.0Go 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.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
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.