Skip to main content
Stokka

Bills of materials

Multi-level BOMs vs single-level: when you need each

A single-level BOM is simpler. A multi-level BOM is honest. Here is a practical guide to when to use each, how they behave in MRP, and the operational cost of getting it wrong.

20 April 20267 min read

A BOM is a tree. A single-level BOM flattens that tree to one layer. A multi-level BOM keeps the structure. Both are valid; they behave very differently when you run an MRP, and that is the deciding factor for which you use.

The two shapes

Single-level BOM. A finished good with a flat list of raw components. No intermediate products. Everything the recipe needs, at the bottom layer.

Multi-level BOM. A finished good whose components can themselves be products with their own BOMs. The tree descends as deep as reality demands.

A worked comparison

Consider a lipstick SKU, LIP-RNO.

Single-level

LIP-RNO
├── carnauba wax 0.3g
├── jojoba oil 0.4g
├── fragrance 0.02g
├── iron oxide red 0.2g
├── tube 1
├── cap 1
├── label 1
└── carton 1

Multi-level

LIP-RNO
├── BASE-VLV 0.72g
│   ├── carnauba wax 0.3g
│   ├── jojoba oil 0.4g
│   └── fragrance 0.02g
├── iron oxide red 0.2g
├── tube 1
├── cap 1
├── label 1
└── carton 1

Both BOMs produce the same lipstick. The multi-level version acknowledges that the base formulation is manufactured, not mixed-to-order, so it has its own production run, its own BOM version, its own traceability.

When to use which

  • Use single-level when the finished good is built in one pass from raw materials. No intermediate product is ever held as stock. No sub-assembly is ever used across multiple finished goods.
  • Use multi-level when a sub-assembly is shared, held as stock, or tracked for quality. If two finished goods share a base, the base needs to be its own BOM. If the base is made in larger batches than the finished good, multi-level.

How MRP behaves differently

The MRP system explodes demand through the BOM tree. With a single-level BOM, the explosion is one pass: finished goods demand becomes raw component demand directly. With a multi-level BOM, the explosion is recursive: finished goods demand becomes sub-assembly demand, which becomes raw component demand.

That recursion matters because it lets MRP:

  • Net against sub-assembly stock. If you already have 200g of base formulation in the tank, you don't need to make it again.
  • Batch sub-assembly production separately. Base gets made in 5kg runs; lipsticks get filled in 500-unit runs.
  • Trace quality issues at the right layer. If a batch of base is out of spec, the multi-level BOM lets you find every finished SKU that used it, not just every finished SKU that used the raw ingredients.

The cost of flattening a tree that isn't flat

Small manufacturers often start with single-level BOMs because they are simpler to enter. The cost shows up later:

  • Sub-assembly stock isn't visible. You can't answer “how much base do I have” directly.
  • Runs of the sub-assembly aren't planned separately. You end up making the base on the lipstick line, mid-run, which wrecks your throughput.
  • Traceability can't distinguish “bad pigment batch” from “bad base batch”. Both look the same to a flat BOM.

How deep should the tree go?

As deep as reality. A lipstick might be two levels (base → lipstick). A dietary supplement might be three (excipient pre-mix → blend → tablet). A piece of hardware might be five or six. The rule is not depth for its own sake; it is depth that matches the physical manufacturing steps.

There is one useful exception: a phantom BOM is a grouping that exists in the data model but never exists as physical stock. It is consumed immediately by the parent run and is not purchased or produced on its own. See phantom BOMs explained.

Multi-level BOMs in Stokka

Stokka supports multi-level BOMs, sub-assemblies, phantoms, yield rates per line, and alternate components. Explosions are recursive in the product today for live cost roll-up, where-used, and “What can I build?”, which names the bottleneck at every level. Netting demand against stock at every level is the roadmap layer. It builds on the shipped weekly capacity planner, which rough-cuts your open production orders from real routings in one click and flags the must-start weeks.

Further reading

If you are starting from scratch, read how to build a bill of materials step by step. If you are debating whether a grouping should be physical or phantom, read phantom BOMs. For how the explosion actually runs, see what MRP is, in plain English.

Keep reading

Related posts