Odoo consultants for regulated manufacturers · code you keep

Manufacturing · Odoo guide

How do I set up bills of materials and work orders in Odoo?

Install Manufacturing, define mrp.bom with components and operations, set manufacturing routes on products, and configure work centers with capacity and costs. Confirm MOs generate stock moves for components and finished products, enable work orders for shop floor steps, and post time on mrp.workorder for labor and variance tracking.

By Chase Robbins, Operator & Founder at The ERP Firm · Last updated October 24, 2026

Steps

  1. Install mrp module; enable Work Orders and Work Centers in Manufacturing → Settings.
  2. Create mrp.workcenter records with capacity, costs, and optional alternative centers.
  3. Build mrp.bom for finished product with components, quantities, and operations routing.
  4. Set product template route Manufacture and assign warehouse manufacturing operation types.
  5. Confirm manufacturing order; reserve components via stock.move from stock locations.
  6. Start and complete mrp.workorder steps; record duration and employee if using HR hooks.
  7. Mark MO done to post finished stock.move with lot if tracking is required.

Common mistakes

  • BOM quantity not aligned with product UoM causing scaling errors.
  • Missing operation types on BOM routing so work orders do not spawn.
  • Consuming phantom BOMs without understanding kit explosion behavior.
  • Skipping component availability checks leading to negative quants.
  • Not linking byproducts or scrap on BOM for accurate costing.

Odoo version notes

MRP is available in Community and Enterprise with richer PLM and quality in Enterprise for 16–18. Work orders use mrp.workorder in both editions when enabled. Odoo 18 continues refining shop floor UI; validate custom tablet modules after upgrade. Subcontracting is a separate route using mrp.subcontracting models.

When to bring in help

If the fix touches custom modules, regulated traceability, or production outages, a focused rescue sprint beats months of trial and error. See our Odoo service.

FAQ

Follow-up questions

What is difference between BOM and routing?
BOM lists materials; routing (operations) defines work centers and steps that become work orders on MOs.
Can one product have multiple BOMs?
Yes—set BOM type normal or phantom and prioritize by sequence or optional version field.
How are components reserved?
stock.move from MO consumes components on reservation based on location and warehouse routes.

Book a scoping call for your Odoo environment.

Bring your version, user count, and the workflow that is blocked today.

Book a scoping call