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.

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
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.
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 line | Qty per unit | Unit cost | Scrap | Line cost |
|---|---|---|---|---|
| Enclosure, 600 x 800 x 300 mm, painted steel | 1 | $410.00 | 0% | $410.00 |
| Mounting plate | 1 | $58.00 | 0% | $58.00 |
| Main circuit breaker, 3-pole | 1 | $185.00 | 0% | $185.00 |
| Motor starter (contactor and overload relay) | 4 | $96.50 | 0% | $386.00 |
| Terminal blocks | 40 | $1.85 | 5% | $77.70 |
| DIN rail, per metre | 2 | $6.40 | 10% | $14.08 |
| Wire duct, per metre | 4 | $7.20 | 10% | $31.68 |
| Control wire, per metre | 60 | $0.42 | 15% | $28.98 |
| Door hardware kit | 1 | $34.00 | 0% | $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 conversationWhich 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.
- Bought parts. Use the price on recent supplier invoices or a current supplier quote, at the quantity you will buy for this order.
- Imported parts. Use landed cost: the supplier’s price plus freight, duty, brokerage and any surtax.
- Made parts. Roll them up from their own BOM and routing, as a sub-assembly line.
- Raw material. Use the current price per kilogram or metre, and check how old the number is.
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:
- Is the unit cost from a recent invoice or quote, at the quantity this order will buy?
- Does the quantity per unit match the drawing and the latest revision of the BOM?
- Is the scrap allowance based on what the shop loses today, or on an old default?
- When the job closed, did the actual material cost match the quote?
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.

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:
- A separate surcharge line. The quote shows the base price and a dated material or tariff surcharge, so the buyer sees what moved.
- A short validity period. The quote holds its price for a stated number of days and is repriced after that.
- An adjustment clause. Taurus Engineering’s terms allow prices to be adjusted for material cost changes between the quote and the shipment. They also leave the buyer responsible for governmental charges that arise after the quotation.
- A fresh roll-up at order acceptance. The order is costed again from current costs before the plant confirms it.
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.
- Reading supplier documents. Language models read price-increase letters, supplier quotes and freight bills into structured costs that a buyer confirms. Text extraction from images covers reading those documents.
- Rolling up from the ERP. The software reads the BOMs and recent receipts from the ERP and rolls every configuration up again when a cost changes.
- Flagging stale lines. It lists the lines whose cost is older than the last supplier increase, sorted by their share of the material roll-up.
- Checking every quote. Before a quote goes out, it compares the quoted material with a fresh roll-up and flags the gap for the estimator.
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.