Glossary

Multi-Level Bill of Materials (BOM)

A multi-level bill of materials (BOM) lists components in tiers, so each sub-assembly appears with its own parts beneath it.

By Praveen Nune, Co-Founder & CEO · Updated 24 Oct 2026

Also called Indented BOM

On this page
  1. 01Definition
  2. 02Quick facts
  3. 03What is a multi-level BOM?
  4. 04How much does a multi-level BOM change what you buy?
  5. 05Should a sub-assembly get its own level, become a phantom, or be flattened?
  6. 06Where do multi-level BOMs go wrong?
  7. 07What five checks should software pass for multi-level BOMs?
  8. 08How Arka Inventory handles it
  9. 09Example
  10. 10Related terms
  11. 11Frequently asked

What is a multi-level BOM?

A multi-level BOM is a bill of materials, the list of parts and quantities needed to make one product, in which sub-assemblies have their own BOMs below the finished product.

Key takeaways

  • A sub-assembly earns its own level only if you hold it as stock, use it in more than one product, or plan it separately.
  • A flat list that ignores sub-assembly stock and yield overstates purchases. In the 100-pump model it says buy 260 bearings where the multi-level calculation says 238.
  • A sub-assembly built and used in the same run belongs in a phantom or a flat list, not a stocked level.
  • Test any software with five pass-or-fail checks, using your own deepest product, before relying on it.

Quick facts

Also known as
Indented BOM
Level numbering
Level 0 is the finished product, level 1 its direct components, down to bought-in parts
How it is built
Bottom-up: lowest-level BOMs first, then used as components in the BOMs above
Expanded by
A BOM explosion, giving the total of every bought part

The tree diagram is the easy part of a multi-level BOM. The costly part is deciding which sub-assemblies earn their own level. Every level adds a stock record to count, a cost to roll up and a revision to keep in step.

Decide well and purchase quantities come out right. Decide badly and the system buys parts you have already built into sub-assemblies. It can also hide work in progress (WIP, partly finished stock) that someone has to find by walking the shop floor.

In the 100-pump model below, a list that ignores built sub-assemblies and scrap overbuys by 22 bearings on a single part.

This page defines the term and works one example for 100 pumps, small enough to check by hand. It also gives a table for choosing how to model each sub-assembly, and five checks to run on any software before you commit.

What is a multi-level BOM?

A multi-level BOM is also called an indented BOM. Level 0 is the finished product, level 1 its direct components, and so on down to bought-in parts.

The pump as a tiered parts treeA tree diagram showing a pump at level 0, its motor assembly at level 1 and the rotor assembly at level 2 above bought-in parts.

  • Bottom-up construction. Build the lowest-level BOMs first, then use those items as components in the BOMs above them.
  • Explosion. Expanding the tree into the total of every bought part is called a BOM explosion. Material requirements planning (MRP) then turns those quantities into purchase and build plans; see material requirements planning.
  • One part, several levels. A part can sit at more than one level. The explosion must add the quantities together.
  • Single-level BOM. It lists only direct components and ignores what the sub-assemblies contain.

How much does a multi-level BOM change what you buy?

In a model of 100 pumps, a flat list that ignores sub-assembly stock and yield says buy 260 bearings and the multi-level calculation says 238. The gap comes from stock held at sub-assembly level. Yield losses also compound through the levels. Yield is the share of units that come out good; a 98% yield means 2 in 100 units are scrapped, so you must start more units than you need.

The structure is:

  • Pump (level 0): 1 motor assembly, 1 pump body assembly, 1 carton.
  • Motor assembly (level 1): 1 stator, 1 rotor assembly, 2 end covers, 4 M6 screws.
  • Rotor assembly (level 2): 1 shaft, 1 rotor core, 2 bearings.
  • Pump body assembly (level 1): 1 casing, 1 impeller, 1 seal, 1 bearing, 6 M6 screws.

These are illustrative assumptions, not customer data. Motor assembly yield is 99%, rotor assembly yield is 98%, and pump body yield is 100%. On hand are 15 finished rotor assemblies and 40 loose bearings. Stock is netted against the requirement first, then yield is applied to the build quantity. Quantities are rounded up at each level, because you cannot build part of a unit.

The flat list's 260 ignores sub-assembly stock and yield, and its overstatement of 22 bearings (260 − 238) comes from that omission. Yield loss can push other parts up instead: M6 screws come to 4 × 102 + 6 × 100 = 1,008, against 1,000 on a flat list.

Step
Flat list, bearings
Working
(2 + 1) × 100
Result
300
Step
Motor assemblies to build
Working
100 ÷ 0.99 = 101.01, rounded up
Result
102
Step
Rotor assemblies needed
Working
one per motor assembly
Result
102
Step
Net of rotor stock
Working
102 − 15 on hand
Result
87
Step
Rotor assemblies to build
Working
87 ÷ 0.98 = 88.78, rounded up
Result
89
Step
Bearings needed
Working
2 × 89 + 1 × 100
Result
278
Step
Bearings to buy
Working
278 − 40 on hand
Result
238
Step
Flat list, bearings to buy
Working
300 − 40 on hand
Result
260
100-pump bearing requirement, worked by hand

Should a sub-assembly get its own level, become a phantom, or be flattened?

Give a sub-assembly its own stocked level only if you hold it as stock, share it across products, or plan it separately. Make it a phantom if it is built and consumed in one run. A phantom is a sub-assembly defined in the BOM but never held as stock, so its parts pass straight to the parent. Otherwise flatten it.

Use a phantom when you want the sub-assembly's parts and quantities kept as a separate, reusable BOM; flatten when the step appears in one product only.

The recommended approach is to start flat and add a level only when one of the first three answers in the table is yes. With the same yields, a phantom and a flat list give the same purchase quantities. The difference is whether a stock record and a production order exist for that step. Every stocked level means more production orders, more material moves and more WIP inventory to value.

Question about the sub-assembly
Do you build it ahead and hold it on a shelf or in WIP?
If yes
Stocked level
Question about the sub-assembly
Does more than one finished product use it?
If yes
Stocked level, so one revision reaches every parent
Question about the sub-assembly
Does it have its own lead time, supplier or team?
If yes
Stocked level
Question about the sub-assembly
Is it built and consumed in one run, never counted?
If yes
Phantom
Question about the sub-assembly
Do the steps run back to back at adjacent stations within hours?
If yes
Flatten: one BOM, one production order
Choosing how to model a sub-assembly

Where do multi-level BOMs go wrong?

They go wrong at revisions, at handoffs between levels and at the line between BOMs and kits.

  • Revisions ripple upward. A change to a low-level part forces new versions of every parent that uses it. Before approving a change, list every parent that uses the part.
  • Sub-levels must exist first. A stocked sub-assembly must be built before the parent that uses it. Each stocked level is one more build to schedule.
  • Kits are not multi-level BOMs. A kit is a set of items sold together as one line. A multi-level BOM describes things you assemble.
  • Costs move with the levels. A sub-assembly's full cost, including its own labour and overhead, rolls into the parent as a single material-cost line. The parent's labour and overhead lines cover only work done at the parent level. See BOM costing.

What five checks should software pass for multi-level BOMs?

Run these with your own deepest product, or the pump above.

  1. Explosion. Enter a three-level product. Pass: one view lists every bought part with its total quantity. Fail: only direct components appear.
  2. Stock netting. Set motor yield to 99% and rotor yield to 98%, enter 15 rotor assemblies and 40 bearings on hand, and rerun the 100-pump requirement. Pass: bearings to buy show 238. Fail: any other figure, once you have checked the software's rounding rule.
  3. Revision. Change one low-level part. Pass: the system shows every parent that uses it and lets you version them. Fail: parents silently keep the old version.
  4. Cost roll-up. Pass: the sub-assembly cost shows on its own line and in the parent, and the total reconciles by hand. Fail: you cannot reconcile it.
  5. Build. Build one pump. Pass: finished stock rises by 1 and nothing is deducted twice. Fail: any bought part moves twice.

How Arka Inventory handles it

Our bill of materials feature lets you create bills of materials for multi-component products. You can check material availability against each BOM, plan purchases, and track consumption and production.

Bills of Material, production and kitting are on our Advance plan. As of October 2026 it costs US$499 a month, paid yearly, with 2 user licences and extra users at US$52 a month. Our pricing is published in US dollars. Each user signs in with a Salesforce login, and Salesforce licences are bought from Salesforce and priced separately. For buying advice, see Bill of Materials Software, or ask our sales team about your product's structure.

Run the five checks above on your deepest real product in our 15-day free trial, which gives full access with no credit card.

Example

For 100 pumps, 102 motor assemblies must be built to allow for 99% yield. After netting 15 finished rotor assemblies, 89 more are built at 98% yield, using 2 × 89 + 1 × 100 = 278 bearings. With 40 bearings on hand, the buy is 238, not the flat list's 260.

Frequently asked

No. If the steps run back to back at adjacent stations within a few hours, one BOM and one production order is simpler. You lose a count of the intermediate stage, which usually does not matter. Separate BOMs pay off when a sub-assembly is stocked, reused or has its own lead time.
Only for stocked levels. A phantom sub-assembly is built inside the parent's order, so it adds no extra order. A sub-assembly needs its own production order if you stock it, share it across products or plan it separately.
The sub-assembly's full cost, including its own labour and overhead, rolls into the parent as a single material-cost line. The parent's labour and overhead lines then cover only work done at the parent level, so the two totals differ by design. Add the sub-assembly's material, labour and overhead lines and check that they equal the single line in the parent.

Sources

  1. 1.Bill of Material feature, Arka Inventory
  2. 2.Pricing, Arka Inventory, October 2026

Questions about multi-level BOMs?

Talk to our team about how your product's structure maps to stocked levels, phantoms and flat lists.
Talk to our team
Arka Inventory.

© 2026 Arka Inventory

Powered by PageLens.ai

Get in touch — we'd love to help.

Request a Demo