Cet article est actuellement disponible en anglais uniquement. Traduction à venir.
Fait partie de notre série Manufacturing in the AI Era
Lire le guide completManufacturing got the biggest internal rewrite in Odoo 19. The MRP scheduler was reimplemented with a different algorithm, the Master Production Schedule (MPS) module finally became usable for real production environments, and the Quality module's checkpoint workflow merged with shop-floor work orders. If you run a discrete manufacturer or a process-flow operation on Odoo 17, the upgrade affects daily planner, supervisor, and operator workflows.
This article covers the changes that matter on the floor and in the planning office, plus the migration pitfalls we have hit with manufacturing clients in the metals, food, and contract-manufacturing sectors.
Key Takeaways
- MRP scheduler runs roughly 3-5x faster on databases with 100+ open MOs and chained BOMs
- MPS module added rolling-horizon planning, demand-time-fence, and what-if scenarios
- Quality checkpoints attach directly to work-order steps, removing the parallel checklist module
- BOM versioning is first-class — replacing the "duplicate BOM and archive" pattern
- Work-order kiosk supports multi-operator, multi-machine, and pause/resume per work order
- Subcontracting got proper landed-cost integration and split-shipment support
- Routing operations support skill requirements (operator must hold cert X)
MRP scheduler — what changed and why it matters
Odoo 17's MRP scheduler used a procurement-pull model: each demand triggered an upstream cascade of supply needs, computed sequentially. On databases with thick BOMs (5+ levels) and many open MOs, the run took 20-90 minutes and held write locks. Planners in big shops just gave up running it during business hours.
Odoo 19 replaced the cascade with a graph-based solver that:
- Builds the full demand graph in one pass
- Resolves supply-demand pairings with topological ordering
- Batches database writes per BOM level instead of per item
In benchmarks at three of our clients (each with 200-500 active SKUs and 4-6 level BOMs):
| Database | Old runtime (17.0) | New runtime (19.0) |
|---|---|---|
| Metals fabricator | 38 min | 9 min |
| Food processor | 22 min | 6 min |
| Contract manufacturer | 71 min | 18 min |
Faster scheduler → planners can run it on demand instead of overnight, which means tighter feedback loops with sales and purchasing.
Master Production Schedule — finally production-ready
The MPS module existed in 17 but was a thin spreadsheet view. Odoo 19's MPS adds:
- Rolling horizon: 12-26 week forward view, configurable per category
- Demand time fence: lock the next N weeks against changes (capacity already committed)
- Planning time fence: beyond N weeks, system suggests but doesn't auto-create POs/MOs
- What-if scenarios: clone the MPS, modify a forecast row, see downstream impact without committing
- Multi-level MPS: schedule finished goods AND key components at different time fences
The data model has mrp.mps.production and mrp.mps.consumption tables driven by mrp.product.forecast. If you used a custom MPS in 17 (and most serious manufacturers did), this is your refactor target — the new module covers most of what custom modules did, with native upgrade compatibility.
Quality module — checkpoint integration
Odoo 17 had two separate flows for quality: quality.check records (manual or triggered) and the work-order step checklist (separate but related). They didn't talk well, leading to scenarios where a step was marked complete but its quality check was still open.
Odoo 19 unified these:
- Quality control points (QCPs) attach to operations on a routing
- Work-order steps execute QCPs inline; the operator sees the check on the same screen as the step
- Failure modes are first-class: pass/fail/measure/text/picture
- Rejected items create a quality alert and (configurably) block work-order completion
Tablet/kiosk UI shows the QCP as part of the step flow, no context switch.
BOM versioning
In 17, "version a BOM" meant duplicate the BOM, edit, archive the old one, and update default-BOM references on the product. Audit trail was loose. Odoo 19 introduced explicit BOM versioning:
# Each BOM now has version metadata
bom.version_number # e.g., 3
bom.version_effective_date # when this version goes live
bom.version_replaced_by_id # link to next version
bom.engineering_change_id # link to ECN/ECO record
A new BOM version can be created from the form view's "New Version" button. Existing MOs reference the version they were created against, so they don't change mid-flight. Reports filter by BOM version for proper audit.
For regulated industries (medical devices, aerospace), this replaces a custom ECN/ECO module that was a permanent line-item in our manufacturing engagements.
Work-order kiosk — multi-operator, multi-machine
The shop-floor kiosk in 17 assumed one operator, one machine. Real shops have:
- Two operators on a single line
- One operator running three CNC machines simultaneously
- Operators that pause work to handle a quality alert and resume
Odoo 19 supports:
- Multi-operator login on a single work order (records time per operator)
- Operator multi-tasking: same operator can have multiple work orders in "started" state across different machines
- Pause/resume with reason codes (configurable: maintenance, material wait, quality issue)
- Real-time machine availability indicator
Setup adds a few extra fields per work center but is otherwise self-configuring.
Subcontracting improvements
Odoo 17's subcontracting module shipped with the basic flow: vendor receives raw, ships finished goods, you pay them per unit. Real subcontracting has:
- Multi-stage subcontracting (vendor A → vendor B → return)
- Landed costs (freight, customs)
- Split shipments (vendor sends 60% now, 40% later)
- Yield variances (vendor returns fewer finished goods than expected)
Odoo 19 added:
- Native multi-stage chains via the resupply route
- Landed-cost integration into the subcontract MO
- Split-shipment receipts with backorder
- Yield variance journal entries via configurable accounts
Routing operations — skill requirements
mrp.routing.workcenter (the operation) gained a required_skill_ids field. Operators are assigned skills via hr.employee.skill. The kiosk and planning views check skill availability when assigning operators or scheduling work centers.
Useful for:
- Welding certifications (AWS, ASME)
- Forklift / overhead crane operator certs
- Cleanroom training (pharma, electronics)
Migration pitfalls
MRP scheduler runs differently
Post-migration, the first MRP run will likely produce a different schedule than your old 17.0 run did, because the new solver treats priority and reservation differently. Don't panic — review and re-tune your priority rules and reservation horizon.
BOM version IDs are new
If you had custom reports referencing mrp.bom with assumed uniqueness per product, they now need to handle multiple versions. The default _search includes only the active version, so most reports keep working without changes.
Quality check IDs migrate but UI references shift
If you had Studio-built fields on quality.check, audit them. The check is now embedded in mrp.workorder via a related model; access patterns may need a one-line update.
Subcontracting flows need re-validation
The subcontract route in 19 added intermediate stock moves. Custom analytics or KPIs that counted "subcontract receipts" may need recount logic.
Frequently Asked Questions
Is the new MRP scheduler compatible with custom procurement rules?
Yes, custom procurement.group and stock.rule records are honored. The change is internal: the scheduler evaluates them in graph order rather than cascade order. If you implemented a custom rule that relied on sequential evaluation order, validate the output post-migration.
Can I migrate my custom MPS module to the native one?
In most cases yes — the data model overlap is high. Map your custom forecast tables onto mrp.product.forecast rows, and your custom MPS reports onto the new spreadsheet templates. Plan 1-3 days of mapping per custom module.
Does the work-order kiosk support tablets and large monitors?
Both. The OWL-based kiosk UI scales from 10-inch tablets to 32-inch shop monitors. Touch and mouse input both work. Network-disconnected operation is partial — you can queue scans but not start a new work order without server contact.
How does BOM versioning interact with engineering change orders (ECOs)?
A new BOM version can be linked to an mrp.eco record (engineering change order) which tracks who proposed the change, who approved it, and the effective date. The ECO module ships with the version-control feature and is recommended for regulated manufacturing.
What is the recommended migration sequence for manufacturers?
- Migrate to staging and run MRP. 2) Compare the schedule output to the old run. 3) Tune priority/reservation. 4) Re-train kiosk operators on multi-operator flows. 5) Run a parallel period (1-2 weeks) before cutover. The total elapsed time is typically 4-6 weeks for mid-size manufacturers.
Manufacturing is where Odoo 19's gains are most measurable but also most disruptive to existing workflows. ECOSIRE's manufacturing team has migrated 12+ shops to Odoo 19 including pharma, food, metals, and electronics — see our Odoo customization service or browse our 215+ Odoo modules catalog for production-tested manufacturing modules. We also offer a fixed-fee MRP-tuning sprint that benchmarks your scheduler runtime before and after migration.
Rédigé par
ECOSIRE TeamTechnical Writing
The ECOSIRE technical writing team covers Odoo ERP, Shopify eCommerce, AI agents, Power BI analytics, GoHighLevel automation, and enterprise software best practices. Our guides help businesses make informed technology decisions.
ECOSIRE
Transformez votre entreprise avec Odoo ERP
Implémentation, personnalisation et assistance expertes d'Odoo pour rationaliser vos opérations.
Articles connexes
ADempiere vs Odoo (2026) : comparatif des ERP open source
Comparatif honnête entre ADempiere et Odoo : architecture, vitalité de la communauté, coût total réel, parcours de migration et qui devrait rester sur ADempiere.
Axelor vs Odoo (2026) : comparaison honnête de deux ERP open source
Axelor vs Odoo en 2026 : comment l'ERP low-code centré BPM d'Axelor se compare à l'écosystème d'applications d'Odoo — vrais atouts, licences, modèles de prix et quand choisir l'un ou l'autre.
Coût total de possession d'un ERP cloud : les vrais chiffres sur 5 ans
Un modèle transparent de TCO sur 5 ans pour un ERP cloud : abonnement, mise en œuvre, personnalisation, migration, formation, hébergement, mises à niveau et temps d'administration interne, avec une comparaison pour une PME de 25 utilisateurs entre Odoo, NetSuite et ERPNext.
Plus de Manufacturing in the AI Era
Method CRM vs Odoo : le meilleur choix pour les fabricants QuickBooks
Method CRM vs Odoo pour les fabricants sous QuickBooks : un CRM complémentaire avec synchronisation bidirectionnelle QuickBooks face à un ERP complet doté de vraies nomenclatures, ordres de fabrication et MRP. Guide honnête 2026.
ERPNext pour la fabrication : nomenclature, bons de travail et atelier – Guide complet 2026
Guide complet de la fabrication ERPNext en 2026 : nomenclatures multi-niveaux, bons de travail, plans de production MRP, fiches de travail d'atelier, sous-traitance et Odoo MRP.
Odoo Inventory vs Katana MRP 2026 : fabrication légère
Odoo Inventory vs Katana MRP : tarification, nomenclature, fabrication, synchronisation multicanal. Comparaison honnête pour les fabricants et les fabricants de luminaires.
Odoo Manufacturing vs Epicor Kinetic 2026 : comparaison honnête
Odoo Manufacturing vs Epicor Kinetic (anciennement ERP) : scénarios de tarification, MES, APS, MTO. Quand chaque ERP s’adapte + playbook de migration.
Odoo Manufacturing vs IQMS DPM 2026 : comparaison honnête
Odoo Manufacturing vs IQMS Dassault DELMIAworks DPM : tarification, fabrication de plastiques/processus, MES. Quand chacun convient + playbook de migration.
Odoo Manufacturing vs Plex Smart Mfg 2026 : comparaison honnête
Odoo Manufacturing vs Plex Smart Manufacturing Platform : tarification, MES, automobile Tier 1/2, déploiement. Quand chaque ERP s’adapte + playbook de migration.