How to cost a hardware bill of materials
A bill of materials is the spine of your unit economics, and the number most founders first quote is the one most likely to be wrong. This is how to structure a bill of materials, cost it honestly at volume, and account for everything a plain parts list leaves out.
Start with a structured bill of materials
A good bill of materials is hierarchical, not a flat list. The finished product breaks into sub-assemblies, each sub-assembly into parts, and every line carries the same fields so the model can add itself up:
Get the structure right and the rest is arithmetic. Get it wrong — missing lines, no quantity, prices from a single-unit web listing — and every number downstream inherits the error.
Unit price is not volume price
The single most common costing mistake is pricing parts at one-off or sample quantities and calling it the unit cost. Component prices step down at published quantity breaks, and the gap between the price of one and the price of ten thousand is often large. Cost your bill of materials at the volumes you will actually order — typically a low pilot run, a first production batch, and a mature volume — and show all three.
At 1,000 units you are usually paying near list, tooling is barely amortised, and assembly is manual. At 10,000 the quantity breaks bite, tooling starts to disappear into the per-unit number, and it is worth semi-automating. At 100,000 you negotiate directly, tooling is a rounding error per unit, and the design itself gets optimised for the line. The same product can cost markedly less at the top of that range than the bottom — which is exactly why you must state the volume every cost is quoted at.
What a parts list leaves out
The parts are usually only 40 to 60 per cent of the true landed unit cost. The rest hides in lines a spreadsheet of component prices never shows:
Assembly labour
The minutes it takes a person or a line to build one unit, times a loaded labour rate. On a fiddly product this rivals the parts cost.
Test and inspection
Functional test, calibration, burn-in and the scrap rate for units that fail. Test time is real cost and rarely appears on a parts list.
Tooling and non-recurring engineering (NRE)
Moulds, jigs, fixtures, test rigs and the one-off engineering to set up production. Spread across the run, they add pounds per unit early on.
Logistics, duty and packaging
Freight, import duty, warehousing and the box the product ships in. A part that is cheap ex-works can arrive dear.
Yield and scrap
Not every build passes. A 95% yield means you buy parts for 100 units to ship 95 — that loss is a real line in the true unit cost.
The margin stack
The manufacturer's margin, the distributor's margin and your own. Each is applied in turn, so they compound rather than add.
Add these and the honest number is often close to double the parts-only figure. That is not pessimism — it is the number your gross margin actually has to survive.
Make it auditable
A cost model earns trust when every figure traces to a source and the total recomputes when an input changes. Each part price should carry its quote date and quantity break; each labour and tooling assumption should be stated, not buried; and the landed unit cost should fall out of the model rather than being typed in. When you change a volume or a part, you should be able to watch the total move and see why.
This is precisely what a Fractional Forge Design Dossier produces — an auditable Excel model where the bill of materials, the labour, tooling and logistics, and the margin stack all trace from your inputs into a single landed unit cost you can defend line by line. It is reviewed by a senior engineer before it is used, and your first one is free. But the discipline matters more than the tool: a bill of materials nobody can reconstruct is a guess wearing a spreadsheet.
Common questions
How do I cost a hardware bill of materials?
List every part — components, sub-assemblies, fasteners, consumables — with quantity per unit and a real quoted price at your target volume. Then add the costs a parts list leaves out: assembly labour, test, tooling and non-recurring engineering spread over the run, logistics and duty, and the yield loss from units that fail. Finally apply the margin stack. The parts alone are usually 40 to 60 per cent of the true landed unit cost, so a bill of materials that stops at the parts is optimistic by a wide margin.
Why does the price change at 1k, 10k and 100k units?
Component prices step down at published quantity breaks, tooling amortises across more units so its per-unit share falls, and assembly gets faster and more automated as volume justifies the setup. The effect is large: a part list that costs one figure at a thousand units can drop by a third or more at a hundred thousand. Always cost at the volume you will actually order, not a round number that flatters the model.
What do founders most often leave out?
Assembly labour, test time, tooling amortisation, logistics and duty, yield loss, and the compounding margin stack. Each is invisible on a spreadsheet of part prices, and together they routinely double the number a founder first quotes. The second most common error is costing at a volume you will not hit for years, which makes the early economics look far better than they will be.
How do I make the cost model auditable?
Every number should trace to a source — a quoted price with a date and a quantity break, a labour rate with the assumptions behind it, a tooling cost divided by a stated run size. When a figure changes, the total should recompute and the reason should be visible. A model where the total is a hand-typed number nobody can reconstruct is not auditable, and an investor or a manufacturer will treat it as a guess.
Want your bill of materials costed properly?
Describe your product in a short brief and get a Design Dossier — an auditable, engineer-checked model with a full bill of materials and a landed unit cost at the volumes you care about. Your first one is free.
Start a brief