← All articles

Blog

How to Set Up Bills of Materials and Work Orders in Odoo Manufacturing

A practical guide to configuring bills of materials and work orders in Odoo Manufacturing — multi-level BOMs, operations, work centers, and routing for real production.

3 min read
  • mid
  • odoo

The bill of materials is the foundation of Odoo Manufacturing. Get your BOMs right and everything downstream — material planning, costing, work orders — falls into place. Get them wrong and every production order inherits the error. Here is how to set up BOMs and work orders that reflect how you actually produce.

Start with accurate bills of materials

A bill of materials lists the components and quantities to make one unit of a product. Before configuring anything fancy, get these right:

  • List every component and its exact quantity. Including the small consumables people forget — glue, screws, packaging. If it goes into the product, it goes in the BOM.
  • Use correct units of measure. If you buy fabric by the metre and consume it by the centimetre, configure the units so the math is right. Unit mismatches are a classic source of wrong material planning.
  • Account for waste. If cutting produces offcuts, build a realistic scrap allowance into quantities so your material requirements match reality.

An accurate BOM is what lets Odoo tell you exactly what a production run needs and what it truly costs.

Use multi-level BOMs for sub-assemblies

If your product is built from sub-assemblies — a piece of furniture made from a frame, which is itself assembled from parts — use multi-level BOMs. The finished product’s BOM references the sub-assembly, which has its own BOM. Odoo then understands the full tree, so it can plan materials and even trigger production of sub-assemblies when needed. This mirrors how real manufacturing works rather than flattening everything into one impossible list.

Define work centers

A work center is where an operation happens — a cutting station, an assembly bench, a finishing area, a packing line. Set these up to reflect your actual floor, including their capacity (how much can run at once) and cost per hour if you want operation costing. Work centers are what let Odoo schedule production against real capacity instead of pretending everything can happen at once.

Build operations and routing

For multi-step production, define the sequence of operations and which work center each runs at — for example: cut (cutting station) → assemble (assembly bench) → finish (finishing area) → pack (packing line). This routing means a manufacturing order generates work orders for each step, and the floor knows exactly what to do where and in what order. You also gain real-time visibility: at any moment you can see which operation a batch is on.

Decide how detailed to go

Not every producer needs full routing and work orders. Be honest about your complexity:

  • Simple production: a BOM and a basic manufacturing order may be enough. You consume components and produce finished goods without tracking each step.
  • Multi-step production: define work centers, operations, and routing so you can track and schedule each stage.

Start at the level your business actually needs. You can add detail later as you mature; over-configuring on day one creates a system the floor finds burdensome and abandons.

Test with a real product

Once a BOM and routing are set, run a real production order end to end: confirm the components reserve correctly, the work orders appear in the right sequence, the finished goods land in stock, and the cost rolls up sensibly. This is where configuration errors surface while they are cheap to fix.

Getting BOMs and routing right is the highest-leverage work in an Odoo Manufacturing setup — it determines whether your material planning and costing are trustworthy. If you would like help structuring your BOMs and floor operations in Odoo, we are glad to walk through it with you in an hour, no charge.