Back to blog
MenuCosting

Your menu says £3.60. Your till says £3.31.

Ed O'Brien1 October 202610 min read
Overhead flat lay of a flat white and a slice of cake beside a printed monthly item sales report with the flat white line circled in pen, a calculator reading 3.31 and a small chalkboard price tag showing £3.60

It is the first of the month, so pull September's item sales and find the flat white. Divide net sales by the number sold, then put the VAT back on.

The board says £3.60. The till says you took £3.31 a cup. Take the VAT out of both and it is £3.00 against £2.76.

Nobody stole anything. Every penny of that gap is something you agreed to: the staff coffee, the stamp card, the remake, the coffee and cake deal. But your costing sheet knows none of it. It works out your margin as though every cup sold at £3.00.

The price you actually get is your achieved price, and finding it takes about twenty minutes.


Menu price is a list price

Your menu price is what a stranger pays for one item, no extras, on an ordinary day. Plenty of cups never sell that way:

  • Staff discounts. Half price, or free.
  • Loyalty redemptions. The free tenth coffee is a cup made and a sale of £0.
  • Meal deals. A coffee inside a deal carries a share of the deal price, not its own menu price.
  • Comps and remakes. Wrong milk, a spill, a regular's birthday.
  • Refunds. What most people call a void after payment. In Square, a void closes an unpaid ticket, so it never reaches your sales, while an itemised refund comes off that item's net sales in the month you give it.
  • Promo codes and open-price keys. A 10% off code from a leaflet, or a price keyed in by hand for a regular.

Cold food adds a quieter one: the VAT mix, covered below.


How to work it out

Use a full month. A week is too noisy.

  1. Export a month of item sales. In Square Dashboard, go to Reports, then Custom, then Custom item report: you want Quantity sold and Net sales. Square defines net sales as gross sales minus discounts and refunds, with VAT on its own line, so net sales is ex VAT. In SumUp POS Pro, the product sales export has Quantity and Sales excl Tax, which is after discounts.
  2. Divide net sales by quantity. That is your achieved price, ex VAT.
  3. Take the VAT out of your menu price. For a standard-rated item, divide by 1.2. For cold food sold both ways, the report blends two VAT rates, so use your eat-in and takeaway mix, as in the sandwich example below.
  4. Compare net with net.

Group the Custom item report by discount name and item name to see your staff discount line by line. Square Loyalty rewards go through as discounts, so check how yours are labelled. Comps have their own report under Reports, then Payments, then Comps, once comp and void is switched on in Square Dashboard. A discount or comp renamed halfway through the month shows up as two lines, so add them together first.


Worked example: 100 flat whites

Illustrative numbers throughout. A plain flat white at £3.60, no extras. Hot drinks are standard-rated whether drunk in or taken away under HMRC's VAT Notice 709/1, a UK-wide rule, so that is £3.00 net. Ingredients are 51p a cup.

Here is a month's mix, per 100 cups, worked to four decimal places and rounded at the end.

LineCupsNet per cupNet total
Full price85£3.00£255.00
Staff at 50%4£1.50£6.00
Loyalty free cup4£0.00£0.00
Remake or comp, rung at £0.001£0.00£0.00
In a coffee and cake deal6£2.5352£15.21
Total100£276.21

Two lines need working.

Staff at 50%. The barista pays £1.80. VAT is due on the money staff actually pay (Value Added Tax Act 1994, Schedule 6, paragraph 10), so it is 1.80 ÷ 6 = 30p, leaving £1.50.

The deal. Coffee and cake for £6.00, eaten in. Cake on its own is £3.50, so the pair is £7.10 at menu prices. Split the deal by menu-price share, the method in the lunch deal VAT split:

  • Flat white share: 3.60 ÷ 7.10 = 50.7042%
  • 50.7042% of £6.00 = £3.0423 inc VAT
  • The whole deal nets £6.00 ÷ 1.2 = £5.00, and 50.7042% of £5.00 = £2.5352 net

Eaten in, both items are 20%, so the split moves price between them but not VAT.

Per cup, £276.21 ÷ 100 = £2.7621 net. Against £3.00, that is 23.79p a cup, 7.93% below menu.

Put the VAT back on to compare with the board: £2.7621 x 1.2 = £3.31. That is also what customers handed over at the till, on average.

Check it the other way: 85 cups at £3.60, four at £1.80 and six at £3.0423 come to £331.45 for 100 cups.

Which leak is biggest

Each line is cups x (£3.00 minus what they netted).

CauseLost per 100 cupsShare
Loyalty, 4 x £3.00£12.0050%
Staff, 4 x £1.50£6.0025%
Remake or comp, 1 x £3.00£3.0013%
Deal, 6 x 46.48p£2.7912%
Total£23.79100%

Loyalty is half the gap here. Whether the stamp card earns that back in extra visits is a separate sum, the one a proper loyalty review sets out to answer.


Cost your margin at the achieved price

Now put both prices through the same 51p cost and compare gross profit (GP).

Net per cupGP per cupGP%
At menu price£3.00£2.4983.0%
At achieved price£2.7621£2.2581.5%

The working: (3.00 - 0.51) ÷ 3.00 = 83.0%, and (2.7621 - 0.51) ÷ 2.7621 = 81.5%.

A drop of 1.5 points in GP% looks like nothing. But GP per cup falls from £2.49 to £2.25, which is 9.6%, because the whole gap comes off profit. The beans and milk cost 51p whatever the customer paid.

At 600 cups a week, about 100 a day over six days: 6 x £23.79 = £142.74 a week of gross profit, ex VAT, or £7,422 a year over 52 weeks.

None of it is necessarily wrong. The staff drink and the stamp card are choices, often good ones. The mistake is judging margin as though they did not exist.

To run your own numbers, put your achieved price into the menu profit calculator instead of your menu price: here, £3.31 at 20% VAT with a 51p cost per portion. MenuBrik, coming soon, pairs your POS data with your CostingBrik recipe costs to give a live margin per menu item.


One sandwich, two net prices

Cold food has a second gap, even when every sandwich sells at full price. Under Notice 709/1, cold takeaway food is zero-rated unless it is always standard-rated, like crisps or sweets, and food supplied for eating on your premises is standard-rated. Same rules across the UK, same £6.50 on the board, two different nets.

Illustrative: a cold sandwich at £6.50, costing £1.95 to make.

MixNet per sandwichGP per sandwichGP%
All takeaway, 0%£6.50£4.5570.0%
All eat-in, 20%£5.4167£3.4764.0%
60% takeaway, 40% eat-in£6.0667£4.1267.9%
40% takeaway, 60% eat-in£5.85£3.9066.7%

Eaten in, 6.50 ÷ 1.2 = £5.4167, so £1.08, or 16.7% of the price, goes to HMRC: the eat-in penalty that the four VAT buckets warn about. The 60/40 mix is (0.6 x £6.50) + (0.4 x £5.4167) = £3.90 + £2.1667 = £6.0667.

A wet week that tips the mix from 60/40 to 40/60 costs 21.7p a sandwich, or £32.50 a week at 150 sandwiches. A costing sheet that treats £6.50 as the net price overstates your turnover by 43.3p a sandwich at the 60/40 mix, 6.7% of the price: £65 a week.


What makes the number lie

  • Items that never get rung through. If the four loyalty cups and the remake go unrecorded, the report shows 95 cups and £276.21: £2.9075 net, or £3.49 with VAT. The price looks better, but five cups, £2.55 of beans and milk, went out with nothing to show for them. Ring free drinks, remakes and loyalty cups as the item itself, comped or at 100% discount, rather than on a separate £0 staff button, then check your export counts them.
  • Deal buttons. Depending on how the deal is built, the flat white shows at a reduced price or vanishes inside one deal button.
  • Misc and open keys. They hide the unit and the price. Under 1% of net sales is fine, 1-3% needs a look, and over 3% means your sales data cannot be trusted.
  • Modifiers. Oat milk, syrups and extra shots push the other way. Square's gross sales include modifiers, so a heavily modified drink can achieve more than its menu price and hide a discount leak underneath. Compare against base price plus your average extras, from the modifier sales report.
  • SumUp's Gross Margin column. SumUp defines it as Sales incl Tax minus Costs excl Tax, so VAT inflates it. Use Net Margin, Sales excl Tax minus Costs excl Tax, instead.

This week

  1. Export September's item sales and pick your top five items.
  2. Divide net sales by units sold for each one.
  3. Take the VAT out of each menu price and set the two side by side, using your eat-in and takeaway mix for cold food.
  4. Group your biggest seller by discount name, or check your till's discount report, to find its largest leak.
  5. Re-cost its margin at the achieved price, and decide whether each leak is one you meant.

The menu price is what you ask. The achieved price is what you get. Cost your margin on the second one.


Ed O'Brien has run Hunters Cake Company for 17 years across cafés in Witney, Burford, and a bakery in Carterton, Oxfordshire. He's building Brikly - modular tools that give independent café owners the same data the big chains have, without the big chain price tag.

Your spreadsheet was right the day you built it.

CostingBrik keeps it right every time a supplier price moves. Scan an invoice, build a recipe, see your true margin.

Card required to start, no charge for 30 days, cancel anytime. Then £39/month for your first location, £19/month per additional.

Start your 30-day free trial

No spam. Cancel anytime, your data exports as CSV.