In a restaurant serving 300 covers a day, profit does not disappear all at once. It disappears 40 grams of beef at a time, in a bag of lettuce that wilted at the back of the walk-in, in the extra sauce a new line cook pours because nobody wrote down what a portion is. At month end the sales look strong, the result looks weak, and nobody can say exactly where the difference went.
Food cost percentage is the number that answers that question. It measures how many riyals out of every 100 riyals of sales went into the raw ingredients that produced those sales, and it exposes the health of your kitchen before the financial statements do. But reading the number is not enough on its own. A figure pulled at month end does not tell you where the value leaked, and the difference between an operator who knows the percentage and one who controls it is that the latter knows which station the variance came from.
This is where inventory enters, as the mechanism rather than the subject. The percentage is made daily, at the receiving door, on the storage shelf, in the recipe, and in the waste log. Then it is read once at month end as a single number. And a restaurant differs from any other retail business in one way that makes this chain harder: a shop buys an item and sells the same item, while a restaurant buys raw materials and sells something else entirely. Beef, bread and cheese enter inventory as ingredients and leave it as plated dishes. That transformation is the source of all the complexity, and also the source of every opportunity to control profitability.
This guide runs in both directions: how to calculate your actual and theoretical food cost percentage and read the gap between them, how to build the recipe cost card the theoretical rate is derived from, then how to manage the six inventory stations that decide the actual rate, how to account for waste, and where the point-of-sale layer ends and the accounting layer begins.
The food cost formula and how to read it correctly
Food cost percentage is the first metric in any restaurant. It measures how many riyals of every 100 in sales went to raw materials.
Knowing how to calculate food cost starts with the materials used in the period, the same logic as cost of goods sold:
Cost of materials used = opening inventory + purchases for the period − closing inventory
Then:
Food cost percentage = (cost of materials used ÷ net food sales before VAT) × 100
A worked example over a full month, with hypothetical figures. Opening inventory is SAR 62,000, purchases SAR 214,000, closing inventory SAR 58,000. Cost of materials used comes to SAR 218,000. If net food sales before VAT are SAR 640,000, your actual food cost percentage is 34.1%.
Calculate the theoretical rate too: multiply units sold of each menu item by its standard cost from the cost card, add the results, then divide by sales. Say it is 31.2%. The gap is 2.9 percentage points, or SAR 18,560 a month.
Food cost variance: the gap between actual and theoretical
That gap is the diagnosis. The theoretical rate says what you should have spent, the actual rate says what you did spend, and the difference between them is the sum of unrecorded waste, portioning errors, receiving discrepancies and shrinkage. Chasing that difference is more useful than chasing the absolute percentage.
There is no single “right” food cost percentage that fits every restaurant. There is no one benchmark rate you can appeal to: the percentage shifts radically with the type of kitchen, the service model and the size of the menu, and any figure offered as an “industry average” without a published source is no basis for a decision. The more honest comparison is your restaurant against its own prior periods, and against the theoretical rate calculated from your own cost cards. Everything that follows in this guide serves those two numbers: first the cost card the theoretical rate is derived from, then the inventory stations that determine the actual rate.
The recipe cost card: putting a real number on a plate
The theoretical rate is not calculated out of thin air. It comes from a written cost card for every item on the menu, and the cost card is what turns a recipe into riyals. Take a beef burger in a Riyadh restaurant, using hypothetical purchase prices to illustrate the method:
- Ground beef, 150 grams, at SAR 48 per kilo, so the cost is SAR 7.20
- Burger bun, one unit, at SAR 1.10
- Cheddar cheese, 20 grams, at SAR 42 per kilo, so the cost is SAR 0.84
- Produce (lettuce, tomato, onion), 40 grams, averaging SAR 9 per kilo, so the cost is SAR 0.36
- Sauce, 25 grams, at SAR 24 per kilo, so the cost is SAR 0.60
- Packaging and serving box, SAR 0.75
The ingredients total SAR 10.85. Add a 5% preparation waste allowance and the standard cost of the plate becomes SAR 11.39. If the selling price before VAT is SAR 34, the food cost percentage for this item is 33.5%, and you are left with SAR 22.61 of contribution margin on every burger sold.
That last figure is the one menu decisions should be built on. The highest-priced item is not necessarily the highest-contributing one, and a cheap, fast-turning item may be the largest single source of profit in your restaurant. You can work out the contribution margin for each item and then rank the menu by it, using the definition of contribution margin as the amount left after the variable cost of producing the dish.
Three rules govern a sound cost card. First, the weight you use is the net weight after trimming and cleaning, not the purchase weight. Second, packaging is part of the plate cost on delivery and takeaway orders, and ignoring it distorts profitability in exactly the channels that are growing fastest. Third, the cost card is a living document, reviewed whenever supplier prices move materially.
Inventory Items Report Template
Start by listing every item in your kitchen with its quantity and unit cost in one ready-made sheet, so you have a clear base to build your cost cards and monthly count on.
Why controlling food cost percentage starts in the storeroom
The actual rate is made in inventory, not on the menu, and restaurant inventory differs from every other kind in three ways.
First: the materials spoil quickly. A case of tomatoes will not wait a month the way a spare part will. Slow the turn and you lose the goods, not just cash, so days inventory outstanding is read per material group, not for inventory as one number.
Second: the purchase unit differs from the consumption unit. You buy beef by the kilo and consume it by the gram. Any system that ignores the conversion factor gives meaningless numbers.
Third: the product sold is composite, not single. When one burger is sold, six items should come out of inventory together. Most small restaurants fall apart here: the POS records “burger”, while inventory keeps counting whole beef, bread and cheese until the count exposes the gap.
Restaurant inventory therefore differs from the general rules for stocktaking and balance control: those rules are correct but insufficient here.
The restaurant inventory cycle: six stations from receiving to close
Any deviation in food cost percentage can be traced back to one of six stations. Diagnosing the gap begins with identifying the station the value is leaking from.
The six stations follow the material itself, from the moment it comes off the supplier’s truck to the moment its effect appears in the income statement. Each station either adds to the cost of materials used or protects it, which is why every riyal that goes missing must have gone missing in one of them.
Reading them in order moves you from a single number that tells you nothing to a specific place you can fix. When your percentage rises above last month, the question becomes: which station changed? Was it receiving, was it the rotation in the walk-in, or is the recipe being executed with larger portions than the ones written down? What follows explains each station, what leaks there, and how the leak is closed with a simple daily routine that needs no extra headcount.
Six stations every riyal passes through in your kitchen
1. Receiving: the first leak, and the cheapest one to fix
Most inventory variances are born at the receiving door, not in the kitchen. The supplier writes 20 kilos on the invoice and delivers 18.4 kilos. The staff member signs because they are busy, and a quantity that never physically arrived enters inventory. That 1.6 kilo difference becomes a shortfall that surfaces in the count thirty days later and gets blamed, unfairly, on “kitchen waste”.
The practical rule is simple: no signature without a scale. Every item sold by weight gets weighed, and prices are matched against the approved purchase order before the invoice is stamped. Any difference is noted on the invoice itself and settled with a credit note from the supplier. A purchase order template makes that match possible, because you cannot compare a delivery against a commitment that was never written down.
Receiving is also the moment the unit cost is set. Qoyod calculates cost using the weighted average cost method, which is the only method the system supports, as neither first-in-first-out nor last-in-first-out is available in it. That means every new purchase invoice recalculates the item’s average cost automatically. If you buy beef at SAR 45 per kilo and then at SAR 51, the cost loaded onto your plates is neither of those two figures, but the weighted average of them by quantity.
2. Storage: rotation is a financial policy, not a tidiness one
Consuming the oldest stock first is not housekeeping advice. It is what determines how much of your inventory ends up in the bin. A batch buried behind a newer batch will almost certainly spoil, and its value comes straight out of profit.
In practice this runs on three habits: a receiving-date label on every case as it comes in, shelves arranged with the oldest at the front, and a quick daily walk through the chiller before service starts. That walk alone surfaces what can still be rescued as a special before it becomes total waste.
An important note before you design your system: Qoyod does not track batch numbers or expiry dates at item level. What it provides is a balance, a movement history and an average cost for every item in every location. Expiry dates are managed on the shelf itself with physical labels and a daily walk, while the periodic inventory system surfaces slow-moving items before they reach the edge of spoilage.
3. The recipe: the document everything else rests on
A standardized recipe is the contract between the kitchen and accounting. It defines exactly how many grams of each ingredient go into each dish. Without it, the cost of a plate varies with whichever cook made it, and there is no single number you can trust.
In Qoyod, the recipe is expressed as what the system calls a composite product. You add each ingredient as an independent inventory item, then create a composite item named after the dish and link it to its components and their quantities. When the sale is recorded in Qoyod, the system deducts the component quantities from inventory automatically. This feature is available on the Advanced plan only, and is not available on the Basic or Professional plans, which is a constraint worth factoring into your plan choice. A composite product can also sit inside another composite product, so a pizza becomes a component within a meal that includes a drink and fries.
4. Daily issuing: from store to kitchen against a document
Restaurants with multiple branches, or those that separate a main store from a production kitchen, need the movement of materials between the two documented. Qoyod supports multiple locations and warehouses and stock transfers between them, so you know the balance of every material in every location separately, instead of one aggregate figure that never tells you where the problem is. A warehouse transfer request template gives that movement a paper trail from day one.
The rule here is that every exit from the store is matched by a document. Issuing on trust feels faster in the moment, but it turns the monthly count into a criminal investigation with no evidence.
5. Waste and loss: the number nobody wants to write down
Waste in a restaurant is not one thing, and each type is treated differently. Classifying it correctly is a precondition for fixing it:
- Preparation waste: peel, bone and trim removed during prep. A natural and expected proportion, and it should be built into the cost card itself rather than deducted later.
- Spoilage waste: materials that went off in storage. This is a signal of a fault in purchasing, rotation or refrigeration, and it should approach zero.
- Prep-error waste: a dish made wrong or returned by the customer. A signal about training, or about clarity of the menu.
- Comps and staff meals: not loss in the strict sense, but inventory consumed without revenue, and it must be separated into its own account.
- Unexplained loss: the residual difference after excluding everything above. This is inventory shrinkage in its accounting sense, and a rise in it calls for a review of permissions and controls.
Lumping these types into a single line called “waste” leaves the number useless for management. You know you lost SAR 9,400, but you do not know whether the cause was the supplier, the fridge, the cook or the cashier. An inventory damage and loss report template gives each type its own row from the first day, which is what makes the classification usable later.
Five types of waste, each with a different treatment
A single line called “waste” does not tell you where the value leaked. Separating the types is what turns the number into an action you can take.
- Preparation waste: peel and trim, and its place is inside the cost card itself
- Spoilage waste: going off in storage, an indicator that should approach zero
- Prep errors: a dish made wrong or returned, and its indicator is training
- Comps and staff meals: consumption without revenue, split into its own account
- Unexplained loss: what remains after the rest, and it calls for a controls review
Accounting for waste and count variances
Waste is not just an operational number. Its accounting effect must appear in the books, or inventory value on the balance sheet stays too high.
Recognizing damaged materials debits a damaged goods expense account and credits inventory at average cost. A count shortfall with no known cause is treated the same way, through a separate expense account, keeping the picture clear for management.
In Qoyod, this happens inside the stocktake screen. You choose the location, the cost account for missing quantities, such as damaged goods or cost of goods, and the revenue account for surplus. The system displays current quantity, actual quantity and the difference, and generates the accounting effect on save. The count can also be linked to a project acting as a cost center, letting multi-branch restaurants isolate each branch’s result.
One caution: a revenue or expense account used in the count is reflected on the dashboard under revenues and expenses, an equity account is not. Choosing it is an accounting decision, not a formality.
Running a periodic count in a restaurant
Counting in a restaurant is not an annual event. Fast-moving materials need a weekly count, while slow-moving dry goods are fine on a monthly one. The logic is taken from ABC inventory analysis: concentrate the counting effort on the items that represent the greatest value, not on the greatest number of items.
And the count is not a control exercise aimed at policing staff. It is the measurement that closes the period. It produces the closing inventory figure you feed into the cost of materials used formula, and the actual percentage you compare against the theoretical one is built on it. A late or rushed count corrupts both the actual rate and the gap derived from it. That is why it deserves a fixed schedule and written rules rather than an individual effort that depends on whoever happened to be on shift that night.
Six rules make a count worth doing instead of a monthly ritual:
- A fixed time, outside trading hours. Counting during service produces figures that cannot be reconciled, because the quantities change during the count itself.
- Freeze sales and purchase movement during the count. Any invoice recorded mid-count will make the physical quantity differ from the system quantity, and when importing from an Excel file the system rejects the operation with a “some products are missing” message if sales or purchases were processed during the count period.
- Arrange the count sheet in shelf order. Not alphabetically, so the counter walks a single line without doubling back.
- Two people on high-value items. One counts and one records, because meat and seafood carry the highest value and the highest risk.
- One unit of measure per item. If the item is registered in kilos then it is counted in kilos, not in cases sometimes and kilos other times.
- Analyze variances the same day. After a week the team’s memory is no longer usable for explaining any difference.
Counts can be entered in Qoyod manually item by item, or imported from an XLSX file where each sheet represents a specific location. Importing is faster in larger restaurants, provided the template columns are not modified and the quantity cell keeps a numeric format. The system also supports counting with a barcode scanner, which reduces human entry errors in large stores.
The difference between the perpetual inventory system and periodic counting matters here. A restaurant that links its recipes to its inventory is effectively operating on perpetual logic: the balance updates with every sale recorded in Qoyod. The physical count in that case does not build the balance from zero, it corrects the drift and measures the size of the loss.
Where the POS layer ends and the accounting system begins
This is the question that confuses restaurant owners more than any other. The answer is that each layer has a different job, and neither substitutes for the other.
The daily operations layer: Q.Flavours
Q.Flavours is a point-of-sale system built specifically for restaurants, owned entirely by Qoyod and developed in-house. It is not an external system and not a partner product. Its job is to manage the moment the sale happens, in the dining room and the kitchen:
- A fast cashier that reduces errors at peak
- A kitchen display screen for organizing orders and showing what is complete
- Table management and dine-in, takeaway and delivery orders
- Item and digital menu management, with price and availability updates
- Ingredient and stock tracking at branch level
- Offline operation with local network sync between POS devices
- Branch-level sales reporting, with advanced reporting on the Premium plan
This layer answers the question: what is happening in my restaurant right now. It is a different question from the one this article is about, which is what the number was and how to read it. Note also that a general-purpose POS system is not the same thing as a restaurant POS, because the restaurant case adds the kitchen screen, table management and recipe-level ingredient tracking on top of the cashier.
The accounting and financial layer: Qoyod
Qoyod does not run your restaurant operationally. It is the layer that turns what happened in operations into financial figures you can make a decision on:
- Cost control, expense tracking and payroll
- Issuing tax invoices that meet e-invoicing requirements
- Calculating item profitability through the product cost and profit margin report
- Managing multiple warehouses and locations and transferring stock between them
- Stocktaking and settling variances in the accounts
- The product locations report, showing the quantity of every item in every warehouse
The precise formulation: Q.Flavours runs daily operations in the dining room and the kitchen, and Qoyod runs the accounting and financial layer behind it. A restaurant running both layers gets professional operations and accurate accounting from the same company, each side measuring what it is responsible for with its own tools.
Notebook and spreadsheet versus proper software
| Aspect | Manual notebook and Excel file | Q.Flavours with Qoyod |
|---|---|---|
| Ingredient balance | Lags a day or more The balance reflects the last manual count, not what is in the fridge now. |
Updates when the sale is recorded in Qoyod The composite product deducts its components automatically when the sale is recorded in Qoyod. |
| Plate cost | Updated by hand Supplier prices rise while the cost card keeps carrying old figures. |
Live average cost Every purchase invoice recalculates the ingredient’s average cost automatically. |
| Branches | One file per branch No single picture, and transfers between branches leave no documented trail. |
Multiple locations and warehouses A balance for every item in every location, with stock transfers documented. |
| Variances | No accounting trace The shortfall is written off in the file without ever appearing in the books. |
Settled with a journal entry The stocktake screen charges the shortfall to an expense account you choose. |
Seven common mistakes that distort food cost percentage
- Measuring against VAT-inclusive sales. The denominator is net sales before VAT. The inclusive figure lowers the percentage falsely.
- Mixing beverage inventory with food. Cost and turnover ratios differ between kitchen and bar, and merging them hides one inside the other.
- Ignoring packaging on delivery. The same dish can be profitable in the dining room and loss-making on delivery, which adds packaging and a platform commission.
- Overlooking comps and staff meals. Materials leave without revenue, and unless recorded separately show up as mysterious loss in the count.
- Counting during trading hours. It produces figures that cannot be reconciled, and on Excel import the system rejects the operation if sales or purchases occurred during it.
- Buying in bulk to chase a discount. An 8% discount on three weeks of stock does not compensate for spoilage and tied-up cash.
- Not setting a reorder threshold. Waiting for a cook to say a material is nearly out takes an item off the menu at peak.
Two of the seven have a direct handle in the system: the worth of a bulk discount depends on how fast your inventory turnover moves, and Qoyod alerts you at the reorder point per item and location, though the reorder threshold is not part of the Basic plan.
How Qoyod and Q.Flavours help you control food cost percentage
Up to this point the discussion has been about method: how the two numbers are calculated, and which station the difference between them leaks from. What follows is the execution side: what makes the method applicable daily in a busy restaurant rather than a monthly exercise on a sheet filled in once and forgotten. Holding the percentage steady does not come from more calculation effort, it comes from cutting the manual steps between recording the transaction and its effect appearing in the books. Every extra manual step is an opportunity for an entry error, or for a delay that lands the number after the need for it has passed.
The capabilities below follow the logic of the article: building the standard cost of the plate, then fixing the actual cost of materials, then measuring the difference and accounting for it. Note the plans caveat that follows the list. Six capabilities serve the calculation and control of food cost percentage, and all exist in the product today:
- Composite products for building recipes. Links each dish to its ingredients and their quantities, so raw materials are deducted from inventory automatically once the sale is recorded in Qoyod, and a composite product can nest inside another to form meals. Available on the Advanced plan only.
- Weighted average cost per item. Recalculated with every purchase invoice, and shown on the products and costs page and in the reports, so the plate cost is built on real prices rather than estimates.
- Reorder threshold and alerts. You set the minimum for each material and each location, and the system monitors the balance automatically and alerts you on the dashboard before it runs out.
- Stocktaking with accounting settlement. Manual counting, Excel import or barcode scanning, with a choice of expense account for missing quantities and revenue account for surplus, and an optional link to a project as a cost center.
- Multiple warehouses and locations with stock transfers. A separate balance for each branch, plus the product locations report showing the quantity of each item in each location for purchase or transfer decisions.
- Product cost and profit margin report. Shows quantity, cost and profit margin for each product, category or location, and it is the report your menu pricing decisions are built on.
A note on plans: inventory operations, such as stocked products, stocktaking, stock transfer, purchase invoices, suppliers, opening balances and the reorder threshold, are among the capabilities not included in the Basic plan that the free trial runs on, and composite products are available on the Advanced plan. Each plan has a different scope and some capabilities require a higher tier, so review the scope that fits your restaurant with the sales team.
On the operations layer, Q.Flavours handles the cashier, the kitchen screen, table management, the digital menu and ingredient tracking at branch level, with offline operation and local network sync between devices. The result is that operations and accounting work as two products from the same company, each side measuring what it is responsible for with its own tools.
Frequently asked questions
What food cost percentage is right for my restaurant?
There is no single number that fits everyone. There is no one benchmark rate you can appeal to: the percentage shifts radically with the type of kitchen, the service model and the size of the menu, and any figure offered as an “industry average” without a published source is no basis for a decision. The more useful comparison is between your restaurant and its own prior periods, and between the actual rate and the theoretical rate calculated from your cost cards.
How often should I count restaurant inventory?
High-value, fast-moving items such as meat and seafood need a weekly count. Dry goods and canned items are fine with a monthly count at period close. Multi-branch restaurants benefit from adding a small daily count covering only four or five critical items.
Does Qoyod track expiry dates for food materials?
No. The system provides a balance, a movement history and an average cost for every item in every location, but it does not track batch numbers or expiry dates at item level. Expiry dates are managed on the shelf with physical labels and a daily inspection walk, and the periodic count helps you surface slow-moving items before they approach spoilage.
What is the difference between Qoyod and Q.Flavours in inventory management?
Q.Flavours is a point-of-sale system built specifically for restaurants, owned entirely by Qoyod, and it runs daily operations in the dining room and the kitchen. Qoyod runs the accounting and financial layer: material cost, stocktaking and its settlements, multiple warehouses, profitability reports and tax invoices. Both products come from the same company, and each covers a different layer.
Can I link a dish to its ingredients so inventory is deducted automatically?
Yes, through the composite products feature. You add the ingredients as independent items, then create a composite item representing the dish and link it to its components and their quantities. When the sale is recorded in Qoyod, the quantities are deducted automatically. The feature is available on the Advanced plan only, and is not available on the Basic or Professional plans.
How do I record damage and waste in the accounts?
Through the stocktake screen. You set the location, the count date and the operation description, then choose the cost account the missing quantities will be charged to, such as a damaged goods account, and the revenue account for surplus quantities. The system displays the current quantity, the actual quantity and the difference, and generates the accounting effect on save. Note that choosing a revenue or expense account is reflected on the dashboard.
Can the count be entered from an Excel file instead of manually?
Yes. Qoyod supports importing a stocktake from an XLSX file in which each sheet represents a specific location. The condition is that the template columns and their labels are not modified, and that the actual quantity cell keeps a numeric rather than a text format. Common errors appear as clear messages, such as a serial number mismatch or a warehouse name mismatch.
My restaurant is a single small branch. Do I need all of this?
A single branch needs only three elements to start: a cost card for every item on the menu, a daily waste log, and a weekly count of high-value items. Those three give you a food cost percentage you can trust. The rest comes with expansion.
Practical takeaway
Food cost percentage is not a number you extract at month end. It is the outcome of daily decisions from the receiving door to the income statement. The difference between a restaurant that makes money and one that runs all year for nothing is usually three percentage points of food cost nobody can account for.
The order is deliberate: measurement before tools, the number before the system. A restaurant that knows its percentage and which station the deviation came from will get value from any tool it adds. One that buys a tool first ends up with more reports and the same decisions. The tool accelerates measurement, it does not replace it.
Start with what is simplest to measure. Write a cost card for your ten best-selling items, open a one-page daily waste log, and run a weekly count on five high-value items. Within a month you will hold both the actual and the theoretical rate, and the gap between them is your roadmap.

