Multi-Level BOMs: How to Cost Secondary Products Correctly

July 8, 2026
9 min read
By Nstock Team
Multi-Level BOMs: How to Cost Secondary Products Correctly
SC

Sarah Chen

Manufacturing Operations Consultant | 8 Years

Sarah specializes in production workflow optimization and inventory systems for electronics and contract manufacturers. She has helped 30+ manufacturing teams transition off spreadsheets and into modern inventory systems.

Say you make gummies — a common pattern for supplement and nutraceutical manufacturers. Not just any gummies — a branded 30-pack jar of gummies that sits on a retail shelf with your label on it. Ask most manufacturers what that jar costs to produce and you'll get a confident number. Ask them to show their work and the number usually falls apart, because it was built on a spreadsheet that treats the whole product as one flat list of ingredients, when the real production process has stages, and each stage has its own cost.

Why Single-Level BOMs Break Down for Real Products

A single-level bill of materials lists every raw material that goes into a finished product, multiplies each by a unit cost, and sums it up. That works fine for something genuinely simple — one raw material, one assembly step. It falls apart the moment your production process has an intermediate stage, which is most real manufacturing.

Back to the gummies. The actual process looks like this: pectin, sweetener, and flavoring get cooked and formed into a batch of bulk gummies, measured by weight. Later, some of that bulk gets weighed out, dropped into jars, labeled, and boxed into the finished 30-pack product that actually sells. Two distinct production steps, two different cost drivers, two different places waste can happen.

A flat spreadsheet BOM tries to collapse both steps into one list: pectin, sweetener, flavoring, jar, label, box, all multiplied by their raw costs and added together for "cost per jar." It looks reasonable until you ask two questions. First, what does the bulk gummy batch itself cost, independent of jarring — the number you'd need if a customer wants to buy bulk instead of packaged jars? The flat sheet has no answer; that cost is smeared invisibly across the finished good. Second, what happens to labor and yield loss at the bulk-cooking stage versus the jarring stage? On a flat sheet, both either get ignored or get dumped into one vague "overhead" line, which means when scrap rates creep up at the cooking stage, nobody sees it — the finished-good cost just quietly drifts, and nobody can say why.

The result is a number that's confidently wrong. It either double-counts (adding labor twice because it's unclear which stage it belongs to) or loses real cost drift entirely (because material substitutions or yield changes at the intermediate stage never make it into the final rollup). Multi-level BOMs exist to fix exactly this.

What an Intermediate (Secondary) Product Actually Is

The fix is to give the bulk gummy batch its own identity in the system: its own SKU, its own BOM, its own cost per kilogram. It's not a line item inside the finished good's recipe — it's a product in its own right, with a bill of materials that says exactly what goes into making one kilogram of bulk gummies (pectin, sweetener, flavoring, and whatever labor or overhead is assigned to that stage).

This matters for a reason beyond bookkeeping tidiness: intermediate products are frequently sellable on their own. A lot of manufacturers who run this kind of two-stage process end up with white-label or bulk buyers — another brand that wants bulk gummies to jar and label themselves, a co-packer, a wholesale customer who doesn't want your packaging at all. If bulk gummies only exist as an uncosted line item buried inside the finished jar's recipe, you have no honest number to quote that buyer. Give bulk gummies its own SKU and its own rolled-up cost, and suddenly you can quote it, sell it, and track its inventory independently — while the finished 30-pack jar's BOM simply references it as an input, the same way it references the jar, the label, and the box.

This is the core idea behind multi-level BOM management: production isn't one flat recipe, it's a chain of products, and each link in that chain deserves its own cost.

How Cost Rollup Works, Level by Level

Once bulk gummies exist as their own product, costing becomes a rollup that flows upward through the levels instead of one flat calculation.

At the bottom, raw materials get costed the way they actually arrive — batch by batch, using FIFO. When you buy pectin, each purchase lot carries its own landed cost, and as production consumes pectin, it draws from the oldest lots first at their actual paid price, not some static number typed in once and forgotten.

Those FIFO-costed raw materials roll up into the intermediate product's cost. Every time a batch of bulk gummies is produced, the system pulls the real cost of the pectin, sweetener, and flavoring actually consumed, adds any labor or overhead assigned to that production step, and divides by the batch yield to land on a current cost per kilogram of bulk gummies.

That cost per kilogram then becomes an input cost for the finished good. The branded 30-pack jar's BOM says: this much bulk gummy weight, one jar, one label, one box. The system prices the bulk gummy portion using the intermediate product's current rolled-up cost — not a stale number from when the recipe was first set up.

The part that matters most operationally: when material prices move, everything downstream updates automatically. If pectin gets more expensive, the bulk gummy cost per kilogram moves. Because the finished jar's BOM references the bulk gummy product rather than re-listing pectin directly, the jar's cost moves too, without anyone needing to re-enter anything. That's the entire point of rolling costs up level by level instead of flattening them — the chain stays honest as reality changes.

A Worked Mini-Example

Keep the numbers simple and illustrative. Say bulk gummies use this recipe per kilogram, and pectin's price rises 15% between two production runs:

  • Before the price change: pectin $2.00/kg-equivalent + sweetener $1.20 + flavoring $0.80 = $4.00 cost per kg of bulk gummies.
  • Pectin rises 15%: pectin cost moves from $2.00 to $2.30. New bulk gummy cost = $2.30 + $1.20 + $0.80 = $4.30/kg — about a 7.5% increase in the intermediate product's cost, even though only one ingredient moved.
  • The finished 30-pack jar uses 0.5 kg of bulk gummies per jar, plus a $0.60 jar, $0.15 label, and $0.25 box. Before: (0.5 × $4.00) + $0.60 + $0.15 + $0.25 = $3.00 per jar. After: (0.5 × $4.30) + $0.60 + $0.15 + $0.25 = $3.15 per jar.
  • If the jar sells wholesale at $6.00, margin moves from 50% ($3.00 profit) down to 47.5% ($2.85 profit) — a real, visible compression that a flat-sheet BOM would likely never have caught, because the pectin cost was buried three ingredients deep in a single undifferentiated list.

That $0.15 per jar might look small, but multiply it across a production run of a few thousand units and it's real money — and it only surfaces because the intermediate stage was costed and rolled up rather than assumed.

Common Mistakes

Standard costs that never update

The most common failure mode is entering a cost once, at setup, and never touching it again. FIFO-based costing exists precisely so this doesn't happen — costs move with actual purchase prices instead of sitting frozen at whatever number someone typed in eighteen months ago.

Circular BOM references

A BOM level should never reference itself or a product further up its own chain — bulk gummies referencing the finished jar, for instance. Beyond being logically impossible, it breaks rollup calculations entirely, since there's no stable base to calculate from.

Skipping the intermediate SKU and flattening everything into the finished good

The shortcut of listing pectin, sweetener, and flavoring directly on the finished jar's BOM feels simpler at setup time, but it's exactly the flat-sheet trap described above: no separately sellable bulk product, no visibility into the intermediate production stage's own yield and cost, and no honest number if a white-label buyer wants the bulk product without your packaging.

How This Powers Quoting

Multi-level costing isn't just an accounting exercise — it directly determines what you can promise a customer. Producible quantity flows through the levels the same way cost does: how many finished jars you can make depends on how much bulk gummy inventory (or the raw materials to make more) sits behind it, and how many jars, labels, and boxes are on hand.

That blended, multi-level cost is exactly what shows up on sales quotes — a wholesale buyer asking for a price on bulk gummies gets a quote built on the intermediate product's real rolled-up cost, and a retail buyer asking for jarred cases gets a quote built on the finished good's full cost, margin visible to your team the whole time, invisible to the buyer.

Frequently Asked Questions

How deep can BOMs nest? As deep as your actual production process requires. A bulk gummy batch that itself depends on a pre-mixed flavor concentrate, which depends on raw flavor extracts, is a three-level chain, and each level rolls up into the next the same way — there's no hard limit built around a two-stage assumption.

Can I sell intermediates directly? Yes. Because an intermediate product carries its own SKU, cost, and inventory, it can be sold on its own — a common need for white-label and bulk wholesale buyers who want the unbranded product without your packaging.

Do costs update automatically? Yes. As FIFO lot costs change with new purchases and BOMs are used in production, rolled-up costs at every level — intermediate and finished — update to reflect current reality rather than a static number set at initial setup. For more definitions around costing terminology, see the glossary, and for a closer look at quoting wholesale and white-label deals with live margin visibility, see Sales Quote Software for Manufacturers.

Get Manufacturing Insights in Your Inbox

Practical guides on inventory management, production efficiency, and AI-powered manufacturing — delivered to you.

Subscribe to the Newsletter