Bill of materials

A bill of materials (or BoM for short) documents specific components and their respective quantities that are needed to produce or repair a product. In Odoo, BoMs serve as blueprints for manufactured goods and kits and often include production operations and step-by-step guidelines.

BoM setup

To create a BoM, go to Manufacturing app ‣ Products ‣ Bills of Materials and click New.

Next, set the BoM Type to Manufacture this product.

Then, specify required components and, if necessary, define any manufacturing operations.

Tip

Individual BoMs can also be quickly accessed or created by clicking the Bill of Materials smart button on any product form available in the Sales, Inventory, and Manufacturing apps, as well as through any internal links that reference a product (such as in a field or a line item).

Show BoM for a product, with components listed.

BoM for the Drawer product, displaying the Components tab.

Components

In the Components tab of a BoM, specify components used to manufacture the product by clicking Add a line. From the Component drop-down menu, select from existing products or create a new product by typing the name and selecting either the Create ” “ option to quickly add the line item, or the Create and edit option to add the component and continue to its configuration form.

Add a component by selecting it from the drop-down menu.

Optionally, access additional fields by clicking the (settings adjust) icon at the end of the Components tab. Select the checkboxes for the following features to enable these columns:

  • Apply on Variants: Specify which product variant each component is used in. When the field is left blank, the component is used in all product variants.

  • Consumed in Operation: Specify the operation using the component. Useful for determining manufacturing readiness.

Operations

Add an operation to a BoM to specify production instructions and register time spent on an operation. To use this feature, first enable the Work Orders feature by going to Manufacturing app ‣ Configuration ‣ Settings. In the Operations section, select the Work Orders checkbox to enable the feature.

Next, navigate to the BoM by going to Manufacturing app ‣ Products ‣ Bill of Materials and selecting the desired BoM. To add a new operation, go to the Operations tab and click Add a line.

Doing so opens the Open: Operations pop-up window, where the various fields of the operation are configured:

  • Operation: Enter the name of the operation.

  • Work Center: Select an existing location to perform the operation, or create a new work center by typing the name and selecting the Create ” “ option.

  • Cost based on: Specify whether the cost for the operation is based on Actual time (tracked time and real employee costs) or Theoretical time (estimated time and costs).

  • Apply on Variants: Specify if this operation is only available for certain product variants. If the operation applies to all product variants, leave this field blank.

  • Duration Computation: Choose how time spent on the operation is tracked. Opt for Fixed if operators can record and modify time themselves, which allows a Default Duration to be specified. Alternatively, choose Computed to use the operation’s time tracker, which enables the last __ work orders field. This ensures the time to complete will be estimated based on a specified number of the previous operations.

  • Company: Specify the company for which the BoM is available.

Include operation details in the Instructions tab.

Instructions

Click the Add a line link to open the Create Quality Point window. Individual steps in the instructions are saved as quality control points (QCPs).

In the Create Quality Point window, specify a Title and the Company for which the instruction is valid.

In the Type field, specify the type of step that should be performed. The following types of steps are available:

  • Instructions checks provide specific instructions for how to complete the quality check.

  • Take a Picture checks require a picture of the product to be uploaded for later review by the assigned quality team.

  • Register Consumed Materials checks prompt operators to confirm the quantity of materials that were consumed during the manufacturing operation.

  • Register Production checks prompt manufacturing employees to confirm the quantity of the product that was produced during the manufacturing operation.

  • Print label checks prompt operators to download and print a label to attach to the product or its packaging.

  • Pass - Fail checks specify a criterion that products must meet for the check to pass.

  • Measure checks prompt employees to record a measurement of the product that must be within a tolerance of a norm value for the check to pass.

  • Worksheet checks require the employee processing the check to fill out an interactive worksheet.

  • Spreadsheet checks require the employee processing the check to fill out an interactive spreadsheet.

Important

When a step is added to a work order, Odoo stores it in the Quality app as a QCP. It is possible to manually create a QCP with the Instructions check type and even assign it to an operation other than manufacturing, like receipts.

In the Team field, specify the team that is responsible for the step.

Use the Instructions tab to specify the step’s instructions.

Tip

Type / for a list of formatting options and features, including ChatGPT.

Google Gemini feature to generate instructions for a work order.

Use the Worksheet tab to upload a supplementary PDF that will display when the operator completes that step.

If the Type is set to Pass - Fail, Measure, Register Production, Worksheet, or Spreadsheet, the Message if Failure tab appears. Use this tab to include instructions for what to do if the quality check fails. For example, instruct the employee processing the step to create a quality alert.

Click Save to save the step.

Fill out the Quality Point pop-up window.

After all instructions are added, click Save & Close to close the pop-up window. To add more steps, click Save & New, then repeat the same steps above to configure another operation.

Finally in the Open: Operations window, click Save to save the operation.

Note

Each operation is unique, as it is always exclusively linked to one BoM.

Tip

After creating an operation, click the Copy Existing Operations button to choose an operation to duplicate.

Click Copy Existing Operations to duplicate operations.

Miscellaneous

The Miscellaneous tab contains more BoM configurations to customize the following fields:

  • Manufacturing Lead Time: the number of days required to manufacture the product

  • Days to prepare: the number of days in advance that manufacturing orders should be created to allow time to replenish components or manufacture sub-assemblies

  • Batch Size Value: If selected, the number of units to add to a manufacturing order can be specified.

  • Project: the project to which the BoM applies. The Project app must be installed for this field to display.

  • Manufacturing Readiness: Choosing When all components are available displays a red Not Available component status unless all components are available. Choosing When components for the 1st operation are available shows the Component Status as a green Not Available when only the components consumed in the first operation are in stock. This indicates that although not all components are available, operators can at least begin with the first operation.

    Tip

    Add a Register Consumed Materials step to the BoM instructions to indicate when a component is consumed.

    Show the *Component Status* field on the manufacturing order dashboard.
  • Version: displays the current BoM version, visible with the Odoo PLM app installed for managing BoM changes.

See also

Lead times

Show the *Miscellaneous* tab of the BoM.

Replace components across multiple BoMs

Periodically, the design of a product may change to use different components. Use the Bill of Materials page or the component’s product form to update the component across multiple products at the same time.

Bill of Materials page

To begin, navigate to Manufacturing app ‣ Products ‣ Bills of Materials. All BoMs are listed on this page.

To locate all BoMs that use the affected component, click in the Search field. Filter using a Custom Filter. Select BoM Lines ‣ Component. Set is equal to, and select the component that you want to filter by. Click Search. BoMs with the matching component display.

The Bills of Materials page filtered by the Bolt component.

Then, select the BoMs to update and select Actions ‣ Show BoM Lines. The component lines display on the BoM Lines page.

The BoM Lines page filtered to all BoMs that use the Bolt component.

To update the component across multiple BoMs, first filter by the component again by clicking in the Search field and selecting Custom Filter. Filter by Component, set is equal to, and select the component, then click Search. The BoM lines (component and associated BoMs) display.

The BoM lines matching the Bolt component display.

Select the lines to update, then update the Component field for one of the lines. When clicking away from the Component field, a Confirmation window opens to verify that multiple components will be updated. Click Update to verify the changes.

Confirm that multiple records will be updated.

Component product form

To begin, navigate to Manufacturing app ‣ Products ‣ Products. Click in the Search field and search for the component product, then open its product form.

Click the Used In smart button. All BoM lines that contain this component are displayed. To update the component across multiple products, select the checkbox next to the affected BoMs, then click in the Component field of one of the selected BoMs. Update the Component to the new component, then click away. A Confirmation pop-up window opens. Verify that the selected records should be updated by clicking Update.

Add by-products to BoMs

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 app ‣ Configuration ‣ Settings. In the Operations section, select the checkbox for By-Products to enable the feature.

Once the feature is enabled, add by-products to a BoM by clicking the By-products tab. Click Add a line, and fill in the By-product, Quantity, and Unit. Optionally, specify a Produced in Operation for the by-product.

Example

The by-product, Mush, is created in the Grind grapes operation when producing Red Wine.

Show sample by-product in the BoM.