A practical guide to calculating true recipe cost
7 min read · yield, trim, and pack sizes
Most recipe costings are wrong the day they're written, and they only drift further from reality afterwards. Not because anyone is careless, but because the three places where real kitchens lose money are exactly the three things a quick spreadsheet skips: yield, units, and time.
Mistake 1: costing the ingredient you bought, not the one you serve
You buy whole salmon at one price per kilo. But after skinning, pin-boning, and trimming, only 60-70% of that weight goes onto a plate. If your recipe costs a 180g portion at the purchase price per gram, every portion is quietly under-costed by a third or more.
The fix is a yield percentage per ingredient. If salmon yields 65%, the effective cost per usable gram is the purchase price divided by 0.65. Do this once per trimmed ingredient and every recipe using it corrects itself. In Stockpot this is a single field on the ingredient: set yield to 65% and every plate cost that includes salmon updates instantly.
Mistake 2: unit confusion between the case, the shelf, and the recipe
You buy olive oil by the case of 4 × 5L, store it by the bottle, and use it by the millilitre. Three different units for one ingredient, and every manual costing has to convert between them correctly, every time. One slipped decimal (costing a recipe's 50ml at the per-litre price, say) and the dish looks wildly profitable or hopeless.
A robust costing keeps three explicit units (purchase, stock, and recipe) with fixed conversion factors between them. That's tedious to maintain by hand, which is why Stockpot derives per-stock-unit cost automatically at invoice intake ("1 case = 12 cans") and converts recipe quantities at costing time.
Mistake 3: costing once, at one moment's prices
A recipe costed in January is a January snapshot. Dairy moves, produce is seasonal, and your supplier repriced twice since. A dish that opened at a 28% food cost can drift to 35% without a single change to the recipe; the ingredients just cost more now.
The only durable answer is to connect recipe costs to live ingredient prices, so the plate cost you see always reflects the most recent invoice. That also gives you cost history per dish: when a menu item's margin erodes, you can see exactly which ingredient did it and when.
A worked example
A 180g salmon portion, purchased at 24.00/kg:
- Naive cost: 0.18kg × 24.00 = 4.32
- Yield-adjusted (65%): 4.32 ÷ 0.65 = 6.65
- After a 9% price rise you didn't notice: 7.25
That's a 68% gap between the number in the old spreadsheet and what the portion actually costs today. Price the dish for a 30% food cost off the naive figure and your real food cost is over 50%.
Prep recipes: the layer most costings skip entirely
Stocks, sauces, and batch prep have their own yields and labor into inventory. If your ragu recipe uses "1 litre of brown stock" costed at zero, everything containing it is under-costed. Treat prep items as produced ingredients: cost the batch, divide across its output, and let dishes reference the output cost. Stockpot handles this with prep recipes and production runs: log a batch and the output items' stock and costs adjust automatically.
The takeaway
True recipe cost = (recipe quantity ÷ yield) × current effective unit cost, in consistent units, refreshed with every invoice. None of the individual steps are hard; what's hard is doing them continuously by hand. That part is what software is for. Start a free trial and cost your three best-selling dishes properly this week.