Glossary
What is a bill of materials?
Last updated: 16 October 2026
A bill of materials (BOM) is the full list of ingredients, packaging and services that go into one unit of a product, with the quantity of each.
A food BOM turns your recipe into a costed, per-unit parts list. It covers every ingredient, every bit of packaging and services such as co-packer fees, each with a quantity per unit and a wastage allowance. Brands usually keep one BOM for each level they sell: the jar, the case and the pallet.
What's the difference between a BOM and a recipe?
A recipe is what the kitchen follows: ingredients by weight for a batch size, say a 200kg kettle, plus the method and temperatures. A BOM works per sellable unit. It adds the jar, lid, label and outer case, the co-packer's fee and a wastage allowance, and it puts a cost against every line.
The recipe tells you how to make the product. The BOM tells you what one more unit takes, and what it costs.
In plain English: what does a food BOM look like?
Here's a BOM for a 300g jar of tomato and basil pasta sauce:
| Line | Qty per jar | Price | Wastage | Line cost |
|---|---|---|---|---|
| Tomatoes | 220g | £1.10/kg | 3% | £0.249 |
| Onion | 40g | £0.80/kg | 10% | £0.035 |
| Olive oil | 15g | £6.50/kg | 2% | £0.099 |
| Garlic and seasoning | 20g | £3.00/kg | 2% | £0.061 |
| Basil | 5g | £12.00/kg | 15% | £0.069 |
| Glass jar | 1 | £0.18 | 2% | £0.184 |
| Lid | 1 | £0.05 | 2% | £0.051 |
| Label | 1 | £0.04 | 5% | £0.042 |
| Materials per jar | £0.79 |
Line cost = quantity × price × (1 + wastage %). The basil line shows why wastage matters: each jar holds 5g, but trimming and line losses mean you buy 5.75g.
Add a co-packer fee of £0.35 a jar as a service line, and the jar's BOM comes to about £1.14 before freight.
(Illustrative numbers. Totals use unrounded line costs.)
What's a multi-level BOM?
Most food brands sell at more than one level, so they need a BOM at each:
Unit
Case
Pallet
A case BOM that points at the jar BOM keeps every level in step: change the price of tomatoes once and the case and pallet costs update too.
Why do BOMs matter?
Your COGS depends on them.
Purchasing depends on them.
Co-packer pricing gets clearer.
How do you build and maintain a BOM in practice?
Step 1
Start from one sellable unit
Write each ingredient in grams per unit, not per batch.
Step 2
Add every piece of packaging
Jar, lid, label, sleeve, outer case. Packaging often costs more than a headline ingredient.
Step 3
Add services
Co-packer fees, labour and inbound haulage, each per unit.
Step 4
Set wastage per line
Measure it from real runs: compare what you used with what the BOM says should've gone in.
Step 5
Version every change
New supplier, new recipe or new pack size: save a new version with a reason, so batches made last month still cost what they cost last month.
Related terms
- What are shadow materials?: co-packer-bought inputs you track on the BOM without counting them in COGS.
- What is MRP?: how BOMs turn a production plan into a buying list.
- What is landed cost?: the right price to put against imported ingredients.
- All glossary terms
How does Pesto handle bills of materials?
Pesto's BOM has four lanes: Direct materials (in COGS), Bought-in, Shadow (benchmark only, kept out of COGS) and Service (labour, co-man fees and logistics). Each line carries a quantity per unit, a wastage % and a line cost, and Pesto shows the Estimated COGS and how it builds up.
Variant BOMs cover packs, cases, pallets and assortments, packaging included. Pesto locks a BOM version every time you save, with a reason, and you can compare versions and see Estimated COGS over time. When you record a production run, Pesto works out unit cost from actual lot costs and actual services, and shows yield % and usage drift against the BOM. → COGS & margins


Frequently asked questions
Should packaging go on the BOM?
Yes. Jars, lids, labels and outer cases are part of what each unit costs, and you need them on the BOM to buy enough of them.
How do I work out a wastage %?
Take a few production runs and compare what you actually used of each input with what the BOM says should've gone in. The difference, as a percentage of the BOM quantity, is your wastage.
Do I need a BOM if a co-packer makes everything?
Yes. You still buy packaging or some ingredients, pay a fee per unit and need to know your cost. A BOM also lets you benchmark what the co-packer charges.
How often should I update my BOM?
Whenever a recipe, supplier, price or pack size changes, and after any production run where yield drifts from plan.
See Pesto running on your own orders.
Bring a real PO, your messiest one. We'll show you what Pesto does with it in 30 minutes.
Book a demo