← Madestock guides

How to build a BOM for handmade products

Updated

A bill of materials, or BOM, is the recipe behind a finished product written in a way you can count and cost. It lists every component that goes into one unit, how much of each you use, and in what unit of measure. Makers often keep something like this already, scribbled on a card or held in their head. This guide turns that into a structured BOM: the parts of each line, how it differs from a plain materials list, how to handle units and waste, and how it rolls up from one unit to a full production run.

What a BOM actually is

A BOM answers one question precisely: to make one of these, exactly what do I consume, and how much? For a soy candle that might be 170 grams of wax, 17 grams of fragrance, one wick, and one jar. For a bar of soap it might be several oils, lye, water, and a fragrance. The BOM is tied to a single finished product and describes the ingredients of one unit of it.

That precision is what separates a BOM from a shopping list. A BOM is not "the stuff I buy." It is "the stuff that goes into this one thing, in these amounts." Once you have it, everything downstream becomes arithmetic instead of guesswork: what a unit costs, what a batch consumes, what to reorder.

BOM versus a plain materials list

These two get confused because they share the same materials, but they answer different questions.

Put another way, you have one materials list for your whole workshop, and a separate BOM for every product you sell. The lavender candle and the cedar candle draw from the same materials list but have different BOMs, because they use different fragrances and possibly different jars. The materials list is the shared pantry. Each BOM is one recipe that reaches into it.

The parts of a BOM line

Each line in a BOM is one component and carries a few fields. Keeping all of them is what makes the BOM cost itself correctly later.

The line cost is where the BOM starts to earn its keep. Sum the line costs and you have the material cost of one unit. The full costing method, including margin and markup, is covered in calculating COGS for handmade products; here the focus is the structure that feeds it.

A worked example BOM

Here is a complete BOM for one 8 ounce soy candle. The prices are example numbers; substitute your own.

Component Quantity Unit Unit cost Line cost
Soy wax 170 g $0.00416 per g $0.71
Fragrance oil 17 g $0.0551 per g $0.94
Wick 1 piece $0.06 each $0.06
Jar 1 piece $1.25 each $1.25
Label 1 piece $0.09 each $0.09
Total per unit $3.05

Five lines, one number at the bottom. That $3.05 is the material cost of one candle, built up from components rather than estimated. Change any quantity or any unit cost and the total moves in a way you can trace, because every line shows its own contribution.

Units and conversions

The most common BOM mistake is measuring in the unit you bought in rather than the unit you use in. You buy wax by the pound or the case, but you use it by the gram. If the BOM says "170" and you never resolve which unit that is, the cost is meaningless.

The rule is simple: express each quantity in the unit you actually measure at the bench, then make sure the unit cost is in that same unit. If you buy a 45 pound case of wax and use grams, convert the case price to a price per gram once, and store that. One pound is 453.6 grams, so a 45 pound case is 20,412 grams, and an $85 case is about $0.00416 per gram. Do that conversion a single time per material and the BOM stays in the units you work in.

Two conversions catch people repeatedly:

Waste and yield allowance

A BOM should describe what a unit really consumes, not the ideal on paper. In practice some material is lost: wax clinging to the melting pot, a trimmed wick, a soap batch that never yields quite what the math promises. If you consistently get 38 usable candles out of wax you planned to make 40 with, your true wax per unit is higher than the clean recipe number.

You can handle this two ways. Add a small waste percentage to the affected component quantities, for example bumping wax by 5 percent to cover pot loss. Or set the BOM against realized yield, dividing a batch's total material by the number of good units it actually produced. Either keeps the per unit cost honest instead of optimistic.

Sub-assemblies

Some products are built from a part you make in advance. If you pour a scent blend, or premix a soap base, that intermediate is a sub-assembly: it has its own small BOM (the raw materials that go into it), and it then appears as a single component in the finished product's BOM.

This keeps each BOM readable. The candle's BOM can list "scent blend, 17 g" as one line, while the scent blend has its own BOM behind it. Cost rolls up the same way at each level: the sub-assembly's line costs give its own per unit cost, which becomes the unit cost of that line in the product above it.

Rolling up to a production run

The point of a per unit BOM is that a batch is just multiplication. To make 40 candles, every component quantity scales by 40: 40 times 170 grams of wax is 6,800 grams, 40 wicks, 40 jars, and so on. Your material inventory counts down by exactly those amounts, and your finished goods count up by 40.

This is the link that turns a BOM into inventory control. The same recipe that prices one unit also tells you what a run consumes, so a logged production run can decrement each raw material and increment finished stock automatically. Handmade sellers usually track finished products in their Shopify catalog but keep raw materials outside it, which is exactly the gap a BOM bridges.

Keeping a BOM for every product is one of the jobs Madestock, the Shopify app for makers we are building, is designed for. It stores a recipe for each product, holds raw materials outside your Shopify catalog, logs production runs so materials count down and finished goods count up, and rolls the component costs up into a live cost per unit you can verify by hand. Pricing is flat. However you keep it, writing a real BOM for your top few products, with units resolved and waste accounted for, is the step that makes both your costs and your counts trustworthy.


Madestock tracks raw materials, recipes, and production runs for Shopify makers, at a flat price. See how it works.