Many manufacturers start by using spreadsheets to organize product components. This works at a small scale, but as the product line grows, manual methods become difficult to manage. Tracking hundreds of parts, handling frequent design changes, and keeping product variants consistent can quickly become overwhelming. Even a small error, such as a missed update in a spreadsheet, may cause stock shortages, production delays, or costly mistakes.
This is why businesses need a structured, system-based approach to managing product data. Apache OFBiz provides built-in tools for defining and managing Bills of Materials (BOMs), mapping every product down to its smallest part, and integrating this information with procurement, inventory, routing, and production planning.
In Apache OFBiz, a Bill of Materials (BOM) is a structured list that defines all the components, subassemblies, and respective quantities needed to produce a finished product. It acts as a blueprint for manufacturing, ensuring that every part of the product is clearly identified and organized.
Apache OFBiz supports both single-level BOMs, where a product is directly linked to its parts, and multi-level BOMs, where components themselves may be made up of smaller sub-components. This flexibility makes it easier to manage complex products with multiple layers of assembly.
For example, consider a skateboard. At the top level, the skateboard is the finished product, consisting of major components such as the deck, transfer . The deck may include sub-components like the face, core, and several layers of ply bound with glue. By mapping the product in this hierarchical way, Apache OFBiz provides full visibility into every detail, from the smallest raw material to the final assembly.
Apache OFBiz stands out for the practical benefits it brings to manufacturing operations:
With these strengths, Apache OFBiz turns BOM management from a static record of parts into a dynamic, connected process that improves efficiency across the supply chain.
A BOM can be created in Apache OFBiz in four easy steps. Using the skateboard example, the following are the steps to create a Bill of Materials (BOM):
Step 1: Add Raw Materials and Parts
Create product entries for each material or part, such as glue, ply, or wheels. Mark them as raw materials so they can be used in assembly.
Step 2: Define the Finished Product
Set up the final product, for example, a skateboard, as a finished product. This will act as the parent item.
Step 3: Build the BOM Structure
Link each part or sub-assembly to the finished product. For complex items, create multi-level BOMs, such as defining the deck with its own sub-components.
Step 4: Validate and Use the BOM
Review the complete structure in Apache OFBiz. Once confirmed, the BOM becomes ready for planning, procurement, routing, and production runs.
Refer to this document on Apache OFBiz Wiki [Confluence] to know more about how to create a bill of materials in Apache OFBiz.
Regular business operations may require editing/updating the bill of materials already created in Apache OFBiz. The BOM and its related components can be edited through the Manufacturing module in Apache OFBiz with the following steps:
Step 1: Access the Manufacturing Module
Go to Manufacturing > Bill of Materials > Edit BOM.
Step 2: Search for the Product
In the Edit BOM screenlet, enter the Parent Product ID and click Show.
Step 3: Edit, Update, or Delete Components
In the Components of this Product screenlet, you can:
In many industries, a single product is sold in hundreds of variations. A shirt, for instance, may come in three sizes (S, M, L) and five colors (red, blue, black, white, green). That means fifteen possible versions of the same shirt.
Now imagine each version requires its own Bill of Materials (BOM). Manually creating and maintaining those BOMs would not only take enormous effort but also increase the chances of duplication and errors. This is where Apache OFBiz offers a better solution.
Apache OFBiz uses the concept of virtual products and variants to remove this complexity.
A virtual product acts as a parent record that represents the base item. It is not directly sold but serves as a grouping point for variations such as size, color, or material. Instead of creating a BOM for every variation, you only define the BOM once at the virtual product level.
A variant is a specific, sellable version of the product generated from the virtual product. For our shirt example, “Shirt – Size M – Color Blue” is one variant, while “Shirt – Size L – Color Black” is another. Each variant has its own product ID and stock tracking but inherits the BOM from the virtual product, avoiding the need to create BOMs separately for each.
For example, in manufacturing a skateboard, you define its core components (deck, wheels, Transfer) once in the virtual product. Apache OFBiz then applies this structure automatically across all variants, such as “Large deck, red face” or “Medium deck, blue face,” without you having to build separate BOMs for each version.
Refer to this document on Apache OFBiz Wiki [Confluence] to know more about setting up variant products in Apache OFBiz with virtual product’s BOM.
Bills of Materials (BOMs) are the backbone of any manufacturing process. They provide a structured way to manage every part of a product, from raw materials to final assembly. Apache OFBiz simplifies this process with built-in tools that make BOM management clear, flexible, and closely connected to the rest of production.