Written by: JJ Tan, Founder, Jelly
Key Takeaways
- This tutorial walks through building a two-tab recipe costing spreadsheet in Excel or Google Sheets with live formulas, £ formatting, and VAT-correct food cost percentage.
- Key steps include setting up an Ingredients tab with pack-to-unit cost conversion, linking recipe cards via VLOOKUP or XLOOKUP, adjusting for yield and waste, and adding a Q factor for untracked sundries.
- Food cost percentage must be calculated on the VAT-exclusive selling price. Dividing by 1.2 removes the 20% UK VAT before the calculation and prevents understated costs.
- Common errors such as mixing units, ignoring yield, omitting the Q factor, or calculating against VAT-inclusive prices are addressed with specific fixes and formula examples.
- Jelly automates invoice scanning, live recipe re-costing, and supplier price alerts for kitchens that outgrow manual spreadsheets.
See How Jelly Automates Recipe Costing
Before You Begin: Tools, Data, And Ownership
Gather these items before you start:
- A supplier invoice or current price list
- A recipe with exact quantities in grams or millilitres
- A menu selling price
- Access to Excel or Google Sheets (this tutorial uses Excel syntax)
In a single-site kitchen, one person should own the recipe costing spreadsheet. That person usually enters invoices or updated vendor pricing. A chef or kitchen manager confirms yields and portions. Owners review exceptions. In multi-site operations, the finance manager often owns the master spreadsheet while chefs maintain individual recipe cards.
This build takes about 40 minutes once. It then becomes a recurring weekly task whenever a supplier invoice arrives. All figures are in pounds sterling. Selling prices are treated as VAT-exclusive for food cost percentage calculations, with UK VAT at 20% applied where relevant. For current HMRC guidance on which food and drink items attract standard-rate VAT versus zero-rating, check the HMRC VAT food and drink guidance directly, as under HMRC’s VAT rules food and drink liability differs by category: catering, hot takeaway, alcohol, confectionery, crisps and savoury snacks, ice cream and soft drinks are standard-rated, while most other food is zero-rated.
Talk To Jelly About Automating This
Why This Spreadsheet Is Worth 40 Minutes
A completed recipe costing spreadsheet gives immediate visibility of dish-level margins without waiting for monthly accountant reports. It shows which dishes are profitable and which are quietly losing money. That information otherwise arrives weeks after the period closes.
The operational benefits are direct: clear margins by dish, faster pricing decisions, concrete evidence for supplier negotiations, and a single source of truth for recipe costs. A practical UK benchmark for food cost percentage is approximately 28–35% of VAT-exclusive (net) food sales for most full-service operations. Within that range, casual dining typically runs 30–34%, pub food 28–33%, and fine dining 28–35%, with premium tasting-menu or Michelin-level establishments sometimes reaching 32–40%. Without a costed spreadsheet, you cannot see where any individual dish sits against that range.
Ingredient prices change weekly. A static spreadsheet gives a solid starting point rather than a permanent solution. It still beats guessing. The limits of Excel appear later in this tutorial.
Step 1: Set Up The Ingredients Tab
The Ingredients tab holds a master list of every ingredient with its unit cost. Open a new Excel workbook and rename Sheet 1 to Ingredients. Set up these columns:
- A = Ingredient
- B = Supplier Pack Size
- C = Pack Unit
- D = Pack Cost (£)
- E = Cost Per Unit (£)
Enter 10–15 ingredients for the steak and ale pie: diced beef, puff pastry, onions, mushrooms, ale, flour, butter, oil, seasoning, egg wash, beef stock, thyme, and garlic.
In column E, enter the formula =D2/C2 to calculate cost per unit, where D2 is the total cost and C2 is the unit quantity. Worked example: a 5 kg pack of diced beef costing £48.50 gives £9.70 per kg.
The goal is a cost per unit for every ingredient in a consistent unit of measure such as grams, millilitres, or each. Unit-of-measure mismatches are one of the costliest errors in recipe costing and restaurant inventory reporting. They cluster around dry goods and proteins. If the ingredient register records a cost per kg but the recipe card enters a quantity in grams without conversion, the line cost will be wrong by a factor of 1,000.
Step 2: Set Up The Recipe Card Tab
The Recipe Card tab calculates batch and portion costs for each dish. Rename Sheet 2 to Recipe Card. Set up these columns:
- A = Ingredient
- B = Quantity Used
- C = Unit
- D = Cost Per Unit (pulled from Ingredients)
- E = Line Cost (£)
Enter the steak and ale pie recipe with quantities for each ingredient. In column D, use a VLOOKUP to pull the cost per unit from the Ingredients tab:
=VLOOKUP(A2,Ingredients!A:E,5,FALSE)
This searches for the value in cell A2 in column A of the range A:E on the Ingredients sheet and returns the value from column E using an exact match. Column E holds the cost.
In modern Excel, XLOOKUP usually works better because it uses direct range references and copes with inserted columns more gracefully than VLOOKUP’s hardcoded column index.
=XLOOKUP(A2,Ingredients!A:A,Ingredients!E:E)
This searches column A of the Ingredients sheet for the value in cell A2 and returns the corresponding value from column E of that sheet, using an exact match by default.
VLOOKUP still works on older Excel versions. It remains compatible with every version of Excel since 1993, including Excel 2016, 2019, 2021, 2024, and Microsoft 365. XLOOKUP returns cleaner errors for the “value not found” case because its built-in if_not_found argument lets you display a custom message instead of the standard #N/A error. Other errors such as #REF! or #VALUE! still surface in XLOOKUP. Both functions require exact matches by default, so ingredient names must match exactly between tabs. Trailing spaces cause exact-match lookup errors in Excel. In case-sensitive contexts, inconsistent capitalisation also causes lookup errors, although standard VLOOKUP and MATCH are case-insensitive by default.
In column E, calculate the line cost with =B2*D2.
This multiplies the quantity in cell B2 by the cost per unit in cell D2. Each ingredient line now shows a cost that updates automatically when the Ingredients tab changes.
Step 3: Calculate Totals And Cost Per Portion
Below the ingredient lines, add a Total Recipe Cost row using =SUM(E2:E10). This adds the values in cells E2 through E10. Then add a Portions row and a Cost Per Portion row.
Cost per portion formula: =TotalRecipeCost/Portions
Worked example: a pie filling and pastry batch costing £18.60 that yields 6 portions gives £3.10 per portion. Menu pricing should hang off this single figure rather than the batch cost or any individual ingredient price.
Step 4: Convert Supplier Pack Sizes To Recipe Units
Supplier packs arrive in 5 kg bags while recipes call for 180 g portions. The spreadsheet must handle this mismatch instead of relying on mental arithmetic.
Standardise all units in the Ingredients tab to grams or millilitres. If a pack is listed in kilograms, convert it before calculating cost per gram:
=D2/(B2*1000)
This gives cost per gram. The line cost for 180 g of diced beef is 180 × cost_per_gram, provided that cost_per_gram is the yield-adjusted (usable) cost per gram rather than the raw as-purchased price.
Worked example: a 5 kg pack of diced beef at £48.50 gives £0.0097 per gram. A 180 g recipe quantity costs £1.75. The common mistake of mixing units without conversion can throw a result off by a factor of 1,000, 1,000,000, or more, depending on the dimensions involved, or by a sneaky 10–15% when the conversion is only half-wrong. Excel handles the arithmetic, so you do not have to.
Step 5: Add Yield And Waste
Purchased weight and usable weight differ. A yield percentage converts an as-purchased cost into an edible-portion cost by accounting for trimming, butchering, and cooking loss. Yield-adjusted cost per unit is calculated by dividing the total cost invested per unit (the as-purchased cost) by the yield, expressed as a fraction or percentage, at the end of the process. That figure belongs in recipe costing.
Add a Yield % column to the Ingredients tab. Adjust the cost per unit to reflect usable yield:
=CostPerUnit/YieldPercentage
This calculates the cost per good unit by dividing the cost per unit started by the yield expressed as a decimal. Scrapped units are paid for by the good units, and any scrap recovery value is credited back.
Worked example: diced beef at £9.70/kg with a 90% usable yield after trimming gives an effective cost of £10.78/kg. A whole chicken yielding 70% usable meat (raw meat with skin) costs about 1.43 times the as-purchased price per usable kilo, so it costs materially more per usable kilo than the purchase price suggests. On a meat-only basis the yield is lower (about 58%), which raises the effective cost further.
For cooked proteins, trim yield and cooking yield must be multiplied, not added. Using USDA cooking-yield data, a beef cut that trims to 78% of as-purchased weight and then cooks to 80% of trimmed weight has an overall yield of 62.4%, calculated as (1 − trim loss) × (1 − cooking loss).
Measure your own yields. A yield from a book is just a starting point. It changes with the skill of the person trimming, the size of the product, and its condition. Weigh the ingredient as purchased, trimmed, and cooked. Average across three to five batches.
Step 6: Include The Q Factor
What The Q Factor Covers
The Q factor is a small allowance added on top of the measured ingredient lines for frying oil, salt, and garnish that are not weighed on every plate. It is commonly applied at 5–10% of raw plate cost to cover salt, oil, garnishes, condiments, bread service, and small kitchen waste. Omitting it entirely creates a larger error than estimating it roughly.
The Q factor should not hide a sauce or another substantial component. A sauce, marinade, or dough is itself a recipe and should be costed once as a sub-recipe and linked into every dish that uses it. If a sauce sits inside the Q factor, a change in butter price never reaches the dishes that use it.
Add a Q factor line to the Recipe Card below the ingredient subtotal:
=TotalRecipeCost*(1+QFactor)
Worked example: an £18.60 ingredient subtotal with a 7% Q factor adds £1.30, giving a total recipe cost of £19.90. Agree the Q factor percentage with the head chef. It should reflect what actually goes unweighed in that kitchen.
Step 7: Calculate Food Cost Percentage With UK VAT
The Recipe Card now needs selling price and food cost percentage. Add a Selling Price (ex VAT) row and a Food Cost % row.
Food cost percentage formula: =(CostPerPortion / SellingPriceExVAT) × 100, where the selling price excludes VAT.
Format the result as a percentage. UK menu prices for food and drink supplied in the course of catering, such as meals eaten on a restaurant’s premises, include 20% VAT, although cold takeaway food is generally zero-rated and a temporary reduced rate of 5% applies to certain children’s meals from 25 June to 1 September 2026. VAT is not revenue, so it must be excluded before calculating food cost percentage. A dish priced at £16.80 on the menu has an ex-VAT price of £14.00 (£16.80 ÷ 1.2). Calculating food cost against the VAT-inclusive menu price of £16.80 instead of the ex-VAT price of £14.00 understates the true food cost percentage by about a sixth (roughly 14–17% in relative terms, or 5 percentage points in absolute terms), as shown by a £4.20 ingredient cost giving 30% on £14.00 but only 25% on £16.80.
Worked example: a £3.10 portion cost on a £14.00 ex-VAT selling price gives a 22.1% food cost. As mentioned earlier, the 28–35% benchmark for UK full-service operations is a directional management guide. Below 28% may indicate aggressive pricing or under-portioning. Above 35% can signal waste, over-ordering, or outdated prices.
Step 8: Use This Formula Reference Table
The table below summarises every formula used in this tutorial. Copy them directly into your spreadsheet.
| Formula Purpose | Excel Formula | Example |
|---|---|---|
| Cost per unit from pack | =D2/C2 |
£48.50 ÷ 5 kg = £9.70/kg |
| Cost per gram (kg pack) | =D2/(B2*1000) |
£48.50 ÷ 5,000 g = £0.0097/g |
| Pull cost from Ingredients (VLOOKUP) | =VLOOKUP(A2,'Client Details'!A:F,3,FALSE) |
Looks up A2 in the first column of A:F on the ‘Client Details’ sheet and returns the value from the third column |
| Pull cost from Ingredients (XLOOKUP) | =XLOOKUP(A2,Ingredients!A:A,Ingredients!E:E) |
Searches column A for A2 and returns the matching value from column E |
| Line cost | =B2*D2 |
180 g × £0.0097 = £1.75 |
| Total recipe cost | =SUM(E2:E6) |
Sum of ingredient line costs in rows 2–6 |
| Yield-adjusted cost per unit | =CostPerUnit/YieldPercentage |
£9.70 ÷ 0.90 = £10.78/kg |
| Total cost including Q factor | =TotalRecipeCost*(1+QFactor) |
£18.60 × 1.07 = £19.90 |
| Food cost percentage | =(CostPerPortion/SellingPriceExVAT)*100 |
£3.10 ÷ £14.00 × 100 = 22.1% |
Get A Demo Of Jelly’s Invoice Scanning
Common Mistakes And How To Fix Them
- Mixing units without conversion. Mixing units without conversion is a common error. Entering a recipe quantity in grams against a cost per kilogram throws the line cost off by a factor of 1,000. To avoid this, standardise everything to grams or millilitres in the Ingredients tab before building recipe cards.
- Not updating the Ingredients tab when supplier prices change. VLOOKUP or XLOOKUP pulls data from the range specified in the formula’s table_array or lookup and return array arguments, which can be a range on any tab (such as Products!A2:D6), not only a specific tab like Ingredients. If that tab is stale, every recipe card is stale. Update it on invoice day.
- Duplicating ingredient lists across tabs. Typing ingredient costs directly into recipe cards as static numbers means every price change requires manual updates across every recipe. In practice those updates do not happen consistently, and the model silently drifts from reality over months rather than weeks. A recipe not formally reviewed in a year has probably already drifted, and a January recipe card can be lying by April. Use one master Ingredients tab and link everything to it.
- Ignoring yield and waste. Yield loss and cook shrinkage can inflate true plate cost by roughly 15–45%, with a whole beef tenderloin yielding about 70% after trimming and a 6 oz steak costing $9.00 at AP price versus $12.86 at EP price, a 30% gap. Costing recipes at as-purchased (AP) weight without converting to edible-portion (EP) cost via yield percentage systematically understates true food costs for ingredients that lose weight to trim, peel or cooking. Typical untrimmed-cost spec sheets run 15–20% below real food cost.
- Omitting the Q factor. Frying oil, salt, and garnish are real costs. A recipe that ignores frying oil, salt and garnish understates the true plate cost on every cover, since these small-dollar items collectively add roughly 3–8% to real plate costs.
- Calculating food cost percentage on VAT-inclusive selling prices. Divide the menu price by the appropriate tax factor before calculating food cost percentage. In Australia, where menu prices are quoted GST-inclusive at 10%, divide by 1.1 (not 1.2), since GST passes through to the ATO and is not yours. Skipping the VAT exclusion step when calculating food cost percentages makes them look artificially low, so dishes appear cheaper to produce than they actually are.
- VLOOKUP errors from trailing spaces or inconsistent ingredient names. Trailing spaces or inconsistent ingredient names frequently cause lookup errors. If “Diced Beef” in the Ingredients tab is entered as “diced beef ” (with a trailing space) in the Recipe Card, an exact-match VLOOKUP (fourth argument 0 or FALSE) returns the #N/A error, which can be resolved by wrapping the lookup value in TRIM. Use consistent naming, and add a unique, deterministic ingredient ID column (such as a BLAKE3-derived UUID) as a more reliable structural lookup key for joins and foreign keys, while keeping the ingredient name as the logical identity and primary key.
See Jelly Catch These Errors Automatically
How To Know Your Spreadsheet Is Working
A correctly built recipe costing spreadsheet links a master Ingredients tab, holding each ingredient’s pack cost under a unique SKU, to the recipe sheets. Changing one ingredient price in the Ingredients tab should automatically recalculate the cost per portion and food cost percentage of every affected dish. This automatic recalculation is a key feature of a properly linked design. It also requires a single master ingredient list with consistent naming, yield factors, and version control. If changing one ingredient price does not update every affected dish cost and food cost percentage automatically, the recipe cards may not be properly linked to the master list. The recommended first step is to run Verify Item Setup and then Update Recipe Costs, as other issues such as incorrect unit-of-measure mapping or active item locations can also prevent automatic updates.
These indicators show that the spreadsheet is functioning correctly:
- With the Masterestaurant AI method, a dish that previously took 3–6 hours to cost by hand (or 18–25 minutes to create as a recipe sheet with AI) now updates in seconds when a supplier price changes, because a batch-update propagates any price change in seconds to all recipes using that ingredient.
- Accurate dish margins visible at a glance, without waiting for a monthly accountant report.
- Automated invoice-parsing tools such as Culinary Cloud can spot a supplier price increase within the same week it appears on an invoice, because every parsed invoice is checked against the most recent prior unit price for the same product and supplier and an alert is created the moment a price change is detected, with no threshold or batch delay.
- The FoodTruckEmpire Menu Recipe Upscale and Food Costing Spreadsheet provides confidence in menu pricing decisions by taking every ingredient used in a dish into account and calculating total recipe cost, cost per serving, and a recommended retail price, based on the ingredient prices the user enters.
The gap between theoretical and actual food cost is where a business can leak money through unaccounted waste, delivery or receiving shortfalls, portion drift, or outdated recipe costs. The gap can also reflect data problems such as inaccurate inventory counts, invoice timing, or POS mapping errors rather than a real operational loss. A working food cost spreadsheet with three linked tabs, a recipe costing tab, a weekly inventory tab, and a variance tab comparing theoretical against actual food cost, makes the gap between theoretical and actual food cost visible.
Where Excel Stops Working And What Comes Next
Excel is a strong starting point for recipe costing for small food businesses such as UK caterers running 1–2 events per week with a stable core menu of around 10–15 recipes, stable supplier prices, no sub-recipes, and one person managing the file. It becomes inadequate as recipes, price changes, or collaborators multiply. It is also an honest starting point. A spreadsheet built today is only accurate today if it carries a generated-at timestamp and a defined maximum age. Once that age is exceeded, it should be rebuilt or refused. The practical question is how long it stays accurate.
Once the core spreadsheet works, these adjacent tasks add more control:
- A sales mix analysis. Export the item-level sales report from your POS, add each item’s ingredient cost, compute units × (price − cost) per item, and rank by total contribution to see which dishes actually sell and what each earns. A static spreadsheet remains accurate only for the month it was built and drifts as ingredient prices and menus change.
- A separate delivery menu whose food cost calculation factors in third-party commission. Price each item on the net payout that actually reaches the restaurant’s bank account rather than the revenue shown on the platform dashboard. Set prices item by item rather than applying one blanket uplift across the menu.
- Setting up a weekly price-check routine tied to invoice arrival.
Microsoft’s documented Excel limits are numerous and vary by platform and environment. The worksheet grid is fixed at 1,048,576 rows by 16,384 columns and cells hold up to 32,767 characters. Workbook and Data Model limits are memory-bound and differ between 32-bit and 64-bit desktop Excel and Excel for the web. A spreadsheet recipe cost is static: it stores the ingredient cost typed at creation, not the supplier’s current price. When a supplier raises mince by 15%, the real cost changes immediately. The spreadsheet does not. In spreadsheet-based recipe costing, price changes do not automatically propagate to every recipe containing the affected ingredient. Because the spreadsheet does not know which recipes use that ingredient, each affected recipe must be opened and updated manually, whereas dedicated recipe costing software propagates such changes automatically. For a medium-sized restaurant with 45 active recipes, 120 product lines and 24 lines whose price changes each month (20%), assuming 4 sheets are affected per change, that can mean 96 manual updates per month before accounting for multiple sites.
For a medium-sized restaurant with around 45 recipes and 120 product lines, manual spreadsheet price updates take roughly 3 hours 12 minutes a month, almost 40 hours a year. The burden grows with scale and the frequency of ingredient price changes rather than a fixed recipe count. A shared spreadsheet holding location-level pricing becomes a version-control problem when each location is given its own copied tab or file. That pattern causes template drift and conflicting versions. The scalable alternative is one normalised table keyed by a stable Location ID with a single controlled ingestion process and a filtered dashboard. A costing sheet whose inputs (such as fabric consumption, labour minutes and overhead absorption, or ingredient prices) are around six months or more out of date is systematically optimistic and no longer reflects actual cost, though the precise staleness threshold varies by input and business.
This is where Jelly fits naturally. For growing restaurants, pubs, and hotels that have outgrown manual spreadsheets, Jelly automates the flow: invoice scanning reads every line of supplier invoices using AI plus human checking with invoices processed overnight. Recipes are re-costed from invoice prices to keep dish margins live. The Supplier price alerts feature sends daily notifications when a supplier changes a price and gives chefs the concrete evidence needed to negotiate credits or switch suppliers. Jelly can be set up and started in minutes, without needing a week of onboarding. Pricing is a flat £129 per location per month with unlimited users, invoices (fair usage) and support, and no per-user or per-feature charges, although a one-time setup fee per site applies and POS integration may carry a pass-on fee from £15 per location per month. Jelly’s API defines four native POS integration types, EPOS Now, Lightspeed, Square and Toast, and integrations with these systems are documented across Jelly’s own materials and partner listings. Jelly pulls item-level POS sales data into its Sales Mix and Flash Reports, combining each dish sold with its live recipe cost to show which dishes are the biggest profit drivers and to provide daily, weekly or monthly gross-profit visibility per dish. Its focus is profitability rather than a full popularity-versus-contribution menu engineering matrix.
For more on managing costs when ingredient prices move frequently, see Recipe Costing With Fluctuating Ingredient Prices. For a comparison of recipe costing software options, see Recipe Costing Software For Restaurants: How To Choose. The three main approaches, manual spreadsheets, hybrid setups, and dedicated software, differ most on cost, maintenance effort, and scalability. Spreadsheets minimise subscription spend but demand manual upkeep. Hybrid setups add tools such as invoice scanners while keeping Excel at the centre. Dedicated software such as Jelly centralises data, automates updates, and scales cleanly across sites, at the cost of a monthly fee.
Frequently Asked Questions
What Is The Q Factor In Recipe Costing?
As covered in Step 6, the Q factor is a 5–10% allowance for untracked items like oil and garnish. It sits on top of measured ingredient lines and covers the small, difficult-to-measure items that genuinely go untracked in a working kitchen. It should not be used to hide sub-recipes such as sauces or marinades.
What Does The Total Recipe Cost Include?
Total recipe cost includes every measured ingredient line, adjusted for yield, plus the Q factor for untracked sundries. Packaging such as boxes, bags, and labels should be kept separate and excluded from food cost percentage calculations. Sub-recipes such as sauces and stocks should be costed once as standalone recipes, expressed as a cost per 100 ml or per 100 g, and then linked into every parent dish that uses them as a single priced line item.
How Do I Convert Supplier Pack Sizes To Recipe Units In Excel?
Standardise everything to grams or millilitres in the Ingredients tab, then divide the pack cost by the pack size converted to that unit. A 5 kg pack is 5,000 g, so the formula =D2/(B2*1000) gives the cost per gram. Multiply that by the recipe quantity in grams to get the line cost. This removes mental arithmetic and ensures the spreadsheet handles the conversion consistently every time.
Should I Use VLOOKUP Or XLOOKUP?
XLOOKUP is the better choice in modern Excel. It handles inserted columns without breaking, returns cleaner error messages, and does not require the lookup key to be in the first column of the selected range. VLOOKUP still works on older Excel versions that are common in kitchens, so it remains a valid option where XLOOKUP is unavailable. Either formula requires that ingredient names match exactly between the Ingredients tab and the Recipe Card. Trailing spaces, inconsistent capitalisation, or slight spelling differences will cause lookup errors. Using a unique ingredient ID as the lookup key, rather than the ingredient name, is a more robust approach for larger spreadsheets.
How Do I Account For VAT In Food Cost Percentage?
Always calculate food cost percentage on the selling price excluding VAT. UK menu prices include 20% VAT by law, so divide the menu price by 1.2 to get the ex-VAT price before applying the formula. As shown in Step 7, dividing the menu price by 1.2 gives the ex-VAT price. For example, £16.80 ÷ 1.2 = £14.00. Calculating food cost against the VAT-inclusive price understates the true food cost percentage and leads to underpriced menus. VAT collected from customers is not operating revenue and must be removed before any margin calculation.
How Often Should I Update My Recipe Costing Spreadsheet?
Update at least monthly and immediately after any significant supplier price change. With current food price volatility in the UK, many operators review weekly. A spreadsheet that has not been refreshed in six months is likely no longer accurate. Protein, dairy, and oil prices in particular can shift materially within a quarter. The practical discipline is to update the Ingredients tab on invoice day. Five minutes of data entry re-prices the entire menu automatically if the spreadsheet is correctly linked.
When Does Excel Stop Working For Recipe Costing?
Excel becomes unmanageable under three conditions. The first is when ingredient prices move weekly and manual updates cannot keep pace. The second is when the menu passes roughly 30–40 recipes and cross-referencing ingredients, sub-recipes, and yield adjustments across multiple tabs becomes a part-time job. The third is when the operation runs more than one site, because a shared spreadsheet cannot hold location-level pricing without becoming a version-control problem. At that point, the manual re-keying a spreadsheet demands is exactly the work that never gets done, and the cost of it not getting done is a food cost percentage only discovered after the period has closed.
Conclusion: Build The Spreadsheet, Then Automate It
The core two-tab architecture in this tutorial, a linked Ingredients tab and a Recipe Card tab, gives any UK kitchen immediate visibility of dish-level margins. The key formulas are =D2/B2 for cost per unit, =D2/(B2*1000) for pack-to-gram conversion, VLOOKUP or XLOOKUP to link tabs, =CostPerUnit/YieldPercentage for yield adjustment, =TotalRecipeCost*(1+QFactor) to include sundries, and =CostPerPortion/SellingPriceExVAT for a VAT-correct food cost percentage. As you scale, you can add sub-recipe tabs and variance tracking on top of this core.
Built correctly, this spreadsheet delivers clarity on dish margins, control over food costs, and a repeatable process that survives menu changes. It gives a strong and honest starting point. Growing kitchens with weekly price changes, menus above 40 recipes, or more than one site will eventually find that the spreadsheet demands more maintenance than it saves. At that point, Jelly becomes the simplest way to automate invoice scanning, live dish costing, and real-time margin visibility without rebuilding the logic from scratch.
For further reading on related topics, see How To Build A Recipe Costing Spreadsheet In Excel and How To Create A Food Cost Spreadsheet For UK Kitchens.



