Software Engineering

Restaurant Food Cost Control: Recipe Costing, Food Cost Percentage and Menu Engineering

Key takeaways

  • Food cost percentage equals the cost of food used (opening stock plus purchases minus closing stock) divided by food sales excluding VAT.
  • Recipe costing must include yields, sub-recipes such as sauces, and packaging, or every dish will look cheaper than it is.
  • The gap between theoretical cost from recipes and actual cost from stock movements shows where food cost leaks, especially by ingredient and branch.
  • Supplier price changes should update recipe costs automatically, and menu engineering should judge dishes by contribution margin in riyals.
  • Benchmarks vary by concept, so the most useful target is your own theoretical food cost, tracked branch by branch.

Restaurant food cost control is the practice of measuring what ingredients each dish should consume, comparing that with what the kitchen actually used, and acting on the gap. It rests on three numbers: the recipe cost of each plate, the food cost percentage of sales, and the variance between theoretical and actual usage.

Most restaurant owners know their food cost only at month end, when the stock count is done and the margin has already gone. This guide shows how to calculate each number with worked examples, where the gaps usually come from, how supplier price rises and menu engineering fit in, and what a restaurant POS system linked to recipes and inventory can automate. All figures below are illustrative examples, not benchmarks.

What is food cost percentage and how do you calculate it?

Food cost percentage is the cost of the food you used in a period divided by the food sales of that period. The standard formula is:

  • Cost of food used = opening inventory + purchases − closing inventory
  • Food cost % = cost of food used ÷ food sales × 100

Two adjustments matter in Saudi Arabia. First, use sales net of VAT. Restaurant meals are taxed at the standard 15% rate, as ZATCA's own restaurant examples in its deemed supplier guideline show, so a menu price that includes VAT overstates your sales by 15%. Second, adjust for food that left the kitchen without being sold: transfers to other branches, staff meals and complimentary items should be recorded separately rather than hidden in the cost of sales.

Worked example (illustrative numbers)

ItemAmount (SAR)
Opening food inventory40,000
Food purchases during the month95,000
Closing food inventory38,000
Cost of food used (40,000 + 95,000 − 38,000)97,000
Food sales including VAT356,500
Food sales excluding VAT (356,500 ÷ 1.15)310,000
Food cost % (97,000 ÷ 310,000)31.3%

Is 31.3% good? That depends on the concept. A coffee-led café, a burger brand, a seafood restaurant and a fine-dining room have very different ingredient profiles, and published benchmarks vary widely by concept, market and how costs are counted. A more useful target comes from your own menu: the food cost your recipes say you should achieve, which is the theoretical figure explained below.

How do you calculate the cost of a dish?

Recipe costing calculates what one portion should cost, ingredient by ingredient. A reliable recipe card holds the purchase unit and price of each ingredient, the yield after trimming or peeling, the quantity used per portion and any packaging. Yield matters because you pay for the whole tomato but serve only part of it: the edible portion cost equals the purchase price divided by the yield percentage.

Worked example: a burger meal (illustrative numbers)

IngredientPurchase priceYieldQuantity per portionCost (SAR)
Brioche bunSAR 1.20 each100%1 piece1.20
Beef patty (minced beef)SAR 48.00/kg100%150 g7.20
Cheese sliceSAR 0.70 each100%1 slice0.70
TomatoSAR 6.00/kg85%40 g0.28
LettuceSAR 10.00/kg70%20 g0.29
House sauce (batch recipe)SAR 18.00/kg100%30 g0.54
FriesSAR 9.00/kg100%150 g1.35
Packaging——1 set0.84
Plate cost12.40

With a menu price of SAR 46 including VAT, the net price is SAR 40.00, so the food cost of this dish is 12.40 ÷ 40.00 = 31.0% and its contribution margin is SAR 27.60. Note three details that are easy to miss. The house sauce is itself a recipe, so its cost should roll up from its own ingredients. Lettuce at 70% yield costs about SAR 14.29 per usable kilogram, not SAR 10. And the dine-in and delivery versions of the same dish often differ in packaging, so they deserve separate recipe variants.

What is the difference between theoretical and actual food cost?

Theoretical food cost is what you should have spent: the recipe cost of every item multiplied by the quantity sold, taken from the POS. Actual food cost is what you did spend, from the stock movement formula above. The difference is the leak you are trying to find.

Continuing the illustrative example: if the sales mix for the month gives a theoretical cost of SAR 89,900 (29.0% of net sales) and the actual cost was SAR 97,000 (31.3%), the gap is SAR 7,100 in a single month. Breaking it down by ingredient shows where to look. If the recipes say 210 kg of beef should have been used and the counts show 232 kg, the problem is in the beef, not the whole kitchen.

Common cause of the gapWhat it looks likeHow a system reveals it
Over-portioningBeef or cheese usage above recipe in one branch or shiftIngredient-level variance by branch and shift
Unrecorded wasteSpoilage and prep errors that never reach a logWaste entries with reason codes, compared with variance
Outdated recipesDish changed in the kitchen but not in the systemVariance that persists across every branch
Receiving errorsShort deliveries or wrong weights acceptedGoods received matched to purchase orders and invoices
Unrecorded comps and staff mealsFood leaves the kitchen without a saleComps and staff meals rung through the POS with a reason
Loss or theftHigh-value items missing between countsMore frequent spot counts on selected items

How do you track waste and yield?

Waste you do not record ends up as unexplained variance. Give every branch a quick way to log waste on a tablet: the item, the quantity and a reason such as expired, overproduction, prep error, returned dish or staff meal. After a few weeks the pattern is usually obvious, for example overproduction of a side dish on weekdays or a prep error that repeats on one shift.

Yield deserves the same discipline. Run yield tests on the ingredients that drive your cost: weigh what you buy, weigh what is usable after trimming, and update the recipe yield. Repeat the test when you change supplier or cut, because the yield of the same product can differ between suppliers. For batch items such as sauces, doughs and marinades, record each batch produced so the system can deduct the raw ingredients once and track the batch as its own stock item.

How should supplier price changes flow into recipe costs?

A recipe card costed once and never updated is a common reason menus lose money quietly. Using the burger example: if minced beef rises from SAR 48 to SAR 56 per kilogram, the patty cost goes from SAR 7.20 to SAR 8.40, the plate cost to SAR 13.60 and the food cost of the dish from 31.0% to 34.0%. To return to 31.0%, the net price would need to be about SAR 43.90, or roughly SAR 50.50 including VAT, unless you change the portion, the supplier or the recipe.

The fix is a link, not a spreadsheet. When purchase invoices are recorded against ingredients, each new price updates the ingredient cost (as the latest price or a weighted average, depending on your costing policy) and every recipe that uses it. The system can then flag every dish whose food cost has crossed your target, so price and recipe decisions are taken in the week the price changed, not at the quarterly review.

What is menu engineering and how does it use food cost?

Menu engineering classifies each dish by two measures: its popularity (share of items sold) and its contribution margin in riyals (net price minus plate cost). The method looks at riyals of margin rather than food cost percentage alone, because a dish with a higher percentage can still earn more per plate.

CategoryPopularityContribution marginTypical action
StarsHighHighProtect quality and portion, keep in the best menu positions
PlowhorsesHighLowReview portion, recipe or price carefully without losing the guest
PuzzlesLowHighImprove placement, description and staff recommendations
DogsLowLowRework or remove, unless the dish serves a clear purpose

Run the analysis per branch and per channel. A dish that is a star in the dining room can be a plowhorse on delivery once platform commission and packaging are included, so delivery prices and recipe variants should be reviewed on their own numbers.

Menu data now has a compliance side

Recipe data is also menu data. Rules from the Saudi Food and Drug Authority in force since 1 July 2025 ask restaurants and cafés to list the caffeine in each drink, mark any item with more than 5 g of salt with a salt icon, and state how many minutes or hours of activity it takes to burn off an item's calories. These apply to paper and electronic menus, and SFDA's announcement notes that the salt icon must also appear on online food ordering platforms. A separate SFDA notice explains the activity icons used for calorie-burn labels.

Every time a recipe changes, those values may change too. Keeping nutritional data on the same recipe master that drives costing, and publishing it from there to the POS, digital menus and delivery apps, avoids menus that show one recipe while the kitchen cooks another.

How does a POS and recipe system automate food cost control?

Each step above can be done in spreadsheets, but the work multiplies with every branch and channel. A POS connected to recipes and inventory turns it into a routine:

  1. Map menu items to recipes, including modifiers (extra cheese, no sauce) and channel variants for dine-in, takeaway and delivery.
  2. Deduct stock with every sale, so theoretical usage builds up in real time from actual orders across all channels.
  3. Record purchases against ingredients, so supplier invoices update ingredient and recipe costs automatically.
  4. Log waste, staff meals and comps with reason codes on a tablet or handheld.
  5. Count stock by mobile device, with full counts monthly and spot counts on high-value items weekly.
  6. Report variance by ingredient, branch and shift, and alert managers when a dish or branch crosses its target.
  7. Handle central kitchen transfers at cost, so each branch carries the true cost of what it receives.

Our guide to choosing a POS system in Saudi Arabia covers the till side, and the ERP guide for Saudi businesses explains how purchasing, inventory and accounting fit together. For groups whose kitchens, branches and brands no longer fit a standard package, Amwaj Solutions builds connected ERP and custom software around recipe, stock and costing logic.

Where to start this month

  1. Calculate last month's actual food cost % on net sales, using the formula above.
  2. Cost your top 20 dishes by sales volume, with yields and packaging included.
  3. Start a simple waste log with reason codes in every branch.
  4. Compare theoretical and actual cost for your five highest-cost ingredients.
  5. Review the dishes whose costs moved most after recent supplier price changes.

If you want this to run automatically across branches, tell us how your kitchens, menus and current systems work. We will review where food cost is leaking and recommend the simplest route, whether that is configuring what you have or a restaurant POS and management system built around your operation.

Software Engineering

Frequently Asked Questions

How do you calculate food cost percentage in a restaurant?

Divide the cost of food used by food sales for the same period and multiply by 100. Cost of food used is opening inventory plus purchases minus closing inventory. In Saudi Arabia, use sales excluding the 15% VAT, and record staff meals, complimentary items and branch transfers separately so they do not distort the result.

What is a good food cost percentage for a restaurant?

There is no single right figure. Food cost varies widely by concept, from coffee-led cafés to steakhouses, and by how each business counts costs, so generic benchmarks can mislead. A better target is your own theoretical food cost, calculated from costed recipes and your actual sales mix, and then tracked branch by branch.

How do you calculate the cost of a meal or dish?

List every ingredient with its purchase price, yield after trimming and quantity per portion. Divide the price by the yield to get the usable cost, multiply by the quantity, then add sub-recipes such as sauces and the packaging. The total is the plate cost; divide it by the net menu price to get the dish's food cost percentage.

What is the difference between theoretical and actual food cost?

Theoretical food cost is what your recipes say you should have used, based on the quantity of each dish sold. Actual food cost comes from stock movements: opening stock plus purchases minus closing stock. The gap reveals over-portioning, unrecorded waste, outdated recipes, receiving errors or loss, especially when analysed ingredient by ingredient and branch by branch.

What is menu engineering?

Menu engineering is a method of classifying dishes by popularity and contribution margin in riyals. Popular, high-margin dishes are stars; popular, low-margin dishes are plowhorses; unpopular, high-margin dishes are puzzles; and unpopular, low-margin dishes are dogs. Each category suggests an action, such as repricing, repositioning on the menu, reworking the recipe or removing the dish.

Can a POS system calculate food cost automatically?

Yes, when it is linked to recipes and inventory. Each sale deducts ingredients according to the recipe, purchase invoices update ingredient costs, and waste and stock counts are recorded in the same system. It can then report theoretical versus actual cost by ingredient, dish and branch, and alert managers when food cost crosses a target.

Back to Blog