How to Create Bill of Material (BoM) in Odoo 13

Manufacturing a product requires a lot of components or raw materials. For the production of any product, it may require multiple components or with the same components, different products or product variants can be manufactured. Such a list of raw materials is commonly known as the Bill Of Materials (BoM).

Since BoM is the fundamental element of any manufacturing process, we need to create BoM for the products in order to manufacture that product. The below block diagram shows the flow of the Bill of Materials to the final product.

A Bill of Materials (BOM) is a detailed list of the raw materials, sub-assemblies, assemblies, and quantity of apparatus that is required to produce a  product. There may be some by-products while manufacturing a product. The BoM converted to the final finished product through certain work orders on specified routes.

In order to proceed with a manufacturing order for a specific product, the BoM of that specific product must be selected from the list of BoM. One should also check whether all the raw materials required to manufacture the product are present in the product list. 

Let’s discuss how Bill Of Materials is creating

Through forming a BOM, the engineering team that refers to the design of a product and manufacturers who produce products start the assembly process. 

One can either create a Bill of Materials by simply clicking the smart button ‘Bill of Materials’ in the product form.

Or one can create through Manufacturing > Master Data> Bill of Materials and click on Create.

Here, one should add the final product at ‘Product’ and quantity of that particular product to be manufactured at ‘Quantity’. Under the components tab, Click on ‘Add a Line’ to add raw materials or the Bill of Materials to manufacture the product. Add BoM and then Save.

Reference in Bill of Materials

Reference in BoM mainly used if the same product may have more than one BoM. In some cases to manufacture a product, we use different raw materials in the BoM. At the time of manufacturing, we have to choose any of the BoM. So to differentiate the two BoM from the list, we use the reference field.

If a reference is given to a product, under the Bill of Materials you can see them.

Here two BoM created for product ‘Individual workplace’ with reference 101 and 102. So when creating a manufacturing order for a product, it's easy to identify the BoM with reference.

Now create a Manufacturing Order, Manufacturing > Operations > Manufacturing orders and click on Create.

You can find the BoM chosen is the BoM with reference 101 and the components in the BoM will be automatically updated under the components tab.

If we didn't make a proper reference to BoM, we can't identify it easily. 

BoM Type

Odoo provides three types of BoM Type: 

Manufacture this Product: When a need comes for the product, it will manufacture that particular product. Thus it will generate a manufacturing order for a corresponding sale order.

Kit: This will help you to sell components as a kit. Kit means a set of components that are delivered to customers without assembling. One can set a BoM as a kit so that the corresponding item stock in the inventory will be adjusted accordingly when you create a Sale Order for that product. 

Subcontracting: Subcontracting the production of some finished products through subcontractors is a popular scene in business. To enable this feature in manufacturing, one should enable subcontracting in the configuration settings.


Manufacturing > Configuration> Settings> Operations > enable subcontracting and Save.

Routing in BoM

Routing, work centres, work orders and the like are set up and thus it complements the production with a much more accurate manufacturing process. To avail this, enable ‘work orders’ in the configuration settings.


Manufacturing > Configuration> Settings> Operations > enable Work orders and Save.

One can specify the route where it undergoes several operations under different work centers.

While creating this routing one can set work center and work center operations as seen in the form below.

Under the Miscellaneous tab, you can add some details regarding the readiness of manufacturing, version, consumption etc. 

Manufacturing readiness in BoM

If the manufacturing readiness is chosen as ‘when all components are available’, then the manufacturing order will be under the waiting stage until all components are available. The manufacturing order process only after all components/BoM is available. By choosing ‘when components for 1st operation are available’, the manufacturing order will commence even if not all the required apparatus is available. 

Operation in BoM

The operation field is a mandatory field. It refers to the operation type like whether it is a receipt, internal transfer, manufacturing or delivery etc. If a procurement has a 'produce' route with a set of operation types, it will attempt to create a production order for that product using a BoM of the same operation type.

Consumption in BoM

Sometimes you need to add more components than the usual manufacturing process. Odoo provides flexibility on consumption in such cases. Under ‘consumption field there are two options: Strict and Flexible. For a strict consumption, it will not allow you to add additional components to BoM.

With Flexible consumption, the addition of components during production is enabled. 

By-Products in BoM

By-product refers to the additional product or the residual product generated with BoM when the actual designed product is manufactured.

One should enable by-products from Configuration > Settings and ‘Save’. 

If you enable this you can find a new tab ‘By-products’ under the BoM.

We can add by-products under the ‘By-Products’ tab, so that when we create the product, It will automatically generate the by-product with the same BoM like A+B-->C+D. 

Thank you :

Everything You Need to Know About Material Requirements Planning (MRP)