A bill of materials (BOM) is a structured list of every component you need to build one finished product. Think of it as a recipe — but for hard goods. Each line names a component, how many you need, what unit it's counted in, and (optionally) what it costs. Without a BOM, you can't run a build, you can't cost a product, and you can't tell purchasing what to order.
The BOM is the bridge between sales and operations. Sales sees one SKU — say, FAN-DESK-12. Operations sees the four or five components that go into building one FAN-DESK-12. The BOM is the document that holds those two worlds together.
Every time you build one finished unit, the BOM tells the system which components to decrement and by how much. Build 100 fans, decrement 100 motors, 100 housings, 400 screws. The BOM also feeds cost roll-ups — if the components total $14.20 in raw cost, your finished good cost starts there.
Two flavors, and the difference is how deep the recipe goes.
A single-level BOM lists only the immediate components of the finished product. The fan's BOM might say "1 motor assembly, 1 housing, 1 grille, 4 screws." That's it. If the motor assembly itself is bought from a supplier as a complete unit, single-level is enough.
A multi-level BOM breaks down sub-assemblies into their own components. The motor assembly itself has a BOM — coil, rotor, bearings, casing, wire harness. If you manufacture the motor assembly in-house, you need that next layer visible. Multi-level BOMs are recursive — each sub-assembly is a parent to its own children.
Most furniture, electronics, and machinery operations run multi-level. Most kitting and food operations stay single-level because there's no deeper assembly to worry about.
These get tangled constantly.
The line between BOM and recipe is mostly industry vocabulary. The line between BOM and kit is real: assembled goods are transformed (often irreversibly), kits aren't.
A simple desk fan, FAN-DESK-12:
| Line | Component SKU | Component name | Qty | UOM | Unit cost | Extended cost |
|---|---|---|---|---|---|---|
| 10 | MOT-12V-A | 12V DC motor | 1 | each | $6.40 | $6.40 |
| 20 | HSG-PLA-WH | Plastic housing | 1 | each | $3.10 | $3.10 |
| 30 | GRL-MTL-30 | Metal grille 30cm | 1 | each | $2.20 | $2.20 |
| 40 | SCR-M3-12 | M3 × 12mm screw | 6 | each | $0.04 | $0.24 |
| 50 | LBL-FAN-01 | Product label | 1 | each | $0.05 | $0.05 |
| 60 | BOX-FAN-M | Shipping box, medium | 1 | each | $0.85 | $0.85 |
| Total component | $12.84 |
Build one FAN-DESK-12 and your system decrements one of each of those component lines. Build 250 and it decrements 250 of each — except screws, which decrement 1,500.
This is the part that catches people off guard. The BOM isn't decorative — it actively rewrites your stock numbers every time a build happens.
When you record "built 100 FAN-DESK-12," a properly configured system does six things in one transaction: deducts 100 motors, 100 housings, 100 grilles, 600 screws, 100 labels, and 100 boxes. Then it adds 100 finished fans to on-hand. If any component is short, the build fails or flags — better than discovering it on the line.
This also means your reorder logic for components has to know the BOM. If you've got a sales forecast of 500 fans next month, purchasing needs to see "we need 500 motors, 3,000 screws, 500 housings" — not just "we need 500 fans." That math is BOM-driven.
For a deeper walkthrough — including multi-level structures, phantom BOMs, and where they intersect with MRP — read the full guide at What is a bill of materials?.
StockZip supports single-level and multi-level BOMs with automatic component decrement on every build. Define the recipe once, and every build event rewrites stock for you. Start a free trial, or read the deeper bill of materials guide for setup walkthroughs.
Straight answers about spreadsheets, scanners, offline work, existing systems, and the free period.
A BOM is a structural list — it can describe a kit, an assembled product, or a manufactured good. A kit is one specific use of a BOM, where components are grouped without being transformed. Every kit has a BOM; not every BOM is a kit.