This module allows you to calculate, based in known inventory, demand, and supply, and based on parameters set at product variant level, the new procurements for each product.
To do this, the calculation starts at top level of the bill of material and explodes this down to the lowest level.
Key Features
- MRP parameters set by product variant MRP area pairs.
- Cron job to calculate the MRP demand.
- Manually calculate the MRP demand.
- Confirm the calculated MRP demand and create PO's, or MO's.
- Able to see the products for which action is needed throught Planned Orders.
- Integration with Stock Demand Estimates system. Note: You need to install mrp_multi_level_estimate module.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0Adds a multi-level MRP scheduler that plans supply and demand for products per MRP area, showing planned orders and letting you release them as purchase orders or manufacturing orders.
This module adds a planning engine on top of Manufacturing. You define MRP Areas (a warehouse plus a stock location) and, for each product and area, a set of MRP parameters such as safety stock, minimum/maximum order quantity, quantity multiple, lead time, inspection delay and a planner.
- Run the calculation manually from the Run MRP screen or let the scheduled job do it. The engine explodes bills of materials from top level down and creates MRP Moves (supply and demand) and Planned Orders.
- MRP Inventory shows, per product and date, starting inventory, demand, supply, requests for quotation, forecasted inventory, planned availability and the quantity still to procure, with list, pivot and graph views.
- Planned Orders list what should be released, with release date, due date, action (buy, produce, kit, pull/push) and a fixed flag you can toggle. Buttons open the linked manufacturing orders or the related requests for quotation.
- The Procure wizard turns selected planned orders or inventory lines into real procurements (purchase orders or manufacturing orders) and records the released quantity. A user group controls who may change the quantity in that wizard.
- Product and product template forms show an MRP Area parameters smart button; stock locations show how many MRP areas use them.
Business rules include: parameters cannot be negative, a product/area combination must be unique, products and parameters must belong to the same company, and deactivating a product deactivates its MRP parameters.
Depends on
Required by other modules
Menus it adds
Models and fields (14)
- mrp.area · new modelname, active, company_id, calendar_id (Working Hours), location_id (Location), warehouse_id (Warehouse)
- mrp.move · new modelname (Description), state, bom_id, origin (Source Document), mrp_qty (MRP Quantity), mrp_date (MRP Date), mrp_type (Type), company_id, mrp_origin (Origin), product_id, current_qty, mrp_area_id (MRP Area), current_date, production_id (Manufacturing Order), stock_move_id (Stock Move), mrp_order_number (Order Number), purchase_line_id (Purchase Order Line), parent_product_id (Parent Product), purchase_order_id (Purchase Order), product_mrp_area_id (Product MRP Area), planned_order_up_ids (Planned Orders UP)
- stock.rule · extends an existing model
- stock.quant · extends an existing model
- mrp.inventory · new modeldate, uom_id (Product UoM), rfq_qty (RfQ), company_id, demand_qty (Demand), product_id, supply_qty (Supply), to_procure, mrp_area_id (MRP Area), supply_method (Supply Method), mrp_planner_id, main_supplier_id (Main Supplier), final_on_hand_qty (Forecasted Inventory), planned_order_ids, order_release_date, initial_on_hand_qty (Starting Inventory), product_mrp_area_id (Product Parameters), running_availability (Planned Availability)
- mrp.production · extends an existing modelplanned_order_id
- stock.location · extends an existing modelmrp_area_count (MRP Area Parameter Count)
- mrp.multi.level · new modelmrp_area_ids (MRP Areas to run)
- product.product · extends an existing modelllc (Low Level Code), mrp_area_ids (MRP Area parameters), mrp_area_count (MRP Area Parameter Count), manufacturing_order_ids (Manufacturing Orders), purchase_order_line_ids (Purchase Orders)
- product.mrp.area · new modelactive, company_id, product_id (Product), location_id, mrp_area_id, mrp_exclude (Exclude from MRP), mrp_move_ids, mrp_nbr_days (Nbr. Days), mrp_verified (Verified for MRP), mrp_lead_time (Lead Time), qty_available (Quantity Available), supply_bom_id (Supply BoM), supply_method, mrp_applicable (MRP Applicable), mrp_planner_id, product_tmpl_id, location_proc_id (Procure Location), main_supplier_id (Main Supplier), mrp_qty_multiple (Qty Multiple), mrp_minimum_stock (Safety Stock), mrp_transit_delay (Transit Delay), planned_order_ids, main_supplierinfo_id (Supplier Info), mrp_inspection_delay (Inspection Delay), mrp_maximum_order_qty (Maximum Order Qty), mrp_minimum_order_qty (Minimum Order Qty), distribution_lead_time
- product.template · extends an existing modelmrp_area_ids (MRP Area parameters), mrp_area_count (MRP Area Parameter Count)
- mrp.planned.order · new modelname (Description), fixed, origin (Source Document), mrp_qty (Quantity), due_date, mo_count, company_id, mrp_action (Action), product_id, mrp_area_id (MRP Area), qty_released, mrp_planner_id, mrp_inventory_id (Associated MRP Inventory), mrp_move_down_ids (MRP Move DOWN), mrp_production_ids (Manufacturing Orders), order_release_date (Release Date), product_mrp_area_id (Product MRP Area)
- mrp.inventory.procure · new modelitem_ids (Items)
- mrp.inventory.procure.item · new modelqty (Quantity), uom_id (Unit of Measure), wiz_id (Wizard), product_id (Product), location_id (Location), date_planned (Planned Date), warehouse_id (Warehouse), supply_method, mrp_inventory_id (Mrp Inventory), planned_order_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. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 8 confirmed, 1 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.0Configuration
Source · Odoo 19.0MRP Areas
- Go to Manufacturing \> Configuration \> MRP Areas and define or edit any existing area. You can specify the working hours for every area.
Product MRP Area Parameters
- Go to Manufacturing \> Products \> Product MRP Area Parameters and set the MRP parameters for a given product and area.
Usage
Source · Odoo 19.0To manually run the MRP scheduler:
- Go to Manufacturing \> Planning \> Run MRP Multi Level.
- On the wizard click Run MRP.
To launch replenishment orders (moves, purchases, production orders...):
- Go to Manufacturing \> Planning \> MRP Inventory.
- Filter with To procure.
- Select multiple records and click on Action \> Procure or click the right hand side gears in any record.
- On the wizard, check everything is ok and click Execute.
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.