CulinaraOS › Guides

How to calculate food cost percentage

Food cost percentage tells you how much of every dollar of food sales went to the ingredients behind it. Here is the formula, how to get each number right, and a worked example.

CulinaraOS guide · October 27, 2026

The formula

Food cost % = (opening inventory + purchases − closing inventory) ÷ food sales × 100

The top part of the formula is your cost of goods used for the period: what you had on the shelves at the start, plus everything you bought, minus what is still on the shelves at the end.

Use the same period for every number — a week or a month — and count inventory at the same time of day, ideally before a delivery or after close.

Worked example

A restaurant closes its month with these numbers (illustrative, not a real restaurant):

ItemAmount
Opening inventory$8,400
+ Purchases (net of credit notes)$21,600
− Closing inventory$7,900
= Cost of food used$22,100
Food sales (before tax)$68,000
Food cost %32.5%

$8,400 + $21,600 − $7,900 = $22,100. Then $22,100 ÷ $68,000 = 0.325, or 32.5%.

There is no single “right” food cost percentage: most restaurants set a target by concept, menu and price point, then watch the trend from one period to the next. A number that suddenly moves is the signal to investigate.

Theoretical vs actual food cost

The formula above gives your actual food cost — what really left the shelves. Your theoretical (or ideal) food cost is what it should have been if every plate sold was made exactly to recipe, with no waste:

Theoretical food cost % = Σ (plate cost × quantity sold) ÷ food sales × 100

The gap between the two is where money disappears: over-portioning, waste and spoilage, staff meals or comps that were never recorded, theft, receiving errors, and recipe costs that were never updated after a supplier raised prices.

Continuing the example: if the plate costs and the POS sales mix give a theoretical food cost of 29.8%, the gap is 32.5% − 29.8% = 2.7 points. On $68,000 of food sales that is $68,000 × 0.027 = $1,836 for the month that cannot be explained by the recipes.

Plate costing with yield

A plate cost is only as good as its ingredient costs, and the price on the invoice is not the cost of what reaches the plate. Trimming, peeling, bones and cooking loss mean you pay for weight you never serve. That is what yield corrects for:

Usable cost per unit = purchase price per unit ÷ yield %

Example: a whole salmon is bought at $16.00/kg. After filleting and trimming, 70% of the weight is usable.

Costing the same portion at the invoice price ($16.00 × 0.18 = $2.88) would understate the protein cost by more than a dollar per plate.

Why invoices and price changes matter

Supplier prices move constantly, and every recipe cost depends on them. If the salmon in the example goes from $16.00 to $18.50/kg, the usable cost becomes $18.50 ÷ 0.70 = $26.43/kg, the portion costs $4.76, the plate costs $6.61 and its food cost rises from 22.9% to 25.4% — without anything changing in the kitchen.

That is why the purchases line has to come from actual invoices (with credit notes subtracted), and why recipe costs should be updated whenever an invoice shows a new price. Otherwise your theoretical food cost is based on old prices and the gap with your actual number grows for no visible reason.

Checklist

  1. Pick a fixed period (week or month) and stick to it.
  2. Count inventory at the start and end of the period, same time of day, same units.
  3. Total food purchases from supplier invoices; subtract credit notes; leave out non-food items and sales taxes.
  4. Use food sales before tax and tips, for the same dates.
  5. Calculate actual food cost %: (opening + purchases − closing) ÷ food sales.
  6. Cost every recipe with yield-adjusted ingredient prices.
  7. Calculate theoretical food cost % from your POS sales mix and compare it with the actual number.
  8. Update recipe costs when an invoice shows a price change.
  9. Investigate the biggest gaps first: portioning, waste, receiving and unrecorded comps.

Let the invoices do the work

CulinaraOS reads your supplier invoices by email, in French or English, costs your recipes and tracks food cost against the sales exports from your POS. Your first month is free.

Book a demo