Build a food cost calculator in a spreadsheet
Inventory, food cost & waste21 October 2026By The servearound team15 min read
Six columns, one rule about wastage and a tab for every sub-recipe. How to lay out a costing sheet that stays honest, and the signs that it has outgrown itself.

A food cost calculator does not need to be clever. It needs to answer one question reliably: what does each dish cost to make, and what share of its price does that cost represent? A well-built spreadsheet can do that for years. A badly built one can quietly mislead a kitchen for just as long, because a formula that looks right gives the same confident answer whether its inputs are current or two seasons out of date.
This guide shows how to build a food cost calculator that stays honest. It covers the six columns every ingredient line needs, the one decision about wastage that changes every number below it, how to handle sauces and other sub-recipes, how to turn dish costs into a food cost percentage, and how to tell when the sheet has done all it can.
You can follow along in any spreadsheet tool. Nothing here needs macros or add-ons, and the structure is deliberately simple enough that someone else in the kitchen can maintain it when you are on holiday.
What a food cost calculator is for
Before building anything, be clear about the three jobs the sheet has to do:
- Cost each dish from its ingredients, so you know what a plate costs to make.
- Show each dish's food cost percentage and cash margin, so you can price and promote sensibly.
- Stay current when supplier prices change, without anyone retyping the whole menu.
The third job is where most sheets fail. A recipe costing done once at menu launch is a snapshot. A food cost spreadsheet that pulls every ingredient price from a single price list and recalculates when that list changes is a tool. Everything in the layout below is designed to make the third job easy.
The structure: three tabs, not one
Keep the calculator on three tabs:
- Ingredients: one row per ingredient, with its purchase price and unit.
- Recipes: one block per dish, listing what goes in and pulling prices from the ingredients tab.
- Menu: one row per dish, pulling each dish's cost from the recipes tab and setting it against the selling price.
The separation matters. When a supplier raises the price of cream, you change one cell on the ingredients tab and every recipe that uses cream, and every dish built on those recipes, updates on its own. If prices are typed directly into recipes, the same change has to be made in a dozen places, and one of them will be missed.
Setting up the ingredients tab properly
The ingredients tab is the foundation, and an hour spent getting it right saves weeks of confusion later. Give each ingredient one row and these columns:
- Ingredient name, written the same way every time. Decide whether it is "Cream, double" or "Double cream" and never mix the two.
- Supplier, so you know whose price you are looking at.
- Pack size and pack unit: 5 litres, 10 kilos, a case of 12.
- Pack price, exactly as invoiced, before any tax you can reclaim.
- Price per base unit: the pack price divided by the pack size, worked out by formula, never typed.
- Category, such as dairy, protein, produce or dry goods, so you can sort and total by group.
- Last updated, the date the price was last checked against an invoice.
Choose one base unit per ingredient and stick to it. Weigh solids in kilos, measure liquids in litres, and count only the things that are genuinely bought and used by the piece, like eggs or bread rolls. Mixing grams and kilos, or litres and bottles, is the single most common source of costings that are wrong by a factor of a thousand.
It is worth adding a short "notes" column too. When a price is unusual, such as a seasonal spike or a one-off substitute brand, a note saying so stops someone treating a temporary price as the new normal when they review the sheet months later.
Building the recipes tab, one block per dish
Lay out the recipes tab as a series of blocks, one per dish or sub-recipe, separated by a blank row. Each block starts with a header row naming the dish, its batch size and how many portions that batch makes. Below it come the ingredient lines with their six columns, and at the foot of the block a total row adds up the line costs and divides by the number of portions.
Keep every block in the same shape. When each recipe has its header in the same column and its total in the same place, the menu tab can find each dish's cost with a simple lookup on the dish name, and anyone opening the sheet can read any recipe without learning a new layout. Freeze the header row of the tab so the column names stay visible as you scroll.
Name sub-recipes clearly so they cannot be mistaken for dishes: "SUB mustard sauce" or "Base: chicken stock" makes it obvious that the line is a component rather than something guests order. When a dish uses a sub-recipe, its ingredient line looks up the sub-recipe's cost per unit exactly as it would look up an ingredient from the first tab.
The six columns every ingredient line needs
On the recipes tab, each line of a recipe needs six columns. Together they turn a purchase price into a cost per portion.
- Ingredient name, chosen from the ingredients tab so the spelling and price always match.
- Purchase unit and price, looked up from the ingredients tab: for example, 10 kilos at 42.
- Usable yield percentage: the share of what you buy that ends up usable after trimming, peeling, boning or cooking loss.
- Cost per usable unit: the purchase price divided by the usable quantity.
- Quantity in the recipe, in the same unit as column four.
- Line cost: quantity multiplied by cost per usable unit.
Add the line costs together and you have the cost of the batch or the plate. Divide a batch cost by the number of portions it makes and you have the cost per portion.
Why the yield column matters most
The yield column is the one most often left out, and it is the one that changes every number below it. If you buy a whole salmon at a given price per kilo, you cannot serve the head, the bones or the skin. If only 55 percent of the weight ends up as portions, then the real cost of the usable fish is nearly double the price on the invoice. A recipe that ignores yield is costing food you never serve at the price of food you do.
That is the single most important rule in building the sheet: wastage belongs inside the recipe, as a yield percentage on each ingredient, not beside it as a vague allowance added at the end. A flat "add ten percent for waste" at the bottom of a recipe treats a carrot and a lobster the same way, and they are not the same.
Measuring yield instead of guessing it
Yield percentages should come from measurement, not memory. Weigh a delivery as it arrives, prepare it the way the kitchen normally does, and weigh what is usable. Do it two or three times for your most expensive ingredients and take the average. It takes an afternoon and it is the most valuable afternoon you will spend on the sheet.
Handling sauces, stocks and other sub-recipes
Most dishes include components that are themselves recipes: a sauce, a stock, a dressing, a dough. Cost these as their own recipes, on the recipes tab, with a batch size and a yield. Then treat the finished sub-recipe as an ingredient in the dishes that use it, at its cost per millilitre, gram or portion.
This is the second most common gap in home-built sheets. A dish that lists "jus, 40ml" without costing the jus is understated by whatever the jus costs, and if four dishes use the same jus, the error appears four times. Cost each sub-recipe once and let the dishes that use it pull the number.
From dish cost to food cost percentage
On the menu tab, each dish needs four more columns:
- Cost per portion, pulled from the recipes tab.
- Selling price, excluding any sales tax.
- Food cost percentage: cost per portion divided by selling price, times 100.
- Cash margin: selling price minus cost per portion.
Strip tax from the selling price before calculating. If your menu shows prices including tax, the percentage will look better than it is by the full rate of tax unless you remove it first.
A worked example
Here is an illustrative dish, a pan-roasted chicken supreme with crushed potatoes and a mustard sauce. The numbers are examples to show the layout, not a recommended costing.
- Chicken supreme: bought at 9.50 per kilo, 92 percent usable after trimming, so 10.33 per usable kilo. The recipe uses 0.22 kilos, a line cost of 2.27.
- New potatoes: 1.20 per kilo, 85 percent usable after peeling and cooking loss, so 1.41 per usable kilo. The recipe uses 0.18 kilos, a line cost of 0.25.
- Mustard sauce, a sub-recipe costed at 0.012 per millilitre. The recipe uses 60 millilitres, a line cost of 0.72.
- Butter, herbs, seasoning and oil: a combined line cost of 0.31.
- Garnish of pea shoots: a line cost of 0.24.
The cost per portion is 3.79. At a selling price of 16.50 before tax, the food cost percentage is 23.0 and the cash margin is 12.71. Notice the sauce: it costs more than three times the potatoes, which is exactly the kind of thing that disappears if sub-recipes are left uncosted.
Testing the calculator before you trust it
A new sheet should be tested like any other piece of equipment before it goes into service. Three quick checks catch most errors.
First, cost one dish by hand on paper, from the invoices, and compare it with the sheet. If the two differ by more than a few cents, trace the difference line by line until you find the cell that is wrong. It is usually a unit conversion or a yield typed as 85 instead of 0.85.
Second, change one ingredient price deliberately and watch what moves. Every recipe that uses the ingredient, and every dish built on those recipes, should update. Anything that does not update has a typed number where a formula should be.
Third, sense-check the extremes. Sort the menu tab by food cost percentage. A dish showing 4 percent or 90 percent is almost certainly a mistake rather than a discovery, and the top and bottom of the list are where errors gather.
Using the calculator to price a new dish
Once the sheet is trusted, it becomes a pricing tool as well as a costing one. When the kitchen develops a new dish, cost it in the recipes tab first, before it goes on the menu, and then decide the price with the cost in front of you.
There are two ways to approach the price. The first starts from a target: if you want a dish to sit at around a quarter of its price in food, divide the cost per portion by 0.25 to get a starting price, then adjust it to where similar dishes sit on your menu. The second starts from the margin: decide how much cash the dish needs to contribute and add it to the cost. The second approach is often better for expensive dishes, where a percentage target would push the price too high, and for cheap ones, where it would leave money on the table.
Whichever you use, write the result into the menu tab and keep the costing. When the dish has been on the menu for a month, compare its cost with what actually sold and decide whether it earned its place.
Keeping the sheet current
A food cost calculator is only as good as its prices. Build a habit that keeps them current without a monthly afternoon of retyping.
- Update the ingredients tab from invoices weekly, or at least for your top twenty lines by spend.
- Add a "last updated" date column beside each price, so stale prices are visible at a glance.
- Highlight any dish whose food cost percentage has moved by more than a point or two since the last review.
- Re-measure yields for expensive ingredients when you change supplier, because a different cut or grade can change the yield as much as the price.
Our guide on nine ways to reduce food costs without a new menu covers what to do when the updated sheet shows a dish has slipped.
Connecting the sheet to your real food cost
The menu tab tells you what each dish should cost. To compare that with what the kitchen actually spent, you need two more things: how many of each dish sold in the period, and your stock-based actual food cost for the same period. Multiply each dish's cost by the number sold, add them up, and you have your theoretical food cost. Compare it with the actual figure and the difference is the gap worth investigating.
Our guide to actual vs theoretical food cost explains how to read that gap, and the step-by-step guide to calculating food cost percentage covers the stock-based side.
Mistakes that make the sheet lie
A spreadsheet that looks tidy can still be wrong. These are the errors that most often slip in.
- Prices typed into recipes rather than pulled from one list, so a price change reaches some dishes and not others.
- No yield column, or a flat waste allowance added at the end.
- Sub-recipes listed but not costed.
- Selling prices that include tax.
- Units that do not match: a recipe in grams pulling a price per kilo without converting.
- Modifiers and add-ons left out, so the dish costed is not the dish guests actually order.
- Formulas overwritten by hand to "fix" a number, which then never updates again.
The last one is worth a rule of its own: protect the formula columns so they cannot be typed over, and keep inputs and calculations visibly separate. In most spreadsheet tools you can colour input cells one way and calculated cells another, which makes it obvious which ones a person should change.
When the spreadsheet stops coping
A good food cost spreadsheet can serve a single venue with a stable menu for a long time. It starts to struggle when any of these become true:
- The menu changes often enough that maintaining recipes takes more time than cooking them.
- More than one person edits the sheet, and versions start to multiply.
- You run more than one venue, with shared dishes priced differently.
- You need the sales side of the calculation, dish by dish, and pulling it from the till each week is becoming a chore.
- Nobody trusts the numbers because nobody is sure which version is current.
None of these means the spreadsheet was a mistake. It means the business has grown past what a single file can hold. A spreadsheet's flexibility is also its weakness: it lets anyone change anything, as the long history of spreadsheet errors in businesses of every size shows.
Where servearound fits
The recipe build-up in this guide is work your spreadsheet does well, and many kitchens keep it there. Where a system helps is on the sales side and the menu itself.
In servearound, each dish is one record in a library shared by every menu it appears on, with its own price on each menu where you need that. Once a dish's cost is set, the menu report in Analytics shows its units sold, revenue and margin from what actually went out during service, so the "how many of each dish sold" column fills itself from the same orders the kitchen cooked. Changing a price happens once and reaches every channel the menu is on. If you are weighing up whether to move, our pricing page sets out what a venue pays, with no fees per cover or per order.
Questions operators ask
How many decimal places should costs carry?
Two is enough for the final cost per portion, but keep the full precision in the calculation columns. Rounding each line before adding them together creates small errors that add up across a recipe.
Should I include labour in the calculator?
Keep it separate. A food cost calculator measures ingredients. If you want to compare buying in against making in house, add labour in a separate column so the food cost percentage stays comparable with your stock-based figure.
How often should I re-cost the whole menu?
Re-cost your twenty best sellers whenever their main ingredient prices move, and the full menu at least at every menu change. A quarterly full review suits most kitchens.
Is garnish really worth costing?
Yes, at least once. A microherb, a drizzle of good oil or a few shavings of hard cheese can cost more than the starch on the plate, and because garnish is added by eye it drifts upward over time. Cost it properly when you build the recipe, then decide whether it earns its keep. Many kitchens find one or two garnishes that add cost without anyone noticing them.
How do I cost a dish with a variable portion, like a sharing board?
Cost the board as it is meant to leave the kitchen, with each component weighed, and then check it against reality by weighing three or four boards on a busy night. Sharing dishes drift faster than plated ones because nobody owns the exact quantity, so a quick weigh every few weeks keeps the costing honest.
Can one sheet handle two venues?
It can, with a venue column on the menu tab and shared recipes, but it gets fragile quickly. Once prices or recipes differ between sites, version control becomes the main problem.
The short version
Build the food cost calculator on three tabs: ingredients, recipes and menu. Give every ingredient line six columns, put wastage inside the recipe as a measured yield, cost every sub-recipe once, and strip tax from selling prices. Pull prices from one list so a single change updates every dish.
Kept current, that sheet will tell you what every plate costs and what it earns. When keeping it current starts to cost more time than it saves, that is the signal to move the sales side, and eventually more, into a system built for it.
Written byThe servearound team
Keep reading

Inventory, food cost & waste
How to calculate food cost percentage, step by step
The formula takes one line. Getting a number you can trust takes a count, a cut-off and three corrections most kitchens skip. Here is the whole method, with a worked week.

Inventory, food cost & waste
Restaurant supplier management, start to finish
Choosing, pricing, ordering, checking and reviewing suppliers as one cycle rather than four separate arguments a year. A complete method for a single venue or a small group.