GP% and Selling Prices
Gross Profit percentage (GP%) is the single most important number in hospitality finance. It tells you how much of every pound of revenue is left after you pay for the ingredients. CostingBrik makes it easy to set, track, and protect your GP% across your entire menu.
What GP% means
GP% measures the proportion of revenue that remains after deducting the cost of the ingredients (also called Cost of Goods Sold, or COGS).
GP% = ((Selling Price - Food Cost) / Selling Price) x 100
Example:
- You sell a dish for £12.00 without VAT (£14.40 on the menu with 20% VAT).
- The ingredients cost £3.60.
- GP% = ((£12.00 - £3.60) / £12.00) x 100 = 70%
This means 70p of every pound spent on that dish is gross profit. GP% is measured after ingredient and consumable cost and before labour, which is the industry standard: the 70p is what is left to cover labour, rent, utilities, and your own margin. If you record prep time on your recipes, Brikly shows an After labour figure directly beneath the GP% and a Contribution after Labour card on the recipe. See Labour.
GP% and VAT
The selling price you type on a recipe is the price your customer pays, including VAT. The recipe form shows the VAT it includes under the price, and the Net Selling Price beside it is the same price without VAT.
Brikly takes the VAT off before it works out GP%, so every GP% in Brikly is on the price without VAT, the same figure your accountant uses. In the formulas on this page, Selling Price means that net price.
Example: a latte sold at £3.60 including 20% VAT has a net price of £3.60 / 1.20 = £3.00. With ingredients and packaging at £0.90, GP% = ((£3.00 - £0.90) / £3.00) x 100 = 70%.
A zero-rated or exempt recipe has no VAT to take off, so its net price is the price you typed. For takeaway pricing, see Dine-in vs To-Go Costing.
When there is no GP figure
- A recipe with no selling price, or with no cost (nothing on it is priced yet, or everything on it is free), has no GP figure. Brikly shows a dash rather than 0% or 100% on the recipe list and the recipe page. In the recipe editor, the Gross Profit Percentage card appears once you enter a price and shows a dash until the recipe has a cost.
- A dish that costs more than its price without VAT is losing money, and Brikly shows its real negative GP in red, for example -2.2%.
- If some lines on a recipe could not be costed, its GP% is marked Incomplete. The cost covers only the priced lines, so the GP% reads higher than it really is until you price or fix those lines.
GP% is calculated on the selling price. Markup is calculated on the cost. They are not the same thing.
- A dish costing £3.00 sold for £10.00 has a 70% GP% but a 233% markup.
- A dish with a 100% markup (cost £3.00, sold for £6.00) only has a 50% GP%.
The hospitality industry standard is to work in GP%, not markup. CostingBrik uses GP% throughout.
Setting target GP%
Margin targets are set per recipe category, on the Category Management page. Each category has two figures:
- Target Margin - where you are comfortable. Brikly uses it to colour-code the category's recipes. A category you have not set uses 70%.
- Warning Margin - the point where a recipe is worth a closer look. A recipe whose GP% falls below it is flagged. A category you have not set uses 50%.
For example:
| Category | Target Margin |
|---|---|
| Starters | 70% |
| Mains | 68% |
| Desserts | 72% |
| Hot drinks | 80% |
| Cold drinks | 75% |
| Alcoholic drinks | 78% |
Every recipe in a category is measured against that category's figures. There is no separate target on each recipe.
Owners and admins set category margin targets; members and viewers see them without changing them.
Calculating selling price from cost and GP%
Work out a menu price for a target GP% in two steps. First, the net selling price (without VAT) you need:
Net Selling Price = Food Cost / (1 - (Target GP% / 100))
Then add VAT to get the menu price. This is the figure you type into Selling Price on the recipe:
Menu Price = Net Selling Price x (1 + VAT rate)
Examples (with 20% VAT):
| Food cost | Target GP% | Net selling price (without VAT) | Menu price (with VAT) |
|---|---|---|---|
| £1.20 | 70% | £1.20 / 0.30 = £4.00 | £4.00 x 1.20 = £4.80 |
| £2.50 | 68% | £2.50 / 0.32 = £7.81 | £7.81 x 1.20 = £9.37 |
| £0.45 | 80% | £0.45 / 0.20 = £2.25 | £2.25 x 1.20 = £2.70 |
| £3.80 | 65% | £3.80 / 0.35 = £10.86 | £10.86 x 1.20 = £13.03 |
For a zero-rated or exempt recipe there is no VAT to add, so the menu price is the net selling price.
The formula gives £7.81 before VAT. With 20% VAT that is £9.37 on the menu, so you might price the dish at £9.50, which gives a GP% of 68.4%. Use the menu price with VAT as your floor and round up from there. Do not round the net figure and type it in as your selling price: entered as £8.00, Brikly takes the VAT off first (£6.67), and the GP% is only 62.5%.
Common GP% targets in hospitality
GP% targets vary by sector, but here are the widely accepted benchmarks in the UK and Ireland:
Food
| Type | Typical GP% range |
|---|---|
| Quick service / takeaway | 65-70% |
| Casual dining | 65-70% |
| Fine dining | 68-75% |
| Bakery / cafe | 65-72% |
| Pubs (food) | 60-68% |
Drinks
| Type | Typical GP% range |
|---|---|
| Coffee | 78-85% |
| Tea | 85-90% |
| Soft drinks | 75-80% |
| Draft beer | 70-75% |
| Bottled beer | 65-70% |
| Wine (by glass) | 75-80% |
| Wine (by bottle) | 65-72% |
| Cocktails | 75-82% |
Your target GP% should reflect your business model. A high-volume, low-service operation can work at 62-65% GP. A low-volume venue with high labour and rent costs might need 72%+ to be viable. Use these benchmarks as a starting point and adjust based on your actual overheads.
Note that labour sits below this line, not inside it: these benchmarks are all quoted before labour, and so is every GP% in Brikly. The figure to check a labour-heavy dish against is the contribution after labour, not the GP%.
How CostingBrik protects your GP%
Automatic monitoring
Every time an ingredient price updates, Brikly recalculates the GP% for every affected recipe. If any recipe drops below its category's Warning Margin, it is flagged on:
- The recipe list - with a warning indicator.
- The recipe page - a Below target note on the GP % card when the GP% is under the category's Warning Margin.
- The costing dashboard - in the "Below Target GP%" section.
- Alerts - if you have configured notifications.
Scenario modelling
Before changing a menu price or accepting a supplier price increase, you can model the impact:
- "What if this ingredient goes up 10%?" - see how it affects every recipe that uses it.
- "What selling price do I need to maintain 70% GP?" - get an instant answer.
- "What happens to my average GP% if I drop this dish to £9.95?" - see the margin impact.
Menu-level GP%
CostingBrik does not just track GP% per recipe - it can calculate a weighted average GP% across your menu. This takes into account how many of each dish you sell (from POS data or manual volume estimates - see Weekly Sales) and tells you your true blended margin.
This is critical because a menu full of 70% GP dishes is only delivering 70% GP if every dish sells equally. In reality, your bestseller might be a 62% GP burger while your high-margin salads barely sell. The weighted average shows you the real picture.
Quick reference: GP% formula card
In this card, Net selling means the selling price without VAT.
| You know... | You want... | Formula |
|---|---|---|
| Cost + Net selling price | GP% | ((Net selling - Cost) / Net selling) x 100 |
| Cost + Target GP% | Net selling price | Cost / (1 - GP%/100) |
| Net selling price + VAT rate | Menu price (with VAT) | Net selling x (1 + VAT rate) |
| Menu price (with VAT) + VAT rate | Net selling price | Menu price / (1 + VAT rate) |
| Net selling price + Target GP% | Maximum food cost | Net selling x (1 - GP%/100) |