Managing Multi-Part Products in Odoo with Bill of Materials

Do you have products that are sold as one item but consist of multiple parts needing assembly? For example, an office desk is sold as a single product but delivered in separate components, such as table legs, screws, and a tabletop.

In such cases, it may be expected for customers to select the main product during checkout, while each component is shown separately on the delivery document. This setup is common for furniture and similar industries, where the final product is made up of individually managed items.

In Odoo, this scenario can be handled by using the Manufacturing module and defining a Bill of Materials (BoM) of type Kit for each main product.

Here is a step-by-step guide to set up the flow:

  1. Create the Main Product:
    • Set the product type to Goods.
    • Disable Track Inventory.
    • Assign the Manufacturing route to it.
  2. Create Component Products:
    • Each component should be a separate product.
    • Set the type to Goods.
    • Enable Track Inventory.
    • Assign the Buy route (unless they are produced in-house).
  3. Define the BoM:
    • Create a Bill of Materials (BoM) of type Kit for the main product.
    • Include all components that are part of the main product with appropriate quantities.

Once set up, this configuration allows the system to track stock at the component level, calculate the main product’s availability based on its components, and show only the main product in the sales order. While in the delivery document, all components are listed, making it clear what needs to be shipped.

Although the main product has the Manufacturing route, a manufacturing order is not created. Instead, the BoM is used solely to display the components that make up the product in the delivery order.