Almost every problem a plant has with material — the shortage that stops a line, the over-issue nobody can explain, the job that costed twice what it should — traces back to one document being wrong or missing: the Bill of Materials. It is the least glamorous object in a production system and the most load-bearing. Get the BOM right and requisitions, costing, routing and traceability all fall into place. Get it wrong and every downstream number inherits the error. This guide walks through what a BOM actually is, how a Bill of Resources sits alongside it, and the handful of ideas — qty-per, structure, release, revision, costing — that separate a bill you can run production on from a parts list in a spreadsheet.

We will use one running example throughout: a simple welded cantilever bracket assembly, the kind of part a fabrication or engineering job shop makes by the hundred. It has a machined pin, a welded frame, some bought-in fasteners and a coat of paint. Nothing exotic — which is exactly why it shows the mechanics clearly. If you want the wider category context first, our pillar guide on what production management software is sets the scene; this article zooms into the engineering definition that everything else draws on.

Two documents, one engineering definition

People say "BOM" loosely to mean the whole recipe. Strictly, the Bill of Materials is what a product is made of, and the Bill of Resources is what it takes to make it. Together with a process or route sheet they form the released definition a work order explodes into a requisition and a routing. This guide keeps the two straight.

1. What a Bill of Materials actually is

A Bill of Materials is a structured list of the components that go into one unit of a product. At its simplest it is a parent item at the top and a set of child items beneath it, and for each child two numbers that do most of the work: the quantity-per and the scrap or yield allowance.

Take the welded frame that forms the body of our bracket. Its single-level BOM might read like this:

#Child itemQty-perScrap
1
MS plate 6 mm — cut blank
Sheared and bent base plate
2 nos5%
2
MS square tube 40×40
Cut to 320 mm lengths
1.28 m8%
3
Welding wire (consumable)
MIG wire, charged per assembly
0.06 kg

Quantity-per answers the question the store keeper actually asks: for one frame, how much of this do I need? Two plates, 1.28 metres of tube, 60 grams of wire. When a work order for 100 frames is opened, the system multiplies each qty-per by 100 and produces the requisition — 200 plates, 128 metres of tube, 6 kg of wire — without anyone doing the arithmetic by hand. That single multiplication is the entire point of a BOM: it turns "make 100 of these" into "reserve and issue exactly this material."

Scrap is the honesty adjustment. Shearing a plate wastes an edge; cutting tube leaves an unusable off-cut; a percentage of blanks fail before they ever reach the weld fixture. If the BOM only carries the theoretical quantity, every requisition is systematically short, the line runs out, and someone raises an urgent top-up issue that never gets reconciled. A scrap or yield allowance builds the real-world loss into the requisition so the material planned matches the material consumed. It is a small field with an outsized effect on whether your stock figures ever agree with reality.

This is why a BOM is not a static parts catalogue — it is the engine behind requisition accuracy. Material issue, WIP consumption and finished-goods yield all reconcile back to it. If you want to see where the requisition it produces gets consumed on the floor, that happens in material issue & WIP.

2. Single-level vs multi-level (structural) BOM

The frame BOM above is single-level: one parent, a flat list of children. Real products are rarely that shallow. Our finished bracket assembly is built from the welded frame, a machined pivot pin, four bolts and a powder coat — and the frame is itself built from plate and tube. That nesting is what makes a BOM multi-level, or structural.

The vocabulary manufacturers use for the tiers is worth pinning down, because the whole structure hangs on it:

Read from the top down, a multi-level BOM is an indented explosion: the full tree of everything a product contains, tier by tier.

FG: Bracket assembly SFG: Welded frame RM: Plate + tube
Indented multi-level BOM tree for a cantilever bracket assembly finished good, exploding into a welded frame sub-assembly, a machined pin and bolts, with the frame exploding further into steel plate and tube raw material, annotated with explosion downward and where-used upward

Read top-down it is an explosion — everything the product contains. Read bottom-up it is where-used — every parent a given component feeds.

Reading the same tree from the bottom up gives you the other half of its value: where-used. Point at the MS plate and ask "which items consume this?" and the where-used view answers — the welded frame, and through it the bracket assembly, plus any other product that shares the same plate. This is not a curiosity. When a raw material goes short, when a supplier discontinues a grade, or when you are about to change a component, where-used tells you the full blast radius before you act, instead of discovering it when the third assembly down the line fails to build.

Multi-level structure also drives how work flows. Each level with its own manufacturing steps becomes its own work order: you raise a work order to build a batch of welded frames (SFG), transfer them to stock, then raise a second work order for the final assembly that consumes them. The BOM is what tells the system these two jobs are related — that the frame is not a purchase but an in-house make. Our work order management guide follows that hand-off from released BOM through to finished goods.

"A flat parts list tells you what to buy. Only a structured BOM tells you what to make, in what order, and what breaks if you change one line." — Fast Technology Team

3. BOM vs Bill of Resources — made-of vs takes-to-make

A BOM tells you what a product is made of. It says nothing about the machines, the labour, the tooling or the operations needed to turn that material into the product. That is the job of the Bill of Resources (BOR) — the second half of the engineering definition, and the one buyers most often overlook.

Where the BOM lists child materials with a qty-per, the BOR lists the resources each level consumes: which work centre, which operation, how long, with which tool or fixture. For the welded frame, the two bills sit side by side like this:

Welded frame (SFG)Bill of Materials — made ofBill of Resources — takes to make
Line 1MS plate 6 mm × 2, +5% scrapShearing — shear machine, 0.4 min/pc
Line 2MS square tube 40×40 × 1.28 mBending — press brake + bend tool
Line 3MIG welding wire × 0.06 kgWelding — weld station, fixture, welder labour
Line 4Inspection — in-process check gate

Keeping them as two bills against the same parent is what lets a single work order explode two ways at once. From the BOM the system builds the material requisition — reserve the plate, tube and wire. From the BOR it builds the route or process sheet — shear, bend, weld, inspect, each on its work centre with a standard time. One release, two outputs, no re-keying. The route side is covered in detail on our process & route sheets page.

Diagram showing one work order for a welded frame exploding two ways at once — down the left into a material requisition from the Bill of Materials listing steel plate, tube and welding wire, and down the right into a route sheet from the Bill of Resources listing shear machine, press brake, weld station and inspection

The BOM and the BOR share one parent. A work order explodes the material side into a requisition and the resource side into a routing in a single step.

The BOR is also where make-or-buy lives in practice. The machined pivot pin could be turned in-house on a CNC lathe — in which case it carries its own BOM (bar stock) and BOR (turning, an operation standard time) — or bought finished from a supplier, in which case it is simply an RM line on the assembly BOM with no resources of its own. The bill records which decision you made, and the costing that follows respects it.

4. Order-specific BOMs — when the standard product bends

Everything so far describes the master BOM: the standard, catalogue definition of how a product is normally built. For make-to-stock production that is usually enough — every unit of the bracket is the same, so one master BOM serves them all. Make-to-order and development work break that assumption constantly.

A customer orders the bracket but wants it in stainless instead of mild steel, with an extra gusset and a different bolt spec. If you edit the master BOM, you have just changed the standard product for everyone else who orders it. If you don't, the job carries the wrong recipe. The resolution is the order-specific BOM: a Bill of Materials raised against a particular customer order — an order acceptance, or OA — that deviates from the master only where this job requires it.

So two eras of BOM coexist, deliberately:

AspectMaster BOMOrder-specific BOM
DefinesThe standard product, for all ordersWhat this one order will actually consume
Raised againstThe item / product catalogueA customer order (OA) or development OA
Changes affectEvery future job for that itemOnly the job it belongs to
Typical useMake-to-stock, repeat productionMake-to-order, customer variants, NPD

The order BOM can start as a copy of the master and then carry its edits — the stainless substitution, the extra gusset — so the estimator and the shop floor both work from the exact recipe this customer is paying for, while the master stays clean for the next standard job. Development jobs work the same way: a new-product OA carries its own evolving BOM until the design settles and, if it becomes a catalogue item, is promoted to a master. Job shops and fabricators live in this mode, which is why per-order BOMs and process sheets are central to fabrication & job shop software.

5. Release and revision control — why status matters

A BOM that anyone can quietly edit is a liability. If an estimator tweaks a qty-per while a work order is mid-build against the old figure, the requisition and the reality diverge and nobody knows which version was right. Production-grade BOMs solve this with two disciplines: release and engineering change.

Draft to released

A new BOM is born in a draft status. In draft it can be built, reviewed and corrected freely — it is a work in progress and the floor cannot touch it. Only when it is deliberately released does it become an active definition a work order is allowed to draw on. That single gate is what stops half-finished or unreviewed recipes from reaching the line. In practice a BOM header carries a status that moves from draft to released, and a work order simply refuses to explode a bill that has not crossed that line.

Engineering change (ECN)

Released does not mean frozen forever — products change. When a change is needed to a released bill or process, you don't overwrite it in place; you raise an engineering change (ECN) against it. The ECN captures what is changing and why, goes through review and approval, and is then released in its own right so the revised BOM or process becomes the active definition from that point on. Crucially, the superseded revision is retained as history: you can always answer "which version of the bill did we build that batch to?" long after the change.

Draft Released ECN raised Approved Revised release History retained

For any plant working to ISO 9001 or IATF 16949, this is the machinery behind change traceability — the auditor's question "show me that this part was built to the approved revision" has a clean answer instead of a shrug. The release-and-change discipline is the difference between a BOM you can certify against and a document that quietly drifts.

6. BOM costing — from recipe to a costed estimate

Because the BOM and BOR together capture both the material and the effort in a product, they also carry everything needed to cost it — before a single unit is made. BOM costing rolls two streams together:

Add them and you have an estimated unit cost built from the actual recipe rather than a guess. For the bracket, the roll-up runs bottom-up: cost the welded frame (its plate, tube, wire, plus shearing, bending and welding time), treat that costed frame as an input to the assembly, add the pin, the bolts, the paint and the assembly labour, and the total lands as the FG cost. Change a supplier rate or an operation time and the estimate re-rolls without re-keying.

This is what makes the BOM a commercial document, not just an engineering one. The costed estimate feeds quotation — you can price an order knowing your real cost — and later feeds job-order costing and margin analysis, where the planned cost from the BOM is compared against what the job actually consumed and how much it rejected. The make-or-buy decision from section 3 shows up here too: the system can cost the pin as a make (bar stock plus turning) and as a buy (supplier price) and let you compare. All of this is only trustworthy if the BOM underneath is released and current — which is why costing and revision control are two sides of the same coin.

The engineering definition, done properly

One released BOM and BOR — every requisition, route and cost draws from it.

In Fast Production the Bill of Materials and Bill of Resources live together as one structure — a BOM header, its material positions and its resource lines — released as a single engineering definition. A work order explodes it into a requisition and a route in one step, and rolls material plus process cost into an estimate. Change control runs through ECN, and superseded revisions stay traceable.

Master, structural and order-specific BOMs on one platform
Release control and ECN with revision history retained
Where-used, BOM-level and released-vs-pending status views
Get a demo

7. Grouping, status and reporting

Once you hold hundreds or thousands of BOMs, the value shifts from any single bill to being able to see across all of them. A few reporting ideas do most of the day-to-day work:

BOM-level report
  • The full indented explosion, tier by tier
  • Every child, qty-per and scrap in one view
  • The reference a planner and buyer share
Item-wise / where-used
  • Given a component, every parent that uses it
  • Impact analysis before a change or substitution
  • Shortage blast-radius at a glance
Released vs pending
  • Which BOMs are live for production
  • Which are still in draft, waiting on release
  • A pending-BOM dashboard that flags gaps
BOM group
  • Bills organised by product family or line
  • Master vs order BOMs kept distinct
  • Faster to find, review and maintain

The released-versus-pending view is the one plant heads come back to. A BOM stuck in draft is an invisible blocker — planning cannot open a work order against it, so a job silently waits on an engineering release nobody flagged. A pending-BOM dashboard turns that hidden dependency into a visible queue. Grouping, meanwhile, is simply hygiene: with master and order-specific bills, sub-assemblies and finished goods all in one library, a BOM group keeps the right bills findable instead of buried.

8. How Fast Production Software implements BOM and BOR

Fast Production Software is the shop-floor manufacturing-execution product of the Fast Suite, built in Pune by Improsys under the Fast Technology brand. It treats the engineering definition as the foundation the rest of the floor stands on, and implements each idea in this guide with real, named screens:

ConceptHow Fast Production Software does it
Master & structural BOMMulti-level BOMs carry child-material lines with quantity-per and scrap, nesting FG → SFG → RM, with the full indented explosion available as a BOM-level report. See BOM & Bill of Resources.
Bill of ResourcesA resource line set — machines, labour, tools and operations — sits against each level and ties to a resource master, so the same work order that raises a requisition also builds the route sheet.
Order-specific BOMBOMs can be raised against a customer order (OA) or development OA, so a make-to-order job carries its own bill separate from the master — the two eras coexist without conflict.
Release controlA BOM is not usable by production until it is released — draft moves to released status, and only released bills can be exploded by a work order.
ECNEngineering changes are raised against a released BOM or process, reviewed and released so the revised definition becomes active, with superseded revisions retained as history.
BOM costingMaterial cost from the BOM positions and resource/process cost from the BOR and process sheet roll up into an estimated unit cost that feeds quotation and job-order costing.
Reporting & statusBOM-level, item-wise/where-used and released-vs-pending views, with BOM grouping — plus Dhruv AI for plain-English questions over your production data.

Underneath, the structure is exactly the three-part object this guide describes — a BOM header, its material positions and its resource lines — held together so a single release drives the requisition, the route and the cost. It is the same model running at scale in deployments such as Solidus Hi-Tech and Micro India, where thousands of BOM and resource lines sit behind everyday work orders. If you are weighing the wider category, our guide to what a manufacturing execution system is puts the BOM in the context of the full released-BOM-to-finished-goods lifecycle, and the rejection and rework guide shows what happens when reality departs from the bill.

9. Frequently asked questions

What is a Bill of Materials?
A Bill of Materials (BOM) is the structured list of everything that goes into making a product — the parent item and its child items, each with a quantity-per and usually a scrap or yield allowance. It is the master recipe production works from: when a work order is opened, the system explodes the BOM into a material requisition so the store knows exactly what, and how much, to reserve and issue for the quantity being built.
What is the difference between a BOM and a Bill of Resources?
A Bill of Materials lists what a product is made of — the child materials and quantity-per with scrap allowance. A Bill of Resources lists what it takes to make it — the machines, labour, tools and operations each level consumes. The BOM drives the material requisition; the BOR drives the route or process sheet. Together they let a work order explode into both a material list and a routing, and roll both up into a costed estimate.
What is a multi-level or structural BOM?
A multi-level or structural BOM has more than one tier: a finished good (FG) built from sub-assemblies or semi-finished goods (SFG), each in turn built from raw material (RM). Reading it top-down is the indented explosion — the whole tree of what a product contains. Reading it bottom-up is where-used — given one component, which parents consume it — so you can assess the impact of a shortage or a change before you make it.
What is an order-specific BOM?
An order-specific BOM is a Bill of Materials raised against a particular customer order (OA) rather than the master catalogue. Make-to-order and development jobs often deviate from the standard product — a substitution, an extra part, a different finish — so the order carries its own bill separate from the master. The master BOM defines the standard product; the order BOM defines what this specific job will actually consume, without disturbing the master.
How does BOM revision control and ECN work?
A BOM is not usable by production until it is released — it moves from draft to a released status, and only a released definition can be drawn on by a work order. When something must change, an engineering change (ECN) is raised against the released BOM or process, reviewed and approved, then released so the revised definition becomes active. The superseded revision is retained as history, so you can always trace which version a past job was built to.

See your own BOM and BOR walked live

A 30-minute demo — your product structure, your route, your costing rolled up on screen. No generic slideshow.