This report calculates per-recipe cost buildup from ingredient data - Cost, Selling Price, and Cost (%) for every menu item with a recipe on file. This is a different view compared to the same category food cost % targets used on the Menu Profitability Report which are estimated from configurable category benchmarks. Use this report to identify recipes with calculated costs exceeding configurable cost percentage targets. Use the drill-down functionality to see recipe details.
Cost is computed live from each recipe's ingredient lines - quantity, cost
per gram, and yield % (usable product after trim/cook loss) - not stored or cached, so it always
reflects the current ingredient data. Both cost_per_g_usd and yield_pct
are synthesized industry-benchmark estimates in this demo, not audited invoice figures.
Only menu items with a recipe on file appear below - this is a recipe summary, not a full menu listing. An item with no recipe yet has nothing here to summarize.
A note on recipe data. Recipe quantities here are synthesized benchmarks based on typical commercial portions, not transcribed from a specific source. A spot-check of 3 of the 14 recipes against credible sourced recipes came within roughly 25% on key ingredients, validating the approach.
Each recipe's Cost ÷ Selling Price against its own category's food cost % target (the same targets used on the Menu Profitability Report - edit them from Benchmark Settings above).
Click a recipe name to see its ingredient-by-ingredient cost buildup, and a batch-prep estimator for scaling buy quantities and cost when you prep a dish ahead of service. Every value in the table below is per single portion; the estimator is a planning aid that changes nothing else on this page.
| Recipe # | Recipe Name | Portions | Portion Size | Portion Unit | Cost | Selling Price | Cost (%) | PLU | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 1 | 1 | 253.0 | g | $0.40 | $4.07 | 9.7% | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cost = Σ (quantity ÷ yield % × cost per gram) across this recipe's ingredient lines:
Scales this recipe's Prep Qty (yield-adjusted amount to buy or pull from inventory) and Total Cost for cooking a batch ahead of service. It does not change Cost, Selling Price, Cost (%), or the “Cost % by recipe” chart above — those are always per single portion. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 2 | 1 | 530.0 | g | $2.44 | $41.86 | 5.8% | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cost = Σ (quantity ÷ yield % × cost per gram) across this recipe's ingredient lines:
Scales this recipe's Prep Qty (yield-adjusted amount to buy or pull from inventory) and Total Cost for cooking a batch ahead of service. It does not change Cost, Selling Price, Cost (%), or the “Cost % by recipe” chart above — those are always per single portion. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 3 | 1 | 457.0 | g | $3.91 | $48.97 | 8.0% | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cost = Σ (quantity ÷ yield % × cost per gram) across this recipe's ingredient lines:
Scales this recipe's Prep Qty (yield-adjusted amount to buy or pull from inventory) and Total Cost for cooking a batch ahead of service. It does not change Cost, Selling Price, Cost (%), or the “Cost % by recipe” chart above — those are always per single portion. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 4 | 1 | 211.0 | g | $1.09 | $12.43 | 8.8% | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cost = Σ (quantity ÷ yield % × cost per gram) across this recipe's ingredient lines:
Scales this recipe's Prep Qty (yield-adjusted amount to buy or pull from inventory) and Total Cost for cooking a batch ahead of service. It does not change Cost, Selling Price, Cost (%), or the “Cost % by recipe” chart above — those are always per single portion. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 5 | 1 | 429.0 | g | $1.47 | $19.12 | 7.7% | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cost = Σ (quantity ÷ yield % × cost per gram) across this recipe's ingredient lines:
Scales this recipe's Prep Qty (yield-adjusted amount to buy or pull from inventory) and Total Cost for cooking a batch ahead of service. It does not change Cost, Selling Price, Cost (%), or the “Cost % by recipe” chart above — those are always per single portion. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 6 | 1 | 361.0 | g | $0.30 | $5.39 | 5.6% | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cost = Σ (quantity ÷ yield % × cost per gram) across this recipe's ingredient lines:
Scales this recipe's Prep Qty (yield-adjusted amount to buy or pull from inventory) and Total Cost for cooking a batch ahead of service. It does not change Cost, Selling Price, Cost (%), or the “Cost % by recipe” chart above — those are always per single portion. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 7 | 1 | 235.0 | g | $2.26 | $48.43 | 4.7% | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cost = Σ (quantity ÷ yield % × cost per gram) across this recipe's ingredient lines:
Scales this recipe's Prep Qty (yield-adjusted amount to buy or pull from inventory) and Total Cost for cooking a batch ahead of service. It does not change Cost, Selling Price, Cost (%), or the “Cost % by recipe” chart above — those are always per single portion. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 8 | 1 | 395.0 | g | $1.62 | $11.75 | 13.8% | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cost = Σ (quantity ÷ yield % × cost per gram) across this recipe's ingredient lines:
Scales this recipe's Prep Qty (yield-adjusted amount to buy or pull from inventory) and Total Cost for cooking a batch ahead of service. It does not change Cost, Selling Price, Cost (%), or the “Cost % by recipe” chart above — those are always per single portion. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 9 | 1 | 320.0 | g | $1.00 | $9.66 | 10.4% | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cost = Σ (quantity ÷ yield % × cost per gram) across this recipe's ingredient lines:
Scales this recipe's Prep Qty (yield-adjusted amount to buy or pull from inventory) and Total Cost for cooking a batch ahead of service. It does not change Cost, Selling Price, Cost (%), or the “Cost % by recipe” chart above — those are always per single portion. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 10 | 1 | 465.0 | g | $3.50 | $21.40 | 16.4% | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cost = Σ (quantity ÷ yield % × cost per gram) across this recipe's ingredient lines:
Scales this recipe's Prep Qty (yield-adjusted amount to buy or pull from inventory) and Total Cost for cooking a batch ahead of service. It does not change Cost, Selling Price, Cost (%), or the “Cost % by recipe” chart above — those are always per single portion. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 11 | 1 | 485.0 | g | $1.85 | $16.09 | 11.5% | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cost = Σ (quantity ÷ yield % × cost per gram) across this recipe's ingredient lines:
Scales this recipe's Prep Qty (yield-adjusted amount to buy or pull from inventory) and Total Cost for cooking a batch ahead of service. It does not change Cost, Selling Price, Cost (%), or the “Cost % by recipe” chart above — those are always per single portion. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 12 | 1 | 710.0 | g | $4.27 | $15.20 | 28.1% | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cost = Σ (quantity ÷ yield % × cost per gram) across this recipe's ingredient lines:
Scales this recipe's Prep Qty (yield-adjusted amount to buy or pull from inventory) and Total Cost for cooking a batch ahead of service. It does not change Cost, Selling Price, Cost (%), or the “Cost % by recipe” chart above — those are always per single portion. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 13 | over target | 1 | 219.0 | g | $0.68 | $2.43 | 28.1% | — | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cost = Σ (quantity ÷ yield % × cost per gram) across this recipe's ingredient lines:
Scales this recipe's Prep Qty (yield-adjusted amount to buy or pull from inventory) and Total Cost for cooking a batch ahead of service. It does not change Cost, Selling Price, Cost (%), or the “Cost % by recipe” chart above — those are always per single portion. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 14 | 1 | 362.0 | g | $2.39 | $25.53 | 9.4% | — | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Cost = Σ (quantity ÷ yield % × cost per gram) across this recipe's ingredient lines:
Scales this recipe's Prep Qty (yield-adjusted amount to buy or pull from inventory) and Total Cost for cooking a batch ahead of service. It does not change Cost, Selling Price, Cost (%), or the “Cost % by recipe” chart above — those are always per single portion. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
This report was added alongside the Menu Profitability and Labor Cost reports as a gated build (planning doc validated against the live codebase → dedicated recipe/ ingredient importer → live cost buildup → this page). Recipe and ingredient data load through their own importer, separate from the sales-CSV path, and recipe-backed items survive a sales-data refresh or clear.
The data comes from two committed flat files —
ingredients_master.txt (cost per gram and yield % per ingredient) and
recipe_ingredients.txt (per-serving ingredient quantities for 14 dishes). All 14
recipes are synthesized benchmark portions based on typical commercial recipe knowledge, not
transcribed from any single source; the cost-per-gram and yield figures are illustrative
foodservice benchmarks, not vendor invoices. Three recipes were spot-checked against
independently sourced recipes and landed within roughly 25% on key ingredients; the other 11
were not re-verified. Cost is recomputed live from the current database on every render, never
read from the flat files' own precomputed cost columns.
This project uses Python 3, Flask, SQLite, Jinja2, Chart.js, python-dotenv, gunicorn, and pytest.