Bills of Materials in Odoo

How the bill of materials works in Odoo: multi-level structure, kit and byproduct handling, variants, and consumption policy.

The bill of materials is the foundation of manufacturing in any system, and Odoo is no exception. For a manufacturer running or considering Odoo, it is worth understanding specifically how the bill of materials works in Odoo. This piece explains it, grounded in how Odoo is actually built.

What a BOM is in Odoo

In Odoo, a bill of materials defines what a product is made of and, optionally, how it is produced: the component lines, and the operations that turn those components into the finished product. A BOM is attached to a product, and Odoo uses it whenever production of that product is planned, exploding the BOM to work out the components needed.

Multi-level BOMs

Odoo supports multi-level bills of materials. A component on a BOM can itself be a product with its own BOM, and Odoo explodes the structure recursively, working down through sub-assemblies to the raw components. This means a manufacturer can model a product the way it is really built, as a hierarchy of sub-assemblies, rather than flattening it into a single list. A multi-level structure also means a change to a sub-assembly's BOM flows into every product that uses it.

BOM types: manufacture and kit

An Odoo BOM has a type. A normal BOM is a manufacturing BOM: producing the product means a manufacturing order. The other type is a kit, also called a phantom BOM. A kit is a virtual product: it is not manufactured as such. When a kit product appears on a sales order or a transfer, Odoo automatically explodes it into its component lines, so the components are delivered or moved directly and no manufacturing order is created. Kits are useful for products that are simply a defined bundle of components rather than something assembled through operations.

Byproducts

A BOM in Odoo can define byproducts: additional outputs produced alongside the main product. When production runs, Odoo records the byproducts as outputs as well as the primary product. This matters for any manufacturer whose process yields more than one usable output, and byproduct handling is enabled through the relevant manufacturing setting.

Variant-specific BOMs

Odoo handles product variants, and bills of materials work with them. A BOM can apply to a whole product template, or be specific to a particular variant, and operations and components can be tied to specific variant attribute values. This lets a manufacturer manage a family of similar products without maintaining an entirely separate, unrelated BOM for every variation.

Operations on the BOM

Beyond components, an Odoo BOM can carry operations, the routing: the sequence of steps, each assigned to a work center, needed to produce the product. When a BOM has operations, Odoo generates work orders for them on a manufacturing order, so production is tracked operation by operation. A manufacturer that does not need detailed operation tracking can keep BOMs to components only.

Consumption policy

A useful detail in Odoo is the BOM consumption policy, which controls how strictly the components actually consumed in production must match the BOM. It can be set so that deviation is freely allowed, so that a deviation raises a warning, or so that deviation is strictly blocked. This lets a manufacturer choose, per BOM, between flexibility on the floor and tight control of consumption against the defined structure.

Other practical capabilities

Odoo BOMs carry a manufacturing lead time, used in planning, and can carry a batch size used when manufacturing orders are generated automatically. Odoo provides an interactive BOM structure and cost report, which lets a manufacturer explore a multi-level BOM and see the cost rolled up through it. And BOMs can be imported, which helps when setting up a manufacturer with many products.

The accuracy point

However well a system handles bills of materials, the BOM is only useful if it is accurate, because it feeds planning, purchasing, production, and costing. Odoo will plan and cost faithfully from whatever the BOM says. A manufacturer setting up Odoo should put real effort into building BOMs that match what is actually produced, and into keeping them current as products change.

The takeaway

Bills of materials in Odoo support multi-level structure, manufacture and kit types, byproducts, variant-specific BOMs, routing operations, and a configurable consumption policy. They are a capable foundation for manufacturing, and their value depends, as always, on the BOMs being accurate. For how we approach Odoo for manufacturers, see our ERP practice.

All posts

Got a Topic Worth Posting?

Suggest a Topic

If a question keeps coming up in your operations, it might be worth its own post.