Skip to content

Free food cost calculator

Work out the food cost percentage and the contribution margin of a dish. Enter what the ingredients cost you and what the dish sells for, say whether that price is the one on the menu or the one after VAT comes off, and the calculator shows both readings. Nothing is saved. It all stays in your browser.

That price is
VAT rate
Food cost31.7%
Contribution marginCHF 26.55Per plate, before staff, rent and energy.
Net selling price
CHF 38.85
Markup factor
3.16 ×

Divide by the menu price of CHF 42.00 instead and the same dish reads 29.3%. That is the version that flatters the margin.

Food cost 31.7%, contribution margin CHF 26.55 per plate.

To land on that target

Net price needed
CHF 41.00
Menu price needed
CHF 44.32

How the calculation works

Food cost percentage is the ingredient cost divided by the net selling price. The rib-eye we cost in the food cost article takes CHF 12.30 of ingredients and goes on the menu at CHF 42.00. Take the 8.1% VAT off that and the net price is CHF 38.85. So CHF 12.30 divided by CHF 38.85 is 31.7 percent.

The contribution margin is the same two numbers subtracted rather than divided: CHF 38.85 less CHF 12.30 leaves CHF 26.55 on the plate for everything that is not food. The markup factor is the percentage turned upside down. At 31.7 percent it is 3.16, so the dish sells for a little over three times what it costs to put together.

Gross or net: the two points that are not there

The price on the menu includes VAT. The ingredient cost does not, because it is incurred net. Divide one by the other and you are comparing two different things.

On the same rib-eye: CHF 12.30 against the CHF 42.00 menu price gives 29.3 percent, against the CHF 38.85 net price it gives 31.7 percent. The wrong one is always the lower one, which is why the mistake never announces itself. Over a full menu it becomes a margin that does not exist. The toggle above starts on the menu price, because that is the number you have to hand, and both readings stay on screen so the gap is something you can see instead of something you assume.

Food eaten on the premises is a restaurant supply and carries the standard rate of 8.1 percent (as of 2026). Take-away and delivery can fall under the reduced rate of 2.6 percent, but only where the operation genuinely keeps the two apart. This is an explanation of costing and not tax advice; what is authoritative is the Swiss VAT Act (SR 641.20) and the Federal Tax Administration.

Why the percentage on its own will mislead you

Because rent is paid in francs. A pasta dish at 16.2 percent food cost reads better than a rib-eye at 30.2 percent, right up until you notice the rib-eye leaves CHF 28.40 a plate and the pasta CHF 18.60. Take the steak off the menu on the strength of its percentage and you have taken off the dish that was carrying the fixed costs.

So the two figures sit side by side above, at the same size. Neither settles it alone: one plate pays no rent, and what decides the evening is contribution margin times covers sold. The percentage is a warning light, not a verdict.

What this calculator does not know

It knows one dish, on the day you type it in. The rest sits outside the arithmetic and has to come from you.

  • Labour

    Two dishes with the same food cost are not the same dish if one is turned by hand for forty minutes. The factor cannot see the work.

  • Everything that is not food

    Wages, rent, energy, insurance, depreciation. Food cost is the largest single block of variable cost and still only one block.

  • Trim, spoilage, staff meals

    This is usually the whole gap between a kitchen that costs every dish at 28 percent and a month that lands at 34. It is not in the recipe, so it cannot be in this calculation.

  • Sales mix

    What sells moves the number more than any recipe does. The same two dishes across the same number of covers, split differently, give a different percentage for a menu nobody touched.

None of that makes the percentage useless. It makes it the first question rather than the last one.

Where a spreadsheet gives up

One dish at a time is fine in a spreadsheet. It gets awkward once the dish stands on other recipes: the sauce is its own recipe, the sauce needs the stock, the stock needs the mirepoix. The cost has to travel up through all of them before the percentage means anything.

Then the butter price moves. The herb butter sits in eleven dishes and eleven costings are now wrong. That is what we are building Trolevo for: sub-recipes stay attached to the dish, quantities and food cost roll up on their own, and the EU-14 allergen label is rebuilt for every affected dish. In German, French, Italian and English, in CHF.

Read on

Get early access to Trolevo

Be first in the kitchen when we launch.

Launch updates only. No spam, unsubscribe anytime. Privacy policy

Join before launch and lock your early-access price for a full 12 months.