Comparing suppliers like-for-like: the per-kg price your invoice hides

Three suppliers quote you butter. One is £3.10 for a 250g pack, sold in cases of 40. One is £27.50 for a 2.5kg block. The cash and carry has 10 x 250g for £29.95.
Which is cheapest? Most operators I know cannot answer that in under a minute, and quite a few get it wrong when they try.
That is not a maths failure. It is a units failure. Every supplier quotes you in the shape of their own packaging, and none of those shapes line up. Until you drag all three onto the same scale, you are comparing packets, not prices.
Get everything to one unit, then compare
The fix is one rule, and it is boring enough that people skip it: convert every quote to cost per kilogram, per litre, or per each, before you form an opinion.
That is it. Not per case, not per pack, not per delivery. One unit, held constant across every supplier on the list.
The arithmetic is simply price divided by the total quantity in whatever you are buying. The bit that trips people is working out the total quantity, because it is buried in two numbers that are usually written in different places on the quote: the pack size and the case size.
- Pack size is what is inside one unit. 250g. 2.5kg. 2 litres. Six rolls.
- Case size is how many of those units come in the box. 40 packs. 6 bottles. 1, if you buy the block on its own.
Total quantity is pack size multiplied by case size. Get those two right and the rest is a division.
Here are the three butter quotes run through it:
| What you are quoted | The maths | Cost per kg |
|---|---|---|
| £3.10 a 250g pack, case of 40 | 40 x 0.25kg = 10kg, so £124.00 a case | £12.40 |
| £27.50 a 2.5kg block | 2.5kg | £11.00 |
| £29.95 for 10 x 250g | 2.5kg | £11.98 |
The gap between best and worst is £1.40 a kilo. If you get through 10kg of butter a week, that is £14 a week and £728 a year, on one ingredient, decided entirely by which quote you happened to look at first.
Nothing about the original three numbers told you that. £3.10 looked like the cheap one.
"Each" is a unit too, and litres are not kilos
Weight is the easy case. Two others come up constantly.
Countable items. Rolls, eggs, cups, cake boxes. The unit is one item, and the same pack-times-case logic applies. A tray of 30 eggs at £3.95 is £0.132 an egg. A half dozen at £1.65 is £0.275 an egg. Same egg, roughly double the price, and nobody notices because both numbers are small.
Liquids. Keep them in litres and leave them there. Milk is about 1.03kg per litre, cream is heavier, oil is lighter, and the moment you start converting between the two you have invented a rounding error for no reason. Your recipes measure milk in millilitres and your invoices price it in litres, so per litre is the natural unit. A 2 litre bottle at £1.42 is £0.71 a litre. A case of 10 x 1 litre at £7.90 is £0.79. Worth knowing if you are working through where your milk bill actually goes.
Compare ex-VAT, always
This is where wholesale and retail quietly stop being comparable.
Wholesalers quote ex-VAT because their customers reclaim it. Retailers and some cash and carry shelf edges show inc-VAT because they sell to the public. Most food is zero-rated, so on butter and flour it makes no odds. On the standard-rated things it makes 20% of odds.
Takeaway cups, cleaning chemicals, cling film, chocolate biscuits, crisps, soft drinks. All standard-rated. A wholesaler at £62.40 per 1000 cups ex-VAT is £0.0624 a cup. A retail price of £84.00 per 1000 is £70.00 ex-VAT, or £0.070. The retail one looked 35% dearer and is about 12% dearer. Still dearer, but you want to know by how much.
Compare ex-VAT, cost ex-VAT, and be consistent. Mixing the two is the commonest reason a costing comes out wrong by a suspiciously round amount.
The per-kg price is not the landed price
A price per kilo is only true if the goods turn up for free, and they rarely do.
Two things move the real number, and both are covered properly in the piece on minimum orders and delivery charges, so here is just the bit that affects a comparison:
- Delivery charges belong to the whole order, not the line. If a supplier charges £6.50 under a £150 order and your weekly drop is £180, the butter costs what it says. If the butter is the only thing you buy from them, add the £6.50 and divide again.
- A cash and carry price has a journey attached. Say a 24-mile round trip, about £7 in fuel and an hour of your time. Buy 10kg of butter at £11.98 and the fuel alone takes it to £12.68 a kilo, which drops it from second place to last. Buy £400 of stock on the same trip and it barely registers.
That does not make wholesale automatically right or the cash and carry automatically wrong. It makes the answer depend on the size of the drop, which is exactly the trade-off in choosing between a cash and carry, a wholesaler and the supermarket.
The practical test: work out the per-unit price first, then ask whether the winner still wins once the order is realistic.
Catch-weight breaks the pack-size rule
Cheese, meat and fish are often priced per kilo but delivered by whatever the block or joint actually weighed.
You order one block of cheddar at £7.85 a kilo. It arrives at 2.34kg and the invoice says £18.37. Next week's block is 2.61kg and the invoice says £20.49.
If you have stored that as "one block, £18.37", the second delivery looks like an 11.5% price rise. It is not. The per-kilo price never moved. You bought more cheese.
This is why catch-weight items have to be stored per kilo and nothing else. The pack size is a fact about that one delivery, not about the product. It is also why catch-weight lines throw so many false price alerts, and why a genuine rise on the same item can hide inside a smaller block and look like a saving.
Four traps that produce confidently wrong answers
1. The invoice says "case" but the price is per each. Some systems print the unit column from the order and the price column from the pricing table, and they do not always agree. A £3.10 line described as one case of 40 is either £3.10 or £124.00, and a factor of 40 is not a rounding error. Sense-check against the invoice total.
2. The pack shrank and the price did not. Butter that moved from 250g to 227g at the same money is a 10% rise wearing a disguise, and it will not show up on any price-change report because the price did not change. That is the whole game with pack-size cuts hiding in your invoices, and it only becomes visible once you are tracking cost per kilo rather than cost per pack.
3. Comparing a wholesale price to a supermarket price inc VAT. Covered above, but worth repeating: it is the one that makes people switch suppliers for no reason.
4. Comparing a quote to an invoice. A quoted price is an opening position. Discounts, promotional lines and volume tiers all move it. Compare quote to quote if you are shopping around, and invoice to invoice if you are checking whether you were charged what you agreed.
Do this with your three biggest lines this week
You do not need to normalise your whole order book. Nobody has that afternoon.
- Pick the three ingredients you spend most on. Usually milk, one flour or bread line, and either butter or coffee.
- Find every current quote for each. Your main supplier, one alternative, the cash and carry.
- Write pack size and case size next to each. In writing, from the paperwork, not from memory.
- Divide to cost per kg, per litre or per each. Ex-VAT, all of them.
- Multiply the gap by your annual volume. That is the number that tells you whether the conversation with your rep is worth having.
The free recipe costing calculator will do the per-portion arithmetic once you have the per-unit prices, without a login.
This is also the sort of thing software should be doing rather than you. CostingBrik reads the pack size and unit off each invoice line and stores the cost per measurement, so the per-kilo comparison is already sitting there and pack-size changes show up as price changes rather than hiding. But run three lines by hand first. The hand version is what tells you whether the gap is £40 a year or £700, and that is the only thing that decides whether any of this is worth automating.
Butter, milk, flour. Three divisions. Go and find out which of your suppliers has been quietly winning on presentation.
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.