OdooWiki OCA HUB

Purchase MRP Distribution

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

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.0

Lets 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

purchase_mrp
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-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 3 confirmed, 6 with no information of 9 versions.

Sources · Odoo 19.0

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

terminal Installation and usage

OCA documentation · Odoo 19.0

To 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)

To 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.

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.