Overview
MRP planning in Odoo 19 coordinates material requirements and production scheduling. It uses lead times, reorder rules, and demand signals from sales orders to plan when to start manufacturing and when to procure components. Proper planning configuration prevents both stockouts and excess inventory.
Prerequisites
- Odoo 19 with Manufacturing module installed
- BOMs configured with accurate component lists
- Work centers set up with operating schedules
Step 1: Configure Manufacturing Lead Times
Lead times determine when Odoo schedules production to meet demand:
- Manufacturing Lead Time — Set on each BOM via the
produce_delayfield. Number of days to produce the product - Days to Prepare MO — Set on the BOM via
days_to_prepare_mo. How many days in advance the MO should be created before the scheduled start - Security Lead Time for Manufacturing — Buffer days configured in Manufacturing > Configuration > Settings
Total lead time = Manufacturing lead time + Preparation days + Security lead time.
Step 2: Configure Component Lead Times
For purchased components:
- Set Vendor Lead Time on each product's Purchase tab per vendor
- Set Security Lead Time for Purchase in Inventory > Configuration > Settings
Odoo uses these to determine when to trigger purchase orders so components arrive before the MO starts.
Step 3: Set Up Batch Sizing
On the BOM, configure batch production:
- Enable Batch Size (
enable_batch_size) — Toggle to enable - Batch Size (
batch_size) — The quantity per manufacturing batch
When demand requires more than one batch, Odoo splits into multiple MOs of the batch size. This is useful for processes with fixed capacity per run.
Step 4: Configure Operation Dependencies
On the BOM's Operations tab, enable Operation Dependencies (allow_operation_dependencies). Then for each operation:
- Blocked By — Which operations must complete before this one starts
- Needed By — Which operations depend on this one
This creates a dependency graph that Odoo uses for scheduling. Without dependencies, all operations can start simultaneously.
Step 5: Configure Ready to Produce
On the BOM, set the Ready to Produce policy:
- When all components are available — Production only starts when all components are reserved
- When components for 1st operation are available (ASAP) — Production starts as soon as the first operation's components are ready, even if later operations need more materials
ASAP mode reduces wait times but requires careful component management to avoid mid-production stalls.
Step 6: Use the Master Production Schedule
Navigate to Manufacturing > Planning > Master Production Schedule (if available in your edition):
- View demand forecasts by product and time period
- Compare forecasted demand against supply (on-hand + incoming)
- Manually adjust production quantities to smooth production schedules
- Generate replenishment from the MPS view
Step 7: MO Scheduling
When MOs are created (manually or via replenishment), Odoo schedules them based on:
- BOM lead times and operation durations
- Work center availability (from resource calendars)
- Operation dependencies and sequencing
- Component availability dates
The Planned Start and Planned End dates on the MO reflect this scheduling.
Step 8: Production Groups
Related MOs can be linked via Production Groups (mrp.production.group). When a product has sub-assemblies, the parent MO and child MOs (for components) share a production group, enabling:
- Visibility into the complete production chain
- Coordinated scheduling across dependent MOs
- Parent-child hierarchy tracking
Best Practices
- Maintain accurate lead times — they are the foundation of good planning
- Use operation dependencies for complex routings to prevent scheduling conflicts
- Set realistic batch sizes based on actual work center capacity
- Review the production schedule weekly, adjusting for demand changes
- Use the MPS for make-to-stock products with predictable demand patterns