Bill of materials

A bill of materials (or BoM for short) is a document that defines the quantity of each component required to make or deliver a finished product. It can also include various operations and the individual step guidelines needed to complete a production process.

In Odoo Manufacturing, multiple BoMs can be linked to each product, so even product variants can have their own tailored BoMs.

Correctly setting up a BoM helps optimize the manufacturing process and save time.

Set up a bill of materials (BoM)

The simplest BoM setup is one without operations or instructions, only components. In this case, the production is solely managed using Manufacturing Orders.

To create a BoM from the Manufacturing module, go to Products ‣ Bills of Materials. Then, click Create. Next, specify the Product.


A BoM can also be created directly from the product form, in which case the Product field is pre-filled.

For a standard BoM, set the BoM Type to Manufacture this Product. Then, click Add a Line to specify the various components that make up the production of the final product and their respective quantities. New components can be created quickly through the BoM, or can be created beforehand in Manufacturing ‣ Products ‣ Products ‣ Create. Finally, click Save to finish creating the BoM.

Set up a Bill of Materials.

Specify a bill of materials (BoM) for a product variant

BoMs can also be assigned to specific Product Variants, with two setup options available to choose from.


In order to assign BoMs to product variants, the product’s variant attributes must already be configured on the product form.

The first method is to create one BoM per variant by creating a new BoM and specifying the Product Variant. The second method is to create one master BoM that contains all of the components, and specify which variant each component applies to using the Apply on Variants column.

Product Variants in the Bill of Materials.

Set up operations

Add an Operation to a BoM to specify instructions for production and register time spent on an operation. To use this feature, first enable the Work Orders feature in Manufacturing ‣ Configuration ‣ Settings ‣ Operations.

Then, when creating a new BoM, click on the Operations tab and click Add a line to add a new operation. In the Create Operations box, give the operation a name, specify the Work Center and duration settings. Like components, Odoo gives the option to specify a product variant in the Apply on Variants field so the operation only applies to that variant. Finally, click Save & Close.


Each operation is unique, as it is always exclusively linked to one BoM. Operations can be reused when configuring a new BoM, with the Copy Existing Operations feature.

Copy Existing Operations feature.

Add by-products to a bill of materials (BoM)

A By-Product is a residual product that is created during production in addition to the main product of a BoM. Unlike the primary product, there can be more than one by-product on a BoM.

To add by-products to a BoM, first enable the By-Products feature in Manufacturing ‣ Configuration ‣ Settings ‣ Operations.

Once the feature is enabled, you can add by-products to a BoM by clicking on the Operations tab and clicking Add a line. Then, name the by-product and indicate the Quantity and the Unit of Measure. If the BoM has configured operations, specify exactly which operation the by-product is produced from in the Produced in Operation field. Finally, click Save.