Back to All Blogs

How to Configure Bill of Materials (BoM) in Odoo 19

How to Configure Bill of Materials (BoM) in Odoo 19 | Step-by-Step Guide

A well-configured Bill of Materials (BoM) in Odoo 19 forms the backbone of an efficient manufacturing process. Whether you manufacture products in-house, assemble product kits, or work with subcontractors, the BoM determines how Odoo manages production, inventory, procurement, and manufacturing costs. Without an accurate BoM, businesses often face inventory shortages, incorrect production planning, and inaccurate product costing.

Odoo 19 provides a flexible and user-friendly BoM management system that helps manufacturers automate production workflows while maintaining complete control over raw materials, operations, and finished products. From simple manufacturing setups to complex multi-level production environments, Odoo allows businesses to configure Bills of Materials that match their exact manufacturing requirements.

In this guide, we’ll walk through how to configure a Bill of Materials in Odoo 19, explain each BoM type, discuss important configuration options, and explore best practices that help manufacturers improve efficiency and reduce production errors.


What is a Bill of Materials (BoM) in Odoo 19?

A Bill of Materials (BoM) is a structured list of every component, raw material, subassembly, and manufacturing operation required to produce a finished product. Think of it as the production blueprint that tells Odoo exactly what materials to consume, which operations to perform, and how many finished products to create.

When you create a Manufacturing Order in Odoo 19, the system automatically refers to the corresponding BoM to determine:

  • Which components to consume
  • Required material quantities
  • Manufacturing operations
  • Work centers involved
  • Production lead time
  • Manufacturing costs
  • Procurement requirements

As a result, an accurately configured BoM ensures smooth production planning while minimizing manual intervention throughout the manufacturing lifecycle.


Types of Bills of Materials in Odoo 19

Odoo 19 supports three different BoM types, allowing businesses to manage various manufacturing scenarios with ease.

1. Manufacture This Product

The Manufacture This Product BoM is the most commonly used option. It creates a Manufacturing Order whenever production is required. During manufacturing, Odoo reserves the necessary raw materials, performs the configured operations, and finally produces the finished product.

This BoM type works best for manufacturers who produce products internally using their own machines, employees, and production facilities. Since Odoo tracks every stage of production, businesses gain complete visibility into material consumption, work orders, production costs, and inventory movement.


2. Kit

The Kit BoM is designed for bundled or assembled products that do not require an actual manufacturing process. Instead of creating a Manufacturing Order, Odoo automatically breaks the kit into its individual components during delivery.

For example, a computer package may include a monitor, keyboard, mouse, and CPU. Although customers purchase the package as a single product, Odoo delivers each individual component from inventory.

This approach simplifies warehouse operations while eliminating unnecessary manufacturing activities.


3. Subcontracting

The Subcontracting BoM allows businesses to outsource manufacturing to external vendors. Instead of producing products internally, your company sends raw materials to the subcontractor, who manufactures the finished goods and returns them.

Odoo automatically tracks:

  • Components supplied to the subcontractor
  • Finished products received
  • Vendor stock movements
  • Manufacturing costs
  • Inventory valuation

This configuration is particularly useful for businesses that rely on specialized suppliers or third-party manufacturers.


Creating a Bill of Materials in Odoo 19

Creating a BoM in Odoo 19 requires only a few steps, yet configuring it correctly significantly improves manufacturing accuracy.

Navigate to:

Manufacturing → Products → Bills of Materials → New

Alternatively, you can open any product form and click the Bill of Materials smart button to create a BoM directly from the product.

Bill of Materials (BoM) in Odoo 19

Once the form opens, select the product you want to manufacture. Next, define the quantity that the BoM will produce and choose the appropriate BoM type based on your manufacturing process. These settings establish the foundation for all future manufacturing orders related to that product.


Adding Components to the BoM

After creating the basic BoM, the next step involves adding the raw materials or components required for production.

Under the Components tab, click Add a Line and select each raw material along with its required quantity. Odoo will automatically consume these components whenever a Manufacturing Order uses the BoM.

For businesses managing product variants, Odoo also allows you to assign components to specific variants. This feature helps manufacturers maintain a single BoM while accommodating multiple product variations.

Additionally, you can configure manual component consumption when operators need to confirm material usage during production. Components can also be linked to individual manufacturing operations, enabling Odoo to consume materials precisely when each production step begins.

These options improve production accuracy while providing greater flexibility for complex manufacturing environments.

How to Configure Bill of Materials (BoM) in Odoo 19

Configuring Manufacturing Operations

Many manufacturing companies perform production in multiple stages rather than a single process. Odoo 19 supports this workflow through Work Orders.

Before adding operations, enable Work Orders by navigating to:

Manufacturing → Configuration → Settings → Work Orders

Once enabled, open the Operations tab within the BoM and create each production step. For every operation, define the operation name, assign the appropriate work center, and specify the expected duration.

For example, a furniture manufacturer may create operations such as Cutting, Sanding, Assembly, Painting, and Quality Inspection. Odoo then schedules each operation in sequence and records the production time for every work order.

Consequently, manufacturers can monitor shop floor performance, improve scheduling accuracy, and calculate labor costs more effectively.

Configure Bill of Materials (BoM) in Odoo 19

Managing By-Products

Certain manufacturing processes generate valuable secondary products alongside the primary finished product. Odoo 19 allows manufacturers to record these outputs using the By-Products feature.

First, enable By-Products from:

Manufacturing → Configuration → Settings → By-Products

Next, open the By-Products tab within the BoM and add every secondary product along with its quantity. You can also specify the manufacturing operation during which each by-product is produced.

For example, a woodworking company producing wooden tables may also generate usable wood scraps or sawdust that can later be sold or reused. Instead of treating these materials as waste, Odoo records them as inventory, improving stock accuracy and product costing.

Bill of Materials (BoM) in Odoo 19

Important BoM Configuration Settings

Besides components and operations, Odoo 19 includes several configuration options that directly influence manufacturing performance.

Manufacturing Readiness determines when production can begin. Businesses can either start manufacturing as soon as the materials for the first operation become available or wait until every required component is ready before launching production.

Another important option is Flexible Consumption, which controls how operators consume raw materials. Companies can allow flexible consumption without restrictions, permit it with warnings, or completely prevent deviations from the BoM quantities. This setting helps manufacturers maintain inventory accuracy while reducing production discrepancies.

You can also configure the Manufacturing Lead Time, which represents the expected number of days required to complete production. Odoo uses this information when planning procurement and scheduling manufacturing orders, resulting in more accurate delivery commitments.

Together, these settings enable manufacturers to customize production workflows according to operational requirements while maintaining better control over inventory and scheduling.


Understanding Multi-Level Bills of Materials

Many manufacturers build products using subassemblies that require their own manufacturing processes. Odoo 19 fully supports this approach through Multi-Level Bills of Materials.

In a multi-level structure, individual components first receive their own BoMs. These manufactured components then become raw materials for higher-level products.

For example, consider a wooden chair. The chair consists of a seat, backrest, and four legs. Instead of producing the seat directly during final assembly, you can create a separate BoM for the seat. Later, the finished seat becomes one of the components used in the chair’s parent BoM.

When a Manufacturing Order is created for the chair, Odoo automatically checks inventory levels. If the required seats are unavailable, the system generates separate Manufacturing Orders for the seat before continuing with the final chair assembly.

As a result, manufacturers can manage complex production structures more efficiently while improving inventory planning and production scheduling.


Best Practices for Configuring Bills of Materials

A well-designed BoM reduces manufacturing errors and improves operational efficiency. Therefore, always maintain accurate component quantities, regularly review manufacturing operations, and update BoMs whenever products change.

In addition, use product variants wherever possible instead of creating duplicate Bills of Materials. Configure realistic manufacturing lead times to improve production planning, and regularly audit BoMs to ensure inventory records remain accurate.

Finally, if your manufacturing process involves subassemblies or outsourced production, configure multi-level BoMs and subcontracting correctly to maximize automation across the entire manufacturing workflow.


Conclusion

A properly configured Bill of Materials in Odoo 19 serves as the foundation of successful manufacturing operations. It defines every component, production step, and resource required to build a finished product while helping Odoo automate manufacturing, procurement, inventory management, and cost calculation.

Whether your business manufactures products internally, sells product kits, manages subcontractors, or operates complex multi-level production environments, Odoo 19 provides the flexibility needed to streamline every stage of manufacturing. By configuring your Bills of Materials correctly from the beginning, you can reduce production errors, improve inventory accuracy, optimize manufacturing costs, and build a more efficient production process that scales with your business.