What is a bill of material type in Odoo 18?
In Odoo 18, a Bill of Materials (BoM) is a feature that defines the components or raw materials needed to manufacture a finished product. It is critical for manufacturing companies to track what is required to build or assemble a product.
A Bill of Materials describes the components (raw materials, parts, and subassemblies) and quantities required to produce a finished product. It is commonly used within Odoo's Manufacturing module to streamline production and inventory management.
What are the different Bills of Materials in Odoo?
* Manufacture this product
* Kit
* Subcontracting
BoM Type: ‘Manufacture this product’
The ‘Manufacture this product’ BoM type is mainly used in the case where the products are manufactured directly from its raw materials or from the components. This type of BoM is the most commonly used for products that need a detailed production process, where raw materials are converted into a finished product.
Let's create a new bill of materials using the BoM type and manufacture this product. So move to the Manufacturing module and under the product menu, there is the Bill of Materials sub-menu.

Select this Bill of Materials sub-menu which will list all the bills of materials that have already been created. To create a new Bill of Material, click the New button.

Then there will be a form view to add the complete details of your bill of material like the product name, components, quantity, BoM type, etc.

Once the products and components are added, move to the operations tab and there is the option to add operations, work center, duration, etc.

Once the required fields are filled out completely or properly, when moving to the miscellaneous tab, there is the option to set Manufacturing readiness, Version, Flexible consumption, etc.

* Manufacturing readiness: refers to the preparation and setup needed to ensure a smooth and efficient manufacturing process.
* Version: This refers to the version of the manufacturing product
* Flexible consumption: This allows to manage and adjust the consumption of raw materials during the manufacturing process in a more flexible way
* Project: Choose a project to be linked with this manufacturing order.
* Manufacturing lead time: Refers to the amount of time it will take to produce a product from the point of order confirmation. This time includes the entire production process.
* Days to prepare Manufacturing Order: This option can be used to specify the number of days required to prepare a manufacturing order before it is confirmed. There is a Compute button too. On clicking this Compute button Odoo automatically computes the days required to get all components from BoM by either buying or manufacturing the components.
Once the data are added, one can create a manufacturing order using this Bill of Material. To create a new manufacturing order, move to the Operations menu, and under this menu, there will be a manufacturing order sub-menu. To create a new manufacturing order select the manufacturing order sub-menu and there all the manufacturing orders that are already created will be listed.

On clicking the new button, there will be a form to add the details of the manufacturing order. Once the product is added to the form, if any bill of material exists for that product, the data in the bill of material gets automatically filled into the manufacturing order.

Then just click the confirm button, and one can continue with the manufacturing order. When the table is manufactured completely, this quantity will be added to the company's stock.
BoM Type: Kit:
The BoM-type Kit is used when the components or parts are sold or packaged together as a set without actually being manufactured or assembled. So create a new manufacturing order with BoM type as Kit.

One can add the other details into this manufacturing order similarly as in the BoM type, Manufacture this product. Then whenever a sale order has been created for this product, (Here the product is a fan) in the delivery of the sale order, all the components are also added. So let us create a new sale order for this product.

Once the sale order is confirmed, select the delivery smart tab to check the delivery items.

The components in the kit won’t be added to the order line of the sale order. Then the salesperson can validate the delivery and continue the sales.
Those who are looking to sell bundles or pre-packaged sets of products. These BoM-type kits streamline inventory management, sales processes, and accounting while ensuring flexibility and efficiency.
BoM Type: Subcontracting
Subcontracting in Odoo 18 allows a company to outsource certain parts of its production process to external suppliers or service providers. Instead of manufacturing all parts or assembling all products in-house, businesses can use subcontractors to handle specific tasks, such as machining, assembly, or finishing, and then bring the processed or finished goods back into their inventory.
Enable the subcontracting checkbox from the configuration settings of the Manufacturing module, then only this BoM type will be available to use.

Here it is assigning a partner to do a part of the production process of a product. Whenever a customer makes a sale order for this product, first the components are subcontracted from the vendors and then completes the sale order.
A resupply smart tab will be added when a purchase order is created for this product.

On clicking the Resupply smart tab, the products or the components that are to be resupplied will be shown. Then the company can complete the purchase order.

The BoM-type, Subcontracting in Odoo 18 Manufacturing enables businesses to outsource particular aspects of their manufacturing process to third-party providers, such as assembly, machining, or finishing. This functionality streamlines and organizes the entire process of shipping raw materials to subcontractors and receiving finished goods back.
To read more about How to Manage Bills of Materials (BOM) in Odoo 17 Manufacturing App, refer to our blog How to Manage Bills of Materials (BOM) in Odoo 17 Manufacturing App.