Your milk bill: the second-biggest ingredient line nobody negotiates

You know your bean price to the penny. £24 a kilo, 18g dose, roughly 43p a double. You've had the roaster in, talked volume and drop frequency, and probably pushed back on a price rise at least once.
Now tell me your milk price per litre.
Most operators can't. Not through carelessness. Milk arrives from whichever dairy was already delivering when you took the place on, and it has kept arriving ever since. Nobody negotiated it. Nobody has looked at the per-litre figure in three years.
Which is odd, because on a coffee-led site milk is usually your number two ingredient spend, right behind the beans and comfortably ahead of everything else.
Milk is bigger than you think
Take a reasonably busy independent doing 800 milk drinks a week. That's around 115 a day: a solid coffee bar, not a monster.
Across flat whites, lattes, cappuccinos and iced drinks, call it 200ml of milk per drink as a blended average.
- 800 drinks x 200ml = 160 litres a week
- 160 litres x 52 = roughly 8,300 litres a year
Eight thousand litres. From one site. And that's before the milk in your porridge, your bakes, your milkshakes and your staff drinks.
Now price it two ways. Say you're paying £1.28 a litre and the dairy down the road would do you £1.15 for the same volume.
- 8,300 litres x £1.28 = £10,624
- 8,300 litres x £1.15 = £9,545
That's £1,079 a year of difference on a 13p per litre gap. Thirteen pence: the sort of number you'd never notice on an invoice line, and roughly what a decent grinder costs.
Two honest caveats. That 8,300 litres is milk bought, not milk poured: the milk that goes down the drain on a busy bar is usually another 10 to 15% on top. And 13p a litre is only 2.6p on a flat white, invisible next to the full cost stack behind a £4 flat white. Per cup it's nothing. That's exactly why it hides.
Where cafés actually buy milk
Four channels, and most cafés use two or three of them without ever having decided to. The general trade-offs between delivered wholesale, cash and carry and the supermarket apply here too, but milk has its own quirks worth naming.
Local dairy delivery
Often five or six drops a week, sometimes daily. Roughly £1.10 to £1.35 a litre delivered in 2026, depending on your volume and how far the van comes.
The service is the point. Frequent drops mean less fridge space tied up and less short-dated stock, and you get a human on the phone when something goes wrong. The catch is that local dairies rarely get benchmarked. They're pleasant, they're reliable, and the price drifts.
National foodservice wholesaler
The same van that brings your dry goods brings the milk. Typically £1.05 to £1.30 a litre, and often the keenest headline price if you're doing real volume.
The trade-off is drop days. If your wholesaler comes Tuesday and Friday, you're holding four days of milk in a fridge with nowhere to put it and eating the short-date risk yourself. Add carriage or fuel surcharges and the delivered per-litre creeps back up.
Cash and carry
Shelf prices on multipacks often land around £1.00 to £1.20 a litre, which looks like a win.
It usually isn't, once you count your own time. Milk is heavy, bulky and short-dated, which makes it the worst thing in the building to fetch yourself. Grabbing milk on a run you were making anyway is fine. Planning your supply around a weekly trip is not.
The supermarket, in a pinch
Here's the awkward one nobody says out loud. Supermarkets treat milk as a footfall driver, so a four-pint bottle at retail can genuinely work out cheaper per litre than your trade price.
Before you cancel the dairy, though: most stores cap how many bottles you can buy, four-pint bottles eat fridge space and pour badly on a bar, there's no account and no consistency of supply, and you're sending someone out mid-service.
Treat the supermarket price as a lever, not a plan. If retail is meaningfully undercutting your dairy across 8,000 litres a year, that's a conversation to have with your account manager, not a habit to build.
Oat and the rest: a premium that grows with your mix
Barista-grade oat typically runs £1.60 to £2.20 a litre at wholesale in 2026. Soy sits a little under, almond broadly in the oat range, coconut similar.
The per-litre premium is the easy bit. What operators miss is that it compounds as the mix shifts, and the mix has been shifting every year.
Say your 8,300 litres was 15% plant milk two years ago and is 30% now. That's an extra 1,250 litres a year moving from £1.25 dairy to £1.90 oat.
- 1,250 litres x 65p premium = £812 a year
Nobody sent you an invoice for that. No price went up. Your customers just ordered differently.
This is why the oat milk surcharge question is a costing decision rather than a philosophy debate, and why plant milk deserves the same negotiation attention as dairy. Most dairies now carry the major oat brands. If you're getting through 2,500 litres of oat a year, put it in the same conversation rather than topping up at the cash and carry because it never occurred to you to ask.
Creep arrives in 2p steps
Milk pricing moves with farmgate costs, and it moves often. That's fair enough. The problem is how it reaches you.
You don't get a letter announcing a 10% rise. You get a case price that goes from £14.40 to £14.64 in March, then £14.88 in June, then £15.12 in September. Nobody flags it. Nobody queries it. On a case of 6 x 2L that's a move from £1.20 to £1.26 a litre across a year, in 2p steps.
At 8,300 litres, each 2p step is £166 a year. All three together is £498, and you'd struggle to name a single week when it happened.
Here's the discipline, and it's genuinely five minutes a month:
- Normalise every milk line to cost per litre. A case of 6 x 2L at £14.40 is 12 litres at £1.20. A case of 12 x 1L at £13.20 is £1.10. You cannot compare case prices, only litre prices.
- Include the extras. Carriage, fuel surcharge and bottle deposits all belong in the figure. A £1.15 milk with a £4 delivery charge on a 60-litre drop is really £1.22.
- Keep a twelve-month line. One row per month, one number: your delivered cost per litre. When it moves, you see it that month rather than the following spring.
- Log dairy and each plant milk separately. Your blended milk cost can rise while dairy stays flat, purely from mix. Knowing which is which tells you whether to ring the supplier or revisit your pricing.
How to actually negotiate with a dairy
Dairies expect this conversation. Almost nobody has it with them, which is precisely why it works. You're not haggling, you're giving them reasons to serve you more cheaply.
- Bring your annual volume, not your weekly order. "About 160 litres a week" is a small customer. "Just over 8,000 litres a year, plus 2,500 litres of oat" is an account worth pricing properly. Same business, completely different conversation.
- Trade delivery days for price. Every drop costs them money. If you can hold stock and take three instead of six, ask what that's worth. Sometimes it's 3p a litre, sometimes nothing, but you'll never find out without asking.
- Offer contract length. A twelve-month commitment is worth something to a dairy planning routes and volumes. Ask for a fixed price or a capped review in exchange.
- Ask how price reviews work. The best answer is a stated schedule tied to a published market index, with notice. The worst is "we let you know". Getting that written down is often worth more than the pence.
- Consolidate lines. Milk, cream, butter, yoghurt and plant milks on one account and one drop beats milk alone.
- If you run more than one site, buy as one. Three cafés buying separately at 8,000 litres each are a far weaker customer than one account buying 24,000.
When to switch, and how to test properly
Sometimes the answer is a new supplier. Just don't switch on price alone, because milk is the one ingredient where cheapest can genuinely cost you.
Protein, fat, homogenisation and how fresh it is on arrival all change how milk behaves under a steam wand. Some cheaper milks won't hold microfoam, split on a longer steam, or taste thin in a flat white where there's nowhere to hide. Save 8p a litre and lose your texture and you've damaged the thing your regulars come for.
So test it like you'd test a coffee:
- Get a case, not a bottle. One bottle tells you nothing about consistency.
- Pour it during your busiest hour, not at 3pm on a quiet Tuesday. Real pressure, real steam recovery.
- Run it side by side with your current milk. Same jugs, same machine, same drink, two baristas.
- Taste it in a flat white first. It's the most exposed drink you make. Then check a latte and an iced.
- Watch it over a fortnight. You're testing the supply, not the sample, so check date codes on arrival and make sure the format works on your fridge shelf.
If the new milk performs and the maths holds, switch. If it doesn't, you've still learned your current dairy's real market price, and you can go back and use it.
Where this gets easier
You can do all of this on a spreadsheet, and for the first month you probably should. Doing it by hand is how you learn what your numbers look like.
Where it falls over is month four, when nobody's normalised a case price to litres since April. That's the bit software is genuinely good at: CostingBrik reads your supplier invoices and tracks cost per unit over time, so a 2p step surfaces the week it lands instead of a year later, and every recipe that touches milk reprices off the back of it.
The negotiation is still your job. Software just makes sure you notice you need to have it.
The takeaway: you almost certainly negotiate your coffee harder than your milk, and milk is the bigger surprise of the two. Work out your true delivered cost per litre this week, compare it against one other dairy and one wholesaler, then ring your current supplier with an annual volume figure and ask what they can do.
Worst case, they say no and you've learned your price is fair. Best case, it's a four-figure conversation you should have had five years ago.
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.