inventory management

Bill of Materials: What It Is and How to Build One (With a Worked Example)

A bill of materials lists every material, quantity and cost that goes into one unit of your product. Here's how to build one in seven steps, with a fully costed worked example.

Bill of Materials: What It Is and How to Build One (With a Worked Example)

If you make products in batches, you already have a bill of materials. You might call it a recipe. Or a formula. Or “that spreadsheet with all the ingredient amounts in it.” Whatever the name, if you’ve ever written down what goes into one unit of your product and how much of it, you’ve built the first draft of a BOM.

The gap isn’t whether you have one. It’s whether that list is doing any real work for your business, or just sitting there as a memory aid.

A bill of materials is the document that turns “here’s roughly what I put in a batch” into “here’s exactly what this product costs, what I need to buy before my next production run, and what happens to my inventory the moment I make one.” That shift, from memory aid to operational backbone, is what this guide is about.

What is a bill of materials (BOM)?

A bill of materials is a structured list of every raw material, component, and sub-component needed to produce one unit of a finished product, including the quantity of each and its unit cost.

It answers a single question: if I want to make one of these, exactly what do I need and what will it cost me? That covers every material, the quantity used per unit, the unit of measurement, and the cost of each line, so you know your true cost to manufacture before you set a price.

Think of it as the technical spec for a batch. Not the story of how you make something, which is closer to a production method or SOP. Just the inputs, the amounts, and what they cost. A BOM for a batch of lip balm might read: 40g beeswax, 30g shea butter, 15ml jojoba oil, 2ml fragrance oil, 48 empty tubes, 48 labels. No steps, no temperatures, no timing.

Here’s the same idea on something less perishable. A wooden chair would give you four legs, two armrests, one seat, one backrest, twelve screws, eight bolts, and 10ml of wood finish. Add unit costs, units of measurement and vendor details to that list and it stops being an inventory of parts and starts driving your whole production process.

Recipe, formula, BOM: in a small manufacturing operation these terms describe the same underlying thing at different levels of formality. A recipe is usually written for a person to follow. A BOM is written so software can calculate from it. The vocabulary matters mostly because manufacturing software, accountants and larger retail partners all expect to see “BOM,” so it’s worth getting comfortable with the word even if you keep calling it a recipe in your own head.

Why your recipe spreadsheet is already a BOM

Most small manufacturers already have something that qualifies. A cosmetics founder with a spreadsheet listing every ingredient and gram weight for her best-selling serum has a BOM. A hot sauce producer with a notecard taped inside a cabinet, listing peppers, vinegar and salt by weight, has a BOM. The content is there. What’s usually missing is the connection.

An informal recipe lives in isolation: a note, a spreadsheet tab, something in your head. A functional BOM is connected to two other things: your inventory, so making a batch actually deducts the materials you used, and your costs, so the BOM tells you what a batch really cost rather than what you guessed it cost six months ago.

That connection is the moment a recipe stops being documentation and becomes a business asset. Until then you can make the product reliably. You just can’t answer “what did that batch actually cost me” or “do I have enough materials on hand for the next 200 units” without doing the arithmetic by hand, every single time.

Why a BOM matters more than it sounds like it should

Plenty of small manufacturers assume BOMs are a factory thing. Too formal, too fussy, not for a business their size.

A BOM is just a list. The discipline of writing it down is what separates operations that are guessing their costs from operations that know them. Once you have real numbers, several things get easier at once:

  • Supplier price creep becomes visible. Coconut oil quietly goes up 20% and your BOM tells you immediately, rather than you noticing the margin squeeze at tax time.
  • Production becomes repeatable by someone other than you. Hand a batch to an employee and they’ll make it the way you would.
  • Stock deductions stop being guesswork. Every run against a BOM takes the right quantities out of raw material inventory.
  • Purchasing gets predictable. You know what to order and roughly when, which makes production scheduling possible instead of reactive.
  • Pricing gets grounded. Every decision rests on a real cost figure.

The flip side is just as real. Without a BOM you’re pricing on instinct, and instinct tends to mean underpricing your bestsellers for months without noticing.

The anatomy of a BOM

A working BOM has a consistent shape whether you’re making candles, cleaning concentrate or protein bars.

  • Parent item. The finished product the BOM produces. One BOM per product, or per batch size where yields differ significantly.
  • Components and raw materials. Every input, with quantity and unit of measure. Fragrance oil in millilitres, actives in grams, packaging by the unit.
  • Part numbers or SKUs. A unique identifier per material, which is what makes accurate stock tracking and reordering possible.
  • Sub-components. An input that is itself manufactured from other materials. A pre-made base formulation, a labelled bottle assembly, a filled pouch before boxing.
  • Vendor information. Who you buy each material from, and at what lead time.
  • Unit cost per component. What you actually paid, per unit of measure, updated as supplier prices move.
  • Total BOM cost and cost per unit. Every component’s cost summed, divided by the finished units the batch produces.
  • Yield percentage. The share of the batch that survives as sellable product. Spillage, evaporation, breakage and quality-control rejects all eat into yield, and a BOM that ignores this will always understate your real cost.

With those pieces in place, a BOM can answer questions a recipe card never could: what one unit actually costs, what to order before Friday’s run, and what happens to raw material stock the second you record a manufacture.

Types of bill of materials

Several variants exist, and the labels come up often enough in software and conversations with larger partners to be worth knowing:

  • Manufacturing BOM (MBOM). The materials and quantities needed to actually make the product, often with vendor names and lead times attached. This is the one small-batch producers work with daily, and the one this guide is about.
  • Engineering BOM (EBOM). The design-phase record: part numbers, quantities and assembly detail for the product as designed. The APICS body of knowledge treats this as the design record for an end item.
  • Sales BOM. A simplified, customer-facing version that highlights key components and features.
  • Modular BOM. For products built from interchangeable components, which suits variants that share most of their inputs.
  • Kitting BOM. Groups the materials for a bundled product or gift set, so a multi-item pack behaves as one thing in production.

How to build a bill of materials in seven steps

Start with your bestseller, the product you make most often, because getting that one right pays off immediately.

Step 1: Define your product

Before writing down a single material, be precise about what the BOM is for.

This matters more than it sounds. A lavender soy candle and a cedarwood soy candle look similar but they are different products with different fragrance oils, possibly different pour temperatures and burn times. Each needs its own BOM.

Variations count too. A 4oz jar and an 8oz jar of the same scent are not one BOM with a quantity multiplier, because material quantities scale differently and labour doesn’t scale at all cleanly. Treating them as one introduces errors you’ll be hunting for later.

Step 2: List every component

Write down every material that goes into one unit, including the parts that are easy to forget. For a lavender soy candle in a 4oz jar:

  • Soy wax flakes
  • Lavender fragrance oil
  • Cotton wick, pre-tabbed, sized for the jar
  • 4oz glass jar
  • Metal lid
  • Wick sticker, to hold the wick centred during the pour
  • Printed label
  • Kraft tissue wrap for packing

Packaging belongs in that list. Leaving it out is how a cost-per-unit figure quietly ends up understated, because labels and tissue feel like selling costs rather than production costs. They aren’t.

Step 3: Assign SKUs to each component

Every material needs a unique identifier. SKUs are what let you track stock accurately, reorder the right thing, and avoid mixing up variants of the same material, like 4oz versus 8oz jars or two suppliers for the same scent.

SKU Component
WAX-SOY-01 Soy wax flakes
OIL-FRAG-LAV Lavender fragrance oil
WICK-COT-4OZ Cotton wick, 4oz jar size
JAR-GLASS-4OZ 4oz glass jar
JAR-LID-STD Metal lid, standard
CONS-WICK-STICKER Wick sticker
PACK-LABEL-STD Custom label
PACK-TISSUE-KFT Kraft tissue wrap

Our free SKU generator will produce consistent, structured codes if you’d rather not invent a scheme from scratch.

Step 4: Specify quantities and units

For each component, record the exact quantity used per unit of finished product, with the unit of measurement you work in.

This step catches people out because material quantities are fiddly. You buy fragrance oil by the kilogram and use it in grams. You buy tissue paper in sheets and use one per product. Getting conversions right here prevents a lot of downstream confusion.

Some components resist precise measurement at first. Make a test batch, measure as you go, then build the BOM from actuals rather than estimates. Add a waste allowance of roughly 5% to 10% for anything prone to evaporation or trim loss.

SKU Component Quantity Unit
WAX-SOY-01 Soy wax flakes 115 g
OIL-FRAG-LAV Lavender fragrance oil 11.5 g
WICK-COT-4OZ Cotton wick 1 each
JAR-GLASS-4OZ 4oz glass jar 1 each
JAR-LID-STD Metal lid 1 each
CONS-WICK-STICKER Wick sticker 1 each
PACK-LABEL-STD Custom label 1 each
PACK-TISSUE-KFT Kraft tissue wrap 1 each

Step 5: Calculate cost per unit

This is where the BOM pays for itself. With quantities and units settled, work out what each component costs per unit of finished product:

Line cost = (cost per purchase unit ÷ purchase unit quantity) × quantity used

A fully costed BOM for the lavender soy candle looks like this:

SKU Material Qty used Unit Purchase unit Purchase cost Cost per unit
WAX-SOY-01 Soy wax flakes 115 g 1,000g bag $18.00 $2.07
OIL-FRAG-LAV Lavender fragrance oil 11.5 g 500g bottle $32.00 $0.74
WICK-COT-4OZ Cotton wick 1 each Pack of 50 $14.00 $0.28
JAR-GLASS-4OZ 4oz glass jar 1 each Pack of 12 $18.00 $1.50
JAR-LID-STD Metal lid 1 each Pack of 12 $8.40 $0.70
CONS-WICK-STICKER Wick sticker 1 each Pack of 100 $3.50 $0.04
PACK-LABEL-STD Custom label 1 each Pack of 50 $12.50 $0.25
PACK-TISSUE-KFT Kraft tissue 1 each Pack of 100 $9.00 $0.09
LABOUR           $3.50
TOTAL           $9.17

That $9.17 is the cost of goods manufactured per candle. Sell it at $14 and your gross margin is roughly 34%. Sell it at $18 and it’s 49%. Now you can have a pricing conversation grounded in a number rather than a feeling.

For more worked examples across different product types, see our bill of materials examples.

Step 6: Get the batch size right

The per-unit view misses something important: what happens when you scale.

Very few producers make one candle at a time. You pour 20 at once, or 50, and some costs behave differently at batch scale. Fragrance oil evaporates a little during pouring, wax has pour loss, labels may carry print minimums.

If your BOM says 115g of soy wax per candle but actual pour loss across a 24-candle batch runs closer to 3% overall, your real per-unit wax cost is higher than the table above suggests. Build the BOM at your standard batch size, measure actuals over several runs, then update the quantities to match reality.

Labour follows the same logic. One candle might take 12 minutes of active work, but a batch of 24 takes about 90 minutes rather than 288, because setup and cleanup are shared across the run. For an accurate cost of goods manufactured, build labour from batch production time and divide by units produced.

Step 7: Choose where to store your BOM

You’ve built it. Now it needs to live somewhere useful.

Spreadsheets are a fair starting point, and the worked example above translates directly into Excel or Google Sheets. Problems arrive later: a supplier price changes and you forget to update every affected product, or you reach 40 products with overlapping materials, or you want total material usage across a whole production run and there’s no way to get it without manual work. A free BOM template will get you started if a spreadsheet is the right stage for you.

Dedicated software handles those cases. In Stocksmith your BOM is a recipe: same concept, same structure. Record a production run against it and the exact material quantities come out of stock automatically, your cost of goods manufactured recalculates at current material prices, and your cost per unit updates when a supplier price moves.

Multi-level BOMs

A single-level BOM lists only the raw materials that go directly into a finished product. A multi-level BOM also tracks sub-components: items you manufacture yourself before they go into the final product.

The distinction shows up the moment you build something from a component you make. A skincare brand that batches a base cream, then splits it across five finished serums with different actives, has a multi-level BOM. So does a cleaning products company making concentrate in 20L batches and bottling it into three retail sizes.

This is also where spreadsheet tracking tends to break. Spreadsheets cope with “this many grams of that ingredient” and struggle once a component has its own cost that must roll up into everything built from it. Our guide to multi-level bills of materials covers the structure and the Excel patterns in full.

What changes when your BOM moves into software

A spreadsheet BOM tells you what a batch is supposed to cost. Software connects that figure to what’s actually happening in your inventory and your bank account.

The biggest shift is automatic deduction. In a spreadsheet, running a batch and updating material stock are two separate manual tasks, and the second is the one that gets skipped on a busy day. In BOM software, recording a manufacture pulls the quantities the BOM specifies straight out of raw material inventory, so your stock count reflects reality without a second round of data entry. The SBA’s inventory management guidance recommends exactly this for small manufacturers: track costs in real time rather than retroactively.

Live costing is the second shift. When a supplier raises the price of a primary ingredient, a spreadsheet BOM doesn’t know until somebody remembers to edit the formula. Software recalculates the BOM cost, and every downstream sub-component cost, as soon as you log the new purchase price.

The third is connecting production to demand. Orders arriving from Shopify, Amazon or a wholesale account can trigger a check on whether you hold enough finished stock, and if not, whether the raw materials for another batch are on hand. That beats discovering you’re short three days after the order landed. If you’re weighing up how this fits a wider planning approach, what MRP means in manufacturing covers the broader picture, and manufacturing travelers pair well with BOMs once production crosses multiple workstations.

None of this needs an enterprise system. It needs a BOM wired into your inventory rather than sitting in a separate file somebody has to remember to open.

BOM costing and your true cost per unit

Your BOM cost and your sale price are two different numbers, and the gap between them is your actual margin rather than the margin you assumed when you set the price.

Many small manufacturers price early, based on a rough sense of costs or on what competitors charge, then never revisit the arithmetic. The underlying numbers keep moving: materials rise, yields shift as production scales, batch sizes change to suit new packaging. Each of those changes the true BOM cost, and none of them updates the price a customer pays.

Knowing your BOM cost is what makes an accurate cost of goods sold figure possible, which you need for tax reporting, for pricing, and for working out which products actually earn their place in the range.

Three variables move BOM cost the most: what you’re paying for materials right now, your actual yield percentage, and your batch size. Larger batches sometimes attract better per-unit material pricing, though bulk packaging costs can cancel the saving. Checking BOM cost against sale price on a regular cadence, rather than once at launch, is what stops a profitable product from quietly turning into a loss leader.

Common BOM mistakes

Most BOM problems aren’t dramatic. They’re small inaccuracies that compound across dozens of production runs.

  • Forgetting packaging. Labels, tissue, boxes, stickers and hang tags all cost money and all belong in the BOM. Leave them out and your cost per unit is understated, which makes your margin look healthier than it is.
  • Omitting labour. Your time has a cost. Even if you aren’t paying yourself a market wage yet, a labour line shows what you’d need to charge if you ever hired someone. Pick an hourly rate and estimate active production time per unit.
  • Using planned quantities instead of actual ones. The recipe says 40g; the real pour is nearer 43g once you count what sticks to the mixing bowl. Across a year of batches that gap becomes a genuine cost discrepancy, which is why recording actuals and batch tracking matter.
  • Letting supplier prices go stale. A BOM built six months ago on last year’s pricing is quietly wrong every day it goes unrevised. Review material costs quarterly, or whenever a reorder invoice looks different from the last one.
  • Reusing one BOM across different batch sizes. A BOM for one 4oz candle and a BOM for a batch of 24 give different per-unit costs, because labour, packaging minimums and waste all behave differently at scale. Be explicit about which one you’ve built.
  • Ignoring yield loss. If nobody tracks how many units a batch should produce against how many reach inventory as sellable stock, cost per unit is always an underestimate.
  • Skipping sub-component costing. If a base formulation’s cost doesn’t roll up automatically into every product built on it, a single ingredient price change means manually editing five recipes, which is the exact manual work a BOM should remove.

None of these mean your operation is disorganised. They’re the natural failure points of tracking a BOM by hand, and they’re the first things worth checking if margins feel tighter than they should be.

Frequently Asked Questions

What is a bill of materials in simple terms?

A bill of materials is a complete list of every raw material, component and quantity needed to make one unit of a product, along with the cost of each. Think of it as the recipe for your product written in manufacturing language. It answers one question: what exactly goes into making this, and what does it cost me?

How do you make a bill of materials?

Seven steps: define the product, list every component including packaging, assign SKUs, specify quantities and units, calculate cost per unit using (purchase cost ÷ purchase quantity) × quantity used, account for batch scale and process loss, then store it somewhere that connects to your inventory. Revisit it whenever supplier prices change or you adjust the formulation.

How do I calculate cost per unit from a BOM?

For each material, divide the purchase cost by the purchase quantity to get a cost per gram or per unit, then multiply by how much you use per finished product. If 500g of fragrance oil costs $32, that's $0.064 per gram; at 11.5g per candle the fragrance line is $0.74. Sum every material line plus labour and you have your total cost per unit, also called cost of goods manufactured.

What's the difference between a BOM and a recipe?

Structurally, very little. Both list the ingredients or components and quantities needed to make one unit. The real difference is what the document connects to. A recipe usually stands alone, written for a person to follow. A BOM is written so it can drive inventory deduction and cost calculations in software, which is why manufacturers, accountants and larger retail partners tend to use the term "BOM" specifically. Stocksmith calls the feature a recipe, and the underlying data structure is a BOM.

How does a bill of materials connect to COGS?

Your BOM defines the material cost of every unit you make. When you record a production run, the BOM quantities are multiplied by your current material costs to give an accurate cost per unit, and that figure feeds straight into cost of goods sold. Without a BOM, COGS is an estimate. With one, it's a number you can use for pricing, tax reporting, and spotting which products are genuinely profitable.

Do I need a BOM if I only sell one product?

Yes. The value isn't in tracking variety, it's in knowing your true cost per unit and keeping raw material inventory accurate. A one-product business selling 500 units a month still needs to know what each batch consumes and costs, particularly as ingredient prices shift or batch size grows.

What software should I use for a bill of materials?

It depends on scale. Engineering-focused tools like OpenBOM or SolidWorks are built for hardware product development, and enterprise MRP platforms like Katana or MRPeasy target larger operations with complex shop-floor needs. Small-batch manufacturers making food, cosmetics or cleaning products usually need something simpler: multi-level BOM tracking, automatic material deduction and real-time costing, without the enterprise price tag or setup time. That's the gap Stocksmith is built to fill.

How often should I update my BOM?

Any time a material price changes, your batch size or packaging changes, or you notice actual yield drifting from what the BOM assumes. In practice that means checking it whenever you log a new material purchase. A BOM reviewed once a year at launch will understate costs for the other eleven months. IRS Publication 334 stresses keeping accurate cost records throughout the year rather than at year-end, which is what Schedule C COGS reporting relies on.

Build the BOM, then stop guessing

A bill of materials isn’t paperwork for its own sake. It’s how you find out whether you’re making money on each product or simply staying busy.

Start with one product. Get the quantities right, put real supplier prices against them, add a labour line. Then update it the next time a reorder invoice looks different from the last one. That habit, repeated, is what turns a production operation into a business that knows exactly where it stands.

Stocksmith’s multi-level bill of materials tracking is built for this: set up products, materials and sub-components once, and every production run deducts the right quantities and recalculates your real cost per unit. Start a free 14-day trial and turn the recipe you already use into the BOM your business runs on.

Nicole Pascoe Nicole Pascoe - Profile

Written by Nicole Pascoe

Nicole is the co-founder of Stocksmith, inventory and manufacturing software designed for small-batch product businesses. She has been working with, and writing articles for, small manufacturing businesses for the last 12 years. Her passion is to help product businesses scale with confidence — with accurate costs, controlled inventory, and systems their team can actually follow.