Overview
The Bill of Materials (BOM) section defines the product structure for your factory — what each product is made of, what components are required, and in what quantities. BOMs are the foundation for planning and scheduling: the optimizer uses them to determine what needs to be produced upstream to fulfill downstream demand.How BOMs Work
A BOM links an entity (a product or material) to its components — other BOMs that must be produced or consumed to create one unit of the parent. This forms a tree structure from finished goods down to raw materials. ProDex automatically classifies every material based on its position in the BOM graph:- SKU — a saleable finished good. It is not a component in any other BOM. This is what demand orders reference.
- INTERMEDIATE — a material consumed by at least one other BOM. It’s produced internally and used upstream.
- RAW — a leaf material with no components of its own. It comes from external supply.
Creating a BOM
- Navigate to BOM in the sidebar
- Click New BOM
- Select the entity this BOM produces
- Give it a name and optional description
- Add components: for each component, select the child BOM and specify the quantity required per unit of output
- Click Save
Variant Conditions
A single entity can have multiple variants — for example, a product produced under different configurations (size, color, grade). Variant conditions define when each variant applies, using ProDex’s expression language. This allows planning and scheduling to handle products where the same entity routes through different BOMs depending on order attributes.BOM Explosion
BOM explosion drills into a BOM and expands all its sub-components recursively, showing the full tree of materials required to produce one unit. You can control the depth of the explosion. The explosion view is displayed as a graph — nodes are BOMs, edges are component relationships with quantities. This is useful for understanding multi-level product structures and verifying that your BOM data is correct before running a plan.Where-Used
The where-used query is the reverse of explosion: given a BOM, find all parent BOMs that consume it. This is useful when you need to understand the impact of a change — if a component’s lead time changes, where-used shows you every finished good affected. Where-used can be run shallowly (direct parents only) or recursively (full upstream tree).BOMs and Planning
Once your BOMs are defined, they feed directly into the Planning module. The planning optimizer uses your BOM structure to:- Determine which intermediate materials need to be produced to meet SKU demand
- Apply resource requirements at each level via the bill of resources
- Respect precedence: intermediate production must happen before the SKUs that consume it

