This module allows you to buy a product that will be divided into others without knowing the exact quantity of the others. That quantity will be filled in the picking.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Lets you buy one product that is later split into several different components, deciding the exact quantities of each component directly on the stock transfer. A new "Distribution" bill of materials type and a distribute button on transfers make this possible.
This module adds a new bill of materials type called "Distribution" on the bill of materials form. When a product bought from a supplier has such a bill of materials, Odoo automatically links it to the incoming stock move created from the purchase order line.
On the stock transfer screen, a distribute button (sitemap icon) appears on the move line when a distribution bill of materials is linked and the transfer is not yet done or cancelled. Pressing it opens a small wizard showing the demanded quantity and one line per component of the bill of materials, where you enter the quantity, and optionally the lot and package, for each component.
When you confirm the wizard, the original move lines are replaced by lines for the component products, and the move is set back to ready. When the transfer is validated, Odoo creates separate stock moves for each component product, keeps the purchase order line link and the price, and cancels the original move of the bought product. This means the received goods are booked under the real component products instead of the purchased one.
It touches purchase order lines, stock moves, stock move lines, bills of materials and the stock transfer screen. Access is granted to standard inventory users.
Depends on
Models and fields (5)
- mrp.bom · extends an existing modeltype
- stock.move · extends an existing modeldistribution_bom_id
- purchase.order.line · extends an existing model
- stock.move.distribution.wiz · new modelmove_id, line_ids, move_uom_id, demand_quantity
- stock.move.distribution.wiz.line · new modellot_id, uom_id, quantity, wizard_id, company_id, package_id, product_id
Text generated by AI (DeepSeek) from reading the Odoo 19.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: 3 confirmed, 6 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 19.0Configuration
Source · Odoo 19.0To use this module, we will need to configure n different distribution-type Bills of Materials (BoM) for n products. To do this, we will follow these steps:
- Go to Manufacturing \> Products \> Bills of Materials
- Click on Create
- Select the product to be distributed in the receptions
- Select the BoM type "Distribution"
- In the components, add the products that can be filled in the reception (it is not necessary to mark the quantity as it will default to 0)
Usage
Source · Odoo 19.0To see the module's functionality:
- Create a new purchase order
- Add the product for which the BoM has been created
- Confirm the order
- Go to the created delivery order
- You will see a new button in the move that contains the product, click on it
- A wizard will open to define the quantity of each product to distribute
- By clicking on Distribute, the move lines will be added with the products from the BoM
No verified information in OCA: Installation.
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.