Inventory
How to make a bill of materials
A bill of materials (BOM) lists every component, and the quantity of each, that goes into one unit of a finished product. For online stores, BOMs matter most for bundles, kits and gift sets: the BOM tells your inventory system which component SKUs to deduct when a bundle sells, and adds up what the bundle really costs.
How to make a bill of materials (BOM)
- Name the finished product and give it its own SKU.
- List every component by SKU, including packaging such as a gift box or insert.
- Set the quantity of each component per finished unit.
- Add the unit cost of each component, at landed cost.
- Add any assembly cost, such as labor or 3PL kitting fees.
- Total it to get the cost of one finished unit.
BOM template example
Worked example: a coffee gift setExample numbers
Finished product: GIFT-COFFEE-01, Coffee lovers gift set
| Component SKU | Description | Quantity | Unit cost | Line cost |
|---|---|---|---|---|
| COF-BEAN-12OZ | Coffee beans, 12 oz bag | 2 | $4.50 | $9.00 |
| MUG-CER-WHT | Ceramic mug, white | 1 | $7.20 | $7.20 |
| SCOOP-WD | Wooden scoop | 1 | $1.10 | $1.10 |
| BOX-GIFT-M | Gift box, medium | 1 | $1.80 | $1.80 |
| Assembly (3PL kitting fee) | 1 | $1.50 | $1.50 | |
| Total | $20.60 |
At a selling price of $49, gross margin = ($49 − $20.60) ÷ $49 = 58.0%.
Single-level vs multi-level BOM
| Single-level BOM | Multi-level BOM | |
|---|---|---|
| Structure | Finished product → components | Finished product → sub-assemblies → components |
| Example | Gift set: beans, mug, scoop, box | Travel kit containing a pre-packed pouch of three minis, plus a bag |
| Best for | Most bundles and simple kits | Products assembled in stages, or kits reused in other kits |
Most online stores only need single-level BOMs. If you pre-assemble part of a kit and also sell it on its own, a multi-level BOM keeps both sets of stock accurate.
Bundles and kits on Shopify
Shopify's free Bundles app lets you create fixed bundles from your existing products. According to Shopify's documentation:
- You choose the component products and the quantity of each, which effectively defines a single-level BOM.
- Bundle availability is calculated from component stock. The component with the lowest stock, relative to how many each bundle needs, decides how many bundles you can sell.
For more complex kits, multi-level BOMs or assembly tracking, you'll need an inventory or manufacturing app. Check how it handles component stock before you launch a bundle.
Product Bundle Discount CalculatorYour real profit on a bundle after the discount, and what you give up per bundle. Want this handled automatically?Forecast demand and know exactly when to reorder, before you stock out or tie cash up in overstock.Try Verve AICommon BOM mistakes
- Forgetting packaging. Gift boxes, tissue and inserts are components too, and they run out.
- Not deducting component stock. Selling a bundle without reducing each component leads to overselling.
- Using old costs. Update component costs when new batches arrive, or the bundle margin will drift.
- Reusing SKUs. The bundle and each component need their own unique SKU. See the guide to SKUs.
For pricing bundles profitably, see the guide to product bundling.
FAQ
What is a BOM?
A bill of materials: a list of every component, and the quantity of each, needed to make one unit of a finished product, kit or bundle.
Do I need a BOM if I don't manufacture anything?
If you sell bundles, gift sets or kits, yes. A BOM is what tells your inventory system to deduct each component when a bundle sells, and what the bundle really costs.
What's the difference between a single-level and multi-level BOM?
A single-level BOM lists components directly. A multi-level BOM lists components that have their own components, such as a kit containing a pre-assembled pouch that itself contains three items.
How do I calculate a bundle's cost from its BOM?
Multiply each component's unit cost by its quantity, then add them up, including any packaging or assembly cost for the bundle itself.