BOM-to-build execution is the path from a bill of materials to a finished item with a real cost. The BOM defines planned components and quantities. A work order applies that BOM to a specific job, reserves or issues the materials, records labour and outside processing, captures scrap and substitutions, and closes with an actual cost that can be compared against the plan.
A bill of materials is an assertion about the future: this is what the thing will take. A build is a record of the past: this is what it actually took. Most costing problems in manufacturing come from treating the first as though it were the second — costing jobs off the BOM because nobody captured the build.
The plan and the instance
| Bill of materials | Work order | |
|---|---|---|
| Nature | A reusable recipe | A single instance of making something |
| Scope | Components and quantities for one unit | A specific quantity, for a specific reason, on a specific date |
| Changes | By revision, deliberately and rarely | Constantly, as the job runs |
| Holds | Planned components, quantities, yield, routing | Actual materials issued, labour, scrap, substitutions, cost |
| Answers | What should this cost? | What did this cost? |
One BOM produces many work orders. The BOM should be stable enough to plan and quote from; the work order should be permissive enough to record what really happened, including the parts of it nobody planned. A system that forces the work order to match the BOM does not eliminate variance — it just stops recording it.
The path from BOM to build
Each step is a decision point, and each is somewhere operations commonly lose fidelity.
- Raise. The work order snapshots the BOM revision it was created from. Without this, a BOM change six weeks later silently rewrites the history of a job that has already shipped.
- Reserve. Components are allocated against the work order, moving them out of available stock so they cannot be promised elsewhere. Reserving is not consuming; the stock is still physically there.
- Issue. Material physically moves to the job and leaves inventory. This is where cost transfers from stock into work in progress, relieving FIFO layers as it goes.
- Add labour and outside processing. Hours against operations, plus any subcontract work — plating, powder coating, heat treatment — that leaves the building and comes back.
- Record what went wrong. Scrap, rework and substitutions. This is the step most often skipped, and the one that carries most of the information.
- Complete. Finished quantity is received into stock or delivered to the job, and the work order closes with an actual cost.
Issuing versus backflushing
There are two ways to relieve component stock, and the choice is a genuine trade-off rather than a best practice.
| Discrete issue | Backflush | |
|---|---|---|
| When stock moves | As each material is issued | All at once, on completion |
| Quantity used | What was actually taken | BOM quantity × units built |
| Shop-floor effort | Higher — every movement recorded | Minimal |
| Reveals substitutions | Yes, inherently | No, unless reported separately |
| Reveals scrap | Yes | No — it is absorbed into the assumption |
| Suits | Custom, high-value, project work | High-volume repetitive builds with stable BOMs |
Backflushing is a reasonable trade in repetitive production where the BOM is accurate and variance is small. In project-led manufacturing it can hide quantity differences when actual use is not reported. Actual prices, labour and separately recorded adjustments can still create cost variance, so backflushing does not guarantee the planned total cost.
Backflush the low-value, high-count consumables where recording each issue is not worth the effort, and discretely issue the expensive, job-specific and traceable components. Most of the cost is in a small number of lines; most of the data-entry burden is in the rest.
A worked example
An illustrative work order for 20 assemblies, planned at $86.42 each. The example includes material, outside-processing and labour records; confirm which of those inputs your system captures.
| Component | BOM qty | Planned | Actual qty | Actual | Variance |
|---|---|---|---|---|---|
| Steel frame | 20 | $620.00 | 22 | $682.00 | $62.00 |
| Bearing set | 40 | $448.00 | 40 | $512.00 | $64.00 |
| Fasteners | 240 | $86.40 | 240 | $86.40 | $0.00 |
| Powder coating (outside) | 20 | $260.00 | 22 | $286.00 | $26.00 |
| Assembly labour | 10.0 hr | $314.00 | 13.5 hr | $423.90 | $109.90 |
| Total for 20 units | — | $1,728.40 | — | $1,990.30 | $261.90 |
Unit cost planned at $86.42, actual $99.52 after rounding — 15.2% over. A process that records only planned consumption would miss the excess material use unless it were reported separately.
The table names four distinct problems, and they belong to four different people. Two frames were scrapped, so 22 were consumed to yield 20 — a process or material problem. Bearings were bought above the price the BOM was costed at — a purchasing or BOM-maintenance problem. The coating vendor charged for 22 pieces because 22 were sent — a downstream consequence of the scrap, not a separate issue. And assembly took 35% longer than routed — either an estimating problem or an execution problem, and which one matters enormously.
Reading build variance
Total variance is close to useless as a management number. Decomposed, it becomes actionable.
- Quantity variance — more or fewer components consumed than the BOM specified. Usually scrap, yield or theft. Owned by production.
- Price variance — components consumed at a different cost than the BOM was costed at. Owned by purchasing, or by whoever maintains standard costs.
- Substitution variance — a different part was used. Owned by engineering or purchasing, and worth flagging separately because it often signals a supply problem, not a cost problem.
- Labour efficiency variance — hours taken versus hours routed. Owned by production, but frequently caused by a routing that was never realistic.
- Labour rate variance — the work was done by a more or less expensive class of labour than planned. Owned by scheduling.
The pattern across many work orders matters more than any single one. A consistent 12% labour overrun on one product family is not an execution failure — it is a routing that is wrong, and every quote using it is underpriced.
What project-led work changes
Project-led manufacturing adds constraints that repetitive production does not have.
- The BOM is often incomplete when work starts. Long-lead items are ordered against a partial design. The work order has to accept components that were not on the original BOM without treating each as an exception.
- Builds are one-offs. There is no history to compare against, so the plan-versus-actual comparison is the only feedback loop that exists. Losing it means never learning.
- The work order belongs to a job, not just a product. Its cost has to roll up alongside purchased material, subcontracts and install labour into total job exposure.
- Change orders land mid-build. Material already issued may become scrap, and the cost of that decision needs to attach to the change order so it can be billed or, at minimum, learned from.
- Traceability is often contractual. Which heat number, which lot, which certificate — recorded at issue or not recoverable at all.
How Datum handles it
Datum supports assembly BOMs and Build Orders, including quick builds and project-linked builds. BOM version snapshots retain component, instruction and related assembly information for a recorded version.
Supported build-costing workflows record input-layer consumption and create output cost layers from consumed input costs. Project-linked builds can carry project and milestone references, keeping the build connected to the work it supports.
The broader production practices in this article are evaluation criteria, not a promise that every shop-floor feature is included. Confirm the required handling of labour, subcontract processing, substitutions, rework and component-level issue rules for your edition and workflow. Review the project-cost categories alongside the build records.
What to check in your setup
- Run a representative assembly through the Build Order workflow and inspect its input and output costs.
- Confirm how the chosen BOM version and later changes are represented.
- Demonstrate each required variance or shop-floor capture step before including it in your rollout scope.
Related questions
What is the difference between a BOM and a work order?
A bill of materials is a reusable recipe: the components and quantities needed to make one unit. A work order is a single instance of making a specific quantity for a specific reason, carrying its own actual materials, labour, scrap and cost. One BOM can produce thousands of work orders.
What is backflushing?
Backflushing deducts component stock automatically when a build is reported complete, based on the BOM quantities, instead of recording each material issue as it happens. It saves shop-floor data entry but assumes the build consumed exactly what the BOM says, so it hides substitutions and scrap unless those are reported separately.
How should scrap be handled in a BOM?
Either as a planned yield factor built into the component quantity, or as an actual scrap transaction recorded against the work order. Planned scrap keeps purchasing realistic. Actual scrap keeps costing honest. Operations that use only planned scrap never learn where material is really being lost.
What causes build variance?
Four things, usually: consuming more or fewer components than planned, substituting a different part, taking more or less labour time than routed, and buying components at a different price than the BOM was costed at. Separating these tells you whether a margin problem is an estimating problem or an execution problem.

