Skip to main content
ChefExpenses LogoChefExpenses

Free recipe costing template for Excel

A ready-to-use spreadsheet that works out what every dish really costs. Enter ingredients, purchase prices, quantities and trim waste, and the formulas give you cost per portion, food cost percentage, gross profit and a suggested menu price. Direct download — no sign-up, no email gate.

Excel · 11 KB · also opens in Google Sheets, Numbers and LibreOffice

What's in the spreadsheet

  • A “Recipe cost” sheet with 20 ingredient lines, styled like ChefExpenses' own exports.
  • Trim/waste and gross-quantity columns, so you see how much to order — not just what reaches the plate.
  • A results block: total cost, cost per portion, price ex. tax, food cost %, gross profit and suggested menu price.
  • A fully worked example (pan-seared salmon with vegetables) you can study, then clear.
  • A “How to use it” sheet with the steps and every formula.

How to use it

  1. Type the dish name and how many portions the recipe yields.
  2. One ingredient per row: the unit you buy it in (kg, l, each, lb) and the purchase price per unit, excluding tax — straight from your supplier invoice.
  3. Enter the net quantity used in the recipe in the same unit as the price (180 g = 0.180 kg; 6 oz = 0.375 lb).
  4. Add the trim/waste percentage: whatever you lose peeling, boning, portioning or cooking. A whole fish can lose 40–50%; a trimmed fillet 5–10%.
  5. Fill in your menu price, the tax included in it and your target food cost. Everything else calculates itself.

The formulas behind it

These are the standard recipe costing formulas used in professional kitchens. They live in the cells, so you can inspect or tweak them:

Gross quantity
net quantity / (1 − waste %)
Line cost
gross quantity × purchase price
Cost per portion
sum of line costs / portions
Price ex. tax
menu price / (1 + tax %)
Food cost %
cost per portion / price ex. tax
Gross profit
price ex. tax − cost per portion
Suggested price
cost per portion / target food cost × (1 + tax %)

Worked example: pan-seared salmon with vegetables (4 portions)

Four portions need 720 g of trimmed salmon fillet. With 30% waste (skin, pin bones, trim), you have to buy 0.72 / 0.70 = 1.029 kg. At 18 per kg, that line costs 18.51.

Add the vegetables, olive oil, lemon and seasoning and the recipe comes to 21.03 — 5.26 per portion. Selling it at 24.00 including 20% VAT gives 20.00 ex. tax, so food cost is 26.3% and gross profit is 14.74 per plate.

With a 30% target, the sheet suggests a menu price of 21.03 including tax — so this dish has room to spare. If your menu prices exclude sales tax (as in most of the US), just set the tax rate to 0%.

Where spreadsheets stop scaling

A template is great for a handful of dishes. It breaks down when a supplier changes a price: every sheet that uses that ingredient has to be found and updated by hand. Add sub-recipes (stocks, sauces, doughs) used inside other dishes and a team editing the same file, and formulas get overwritten and nobody knows which version is current.

Frequently asked questions

Is the recipe costing template really free?
Yes. It's a direct download with no sign-up and no email required. Use it, change it and share it with your team.
Does it work in Google Sheets or Numbers?
Yes. It's a standard .xlsx file using basic functions (SUM, IF, OR), so it opens in Excel, Google Sheets, Numbers and LibreOffice with the calculations intact.
How do I work out the trim waste percentage?
Weigh the product before and after prepping it: waste = (gross weight − net weight) / gross weight. As a rough guide, leafy greens lose 10–20%, whole fish 40–50% and bone-in meat 25–35%.
What food cost percentage should I aim for?
Most restaurants target 25–35% of the price excluding tax. Above 35%, a dish leaves little room to cover labour, rent and overheads.
Can I move my spreadsheet recipes into ChefExpenses?
Yes. ChefExpenses imports ingredients from Excel with its own import template. You build each recipe once, and from then on costs update automatically whenever a price changes.