BOM cost: roll up a bill of materials, add labour and overhead, and set the price

BOM cost is the cost of the parts and materials in one unit of a product. Each line of the bill of materials adds its quantity per unit times its unit cost, plus a scrap allowance. Add labour and overhead to get the unit cost that a price is built on. The calculator below rolls up a BOM you type or paste from Excel and prices it at your markup.

A technician wires breakers and terminal blocks on electrical panels mounted on a blue assembly rack in a bright workshop

What BOM cost means

A bill of materials (BOM) lists every part and material that goes into one unit, with the quantity of each. Oracle’s Bills of Material guide describes it as a list of items associated with a parent item. It also records how each item relates to that parent. A costed BOM adds a unit cost to every line. BOM cost is the total of those lines for one unit.

ERP systems call the calculation a cost roll-up. Microsoft’s documentation for Dynamics 365 explains that “the cost roll-up and sales price calculations are known as bill of materials (BOM) calculations.” A multi-level BOM rolls up from the bottom. Each sub-assembly is costed from its own parts first, and its total becomes one line in the level above. The BOM explosion calculator runs every level at once and totals each part across the whole BOM.

Some people call the same total the BOM price. BOM cost is the starting point of a unit cost. Labour, overhead, packaging and freight still have to be added before anyone sets a price.

The BOM cost formula

The formulas

Line cost = quantity per unit × unit cost × (1 + scrap %)

Material roll-up = the sum of the line costs

Unit cost = material roll-up + labour per unit + overhead per unit

Price = unit cost × (1 + markup %), and margin = (price − unit cost) ÷ price

Scrap is the material that goes in but does not end up in the product: offcuts, setup pieces and rejects. ERP systems handle it two ways. Dynamics 365 adds variable scrap as a percentage on top of the required quantity, so 20% scrap on 100 litres means buying 120. It also allows constant scrap, a fixed quantity lost on every production run whatever its size.

Oracle’s guide divides by a yield instead: component requirements equal the usage quantity divided by the component yield. The two methods differ. A 10% allowance multiplies the quantity by 1.10 in the first method and by 1.1111 as a 90% yield in the second. On 60 metres of wire with 15% scrap, that is 69.00 metres against 70.59. Use the convention your ERP uses, so the quote matches the job cost later.

BOM cost calculator

Enter each part with its quantity per unit, its unit cost and a scrap allowance, or paste the rows from Excel. Then add labour and overhead per unit and a markup. The calculator returns the material roll-up, the unit cost, the price and the margin that markup gives. It starts with the example on this page.

BOM cost roll-up calculator
Bill of materials, per unit
Scrap is added on top of the quantity. To paste a BOM from Excel, copy the part, quantity, unit cost and scrap columns. Paste them into the first Part cell to replace the lines, or into any other cell to fill downward.
Line cost$410.00
Line cost$58.00
Line cost$185.00
Line cost$386.00
Line cost$77.70
Line cost$14.08
Line cost$31.68
Line cost$28.98
Line cost$34.00
Paste rows from Excel or Google Sheets
Labour, overhead and markup
Material roll-up
$1,225.44
Unit cost
$2,080.44
Price
$2,808.59
Margin on price
25.9%
A 35% markup on a $2,080.44 unit cost gives a price of $2,808.59 and a 25.9% margin on the price. Material is 58.9% of the unit cost.
The calculator runs in your browser. What you type or paste is not sent to ThriveAI, is not saved, and is kept out of the site’s analytics.

A worked example: a motor control enclosure

The calculator’s example is a wall-mounted enclosure with four motor starters. The prices and hours are made up to show the method.

BOM lineQty per unitUnit costScrapLine cost
Enclosure, 600 x 800 x 300 mm, painted steel1$410.000%$410.00
Mounting plate1$58.000%$58.00
Main circuit breaker, 3-pole1$185.000%$185.00
Motor starter (contactor and overload relay)4$96.500%$386.00
Terminal blocks40$1.855%$77.70
DIN rail, per metre2$6.4010%$14.08
Wire duct, per metre4$7.2010%$31.68
Control wire, per metre60$0.4215%$28.98
Door hardware kit1$34.000%$34.00
Material roll-up$1,225.44
Labour: 9.5 hours at $62.00$589.00
Overhead: 9.5 hours at $28.00$266.00
Unit cost$2,080.44
Price at a 35% markup$2,808.59

The material is 58.9% of the unit cost, and two lines carry most of it. The enclosure and the four motor starters make up 65.0% of the material roll-up. Together they move the total more than the other seven lines combined, so they deserve the freshest prices on every quote.

Overhead here is applied per labour hour. OpenStax’s managerial accounting text explains how such a rate is set. A predetermined overhead rate is calculated “by dividing the estimated manufacturing overhead by the estimated activity base,” such as labour hours or machine hours. The 35% markup gives a 25.9% margin on the price. The markup calculator converts between the two.

Roll up every quote from current costs

Send Derik the Excel builder your team prices from. He sends back a free map of its rules and lookup tables, with where each cost comes from and when it last changed.

Start a conversation

Which unit cost to use

The roll-up is only as good as the unit cost on each line, and an ERP can hold several. A standard cost is set once, often at the start of the year. A last purchase price reflects the most recent invoice. An average cost blends what is on the shelf. For a quote, the useful question is what the next purchase will cost.

Keep the ERP’s standard cost beside the quote cost rather than replacing it. The gap between the two shows which parts have moved. Costing software for manufacturing covers building a cost per part from invoices and job records.

BOM cost analysis: where to look first

BOM cost analysis sorts the lines of a costed BOM by their share of the material roll-up. In the example, two of the nine lines carry 65.0% of the material. Check the largest lines first, with these questions:

The last question tells you whether the first three worked. Comparing quoted and actual material on closed jobs shows which lines the quotes get wrong, and by how much.

Costing a configured product’s BOM

A configured product has no fixed BOM until the customer picks the options. Oracle’s guide describes a configuration bill as “a set of option choices made from a model bill that comprise a buildable, sellable product.” Oracle creates those bills automatically once a customer chooses options on a sales order. Dynamics 365 runs order-specific BOM calculations on a sales quotation line for the same reason.

For a quote, the roll-up therefore has to run on the configuration the customer chose. A wider enclosure, a fifth motor starter or a stainless door changes specific lines. The rules that pick the parts have to feed the roll-up directly, or someone retypes the BOM into a spreadsheet for every quote.

Step 1Pick the optionsThe sales engineer chooses the size, the number of starters and the door material for this order.
Step 2Rules build the BOMThe configurator turns the options into BOM lines with the plant’s own part numbers and quantities.
Step 3Cost each lineEach line takes its current cost from recent invoices or the ERP, with the scrap the plant uses.
Step 4Add hours and price itLabour and overhead come from the routing for this configuration, and the markup method sets the price.
Step 5A named person approvesThe estimator sees every line behind the price and approves, edits or rejects the quote.
The inside of an industrial control cabinet with PLC modules, breakers, relays and rows of colour-coded terminal blocks

Passing material and tariff surcharges through to quotes

Material and border costs moved often in 2025 and 2026. Statistics Canada’s August 2026 price release shows unwrought copper up 49.3% and unwrought aluminum up 27.6% over twelve months. The United States Surtax Order (2026) notice describes the counter-tariffs from September 8, 2026 as Canada’s fifth response to US tariff actions. It appeared in the Canada Gazette on September 23, 2026. A companion order raised the counter-tariff on most US steel and aluminum goods from 25% to 50%, as the same notice explains.

A surtax is charged on the value for duty of the imported goods, in addition to any customs duty, as that notice explains. For a BOM, the surtax belongs in the landed cost of the line it applies to. Check whether remission applies: the same notice extends the United States Surtax Remission Order (2025) to these surtaxes, and that order can cover goods imported for use in manufacturing in Canada. Material prices move as well. Suppose steel is 60% of the enclosure’s $410.00 cost and the steel price rises 25%. The enclosure line then rises by $61.50 a unit.

Plants pass such changes through in several ways:

Whichever you use, the quote should record the cost date and the surtax rate behind each affected line. Rates have changed several times since 2025, and a quote that hides them is hard to explain later.

Where AI does the work

Much of the effort in BOM costing goes into keeping unit costs current. AI takes over the reading and checking, and a named person approves what changes.

Cost-plus pricing covers how the roll-up turns into a price, and when a markup on cost leaves money on the table.

How ThriveAI rolls up your BOM costs on every quote

ThriveAI turns the Excel builder your team quotes from into a CPQ app built around the way your team quotes. Derik writes the builder’s rules so each configuration produces its own BOM with your part numbers. Each line takes its cost from recent supplier invoices, and the hours come from your routings at your rates. The price follows your markup method, with every line visible to the estimator. The first stage covers one product family and runs four weeks, starting with a free map of the workbook you quote from. A named person approves every quote. The Excel builder to CPQ app offer describes the four weeks.

Questions people ask

What is BOM cost?
BOM cost is the cost of the parts and materials in one unit of a product. For each line of the bill of materials, multiply the quantity per unit by the unit cost and add a scrap allowance. Then add up the lines.
How do you calculate BOM cost?
For each line, multiply the quantity per unit by the unit cost and by one plus the scrap percentage. Add the line costs for the material roll-up. In the example on this page, nine lines roll up to $1,225.44.
What is a costed bill of materials?
A costed bill of materials is a BOM with a unit cost on every line and a total for one unit. ERP systems produce it with a cost roll-up, which costs each sub-assembly from its own parts before the level above.
What is the difference between BOM cost and unit cost?
BOM cost covers parts and materials only. Unit cost adds labour and overhead, and sometimes packaging and freight. In the example, a BOM cost of $1,225.44 becomes a unit cost of $2,080.44.
How do you include scrap in BOM cost?
Add a scrap percentage to each line that loses material, such as wire, rail or sheet. Some ERP systems add the percentage on top of the quantity, and others divide by a yield. Use the same method as your ERP.
What is BOM cost analysis?
BOM cost analysis sorts the lines of a costed BOM by their share of the material cost, to show which parts drive it. In the example, the enclosure and the four motor starters make up 65.0% of the material roll-up.
How do you pass tariffs through to a BOM cost?
Put the surtax in the landed cost of the line it applies to, and date it. Show it on the quote as a surcharge, or hold the price for a short validity period. Roll the order up again at acceptance if rates have changed.

Contact

See where every cost in your quoting workbook comes from

Tell Derik which workbook your team quotes from and where the workbook’s part costs come from. He will reply with how to send the workbook for a free map of the rules and gaps.

Prefer to talk? Book a meeting.

Your message goes to Derik Lawlis, the founder.