A bill of materials for a bakery

Most stock software assumes you buy things and sell the same things. A bakery buys flour and sells bread, which means the stock record has to be able to turn one thing into another — and account for the difference.

The recipe is a product

A bill of materials says: this output quantity requires these input quantities. For a bakery, one batch of 100 loaves requires 60 kg of flour, 1.2 kg of salt, 0.9 kg of yeast, 40 litres of water and a quantity of fuel.

Two consequences follow immediately. The loaf has a cost derived from its inputs rather than from a purchase invoice. And the flour has two ways of leaving stock — sold as flour, or consumed into bread — which a system that only knows about sales cannot represent.

A production run consumes and produces

The run is the transaction, and it does two things at once: it takes the inputs out of stock and puts the output in. Recorded properly it is a single event, so there is never a moment where the flour has gone and the bread has not arrived.

ExpectedActual
Loaves produced100100
Flour consumed60.0 kg64.0 kg
Salt consumed1.20 kg1.20 kg
Yeast consumed0.90 kg1.05 kg
One production run

Consumption variance

The run above used 4 kg more flour than the recipe says — a variance of 6.7% — and 0.15 kg more yeast, a variance of 16.7%. Those two numbers are the output of the exercise, and they are worth more than the cost figure.

Variance on a single run is noise. Variance with a pattern is information, and it points in one of two directions:

  • The recipe is wrong. If every run uses 6% more flour than stated, the stated recipe is not the recipe being baked. Fix the bill of materials; the process is fine and your costing has been understating the loaf.
  • The process is drifting. If variance moves around — high on some runs, fine on others — then something about execution is inconsistent. Scoop measurement instead of weighing, spillage, a different baker, dough discarded at the end of a run.

The distinction is the whole value of tracking it. One is a data problem you fix once; the other is an operational problem you manage continuously. Both are invisible if you only record that 100 loaves appeared.

Costing the output

The cost of a loaf is the cost of what actually went into it — which is why the variance matters financially and not just operationally. At 6% more flour than the recipe assumes, a costing built from the recipe understates the loaf, and every margin calculation downstream inherits the error.

Whether to cost at expected or actual consumption is a policy choice. Costing at actual is more accurate per run and makes the unit cost bounce; costing at standard and reporting the variance separately is steadier and is what most manufacturers do. Either is defensible. Mixing them is not.

And the output expires too

One thing bakeries and makers deal with that resellers do not: the production date sets the expiry of the output, and it is the run that knows it. If the batch carries its production date forward as a batch number with a shelf life, then yesterday's bread and today's bread are separable at the counter, issuable by earliest expiry, and reportable as waste by production date when they do not sell.

Sources

  1. SDG Indicators Data Portal — indicator 12.3.1, Global food lossesFood and Agriculture Organization of the United Nations

Figures on this site are attributed to the organisation that published them, with a link. Where sources disagree, we say so rather than choosing the flattering number.