Margin vs Markup: You're Probably Getting It Wrong


I'm going to say something that will annoy a few people: a lot of product businesses are pricing incorrectly. Not by accident. Not through ignorance. Just through one very specific, very common misunderstanding that nobody ever told them to look out for.

The difference between margin and markup.

We fix this constantly. It comes up in almost every implementation we do. And the maddening thing is how avoidable it is.


 

So what's the difference?

Markup is the percentage you add on top of your cost to get to your selling price.

Margin is the percentage of the selling price that's profit (and there is a difference between gross and net margin, but that's for another blog post!).

Same transaction. Very different numbers. And here's the bit that trips people up: markup will always produce a bigger percentage than the equivalent margin. Always! So if your ops team is setting prices on a 30% markup and your accountant thinks you're running at 30% margin, one of them is wrong.

Run the numbers yourself

Say a product costs you $100.

25% markup applied:

  • Selling price: $125

  • Gross profit: $25

  • Actual gross margin: 20% (not 25%)

25% gross margin targeted:

  • Selling price: $133.33

  • Actual markup: 33.3% (not 25%)

That's $8.33 per unit on a $100 product. Doesn't sound catastrophic. Until you multiply it across a full range, hundreds of orders, and a full financial year.

Margin vs Mark-Up

Enter your cost price and your target gross margin. We'll show you the correct sell price — and what happens if you confuse margin with mark-up. Add your overheads to see the net profit impact.

$
%
%
✓ Correct
Priced on Margin
Sell Price
Gross Profit
Gross Margin
Equivalent Mark-Up
vs
✗ Common Mistake
Priced on Mark-Up instead
Sell Price
Gross Profit
Actual Gross Margin
Margin Shortfall

The version of this that keeps me up at night

Here's the scenario I see in businesses that have been running for years.

Overheads are sitting at 25% of revenue. To hit a 5% net profit, you need a gross margin of 30% (30-25 = 5). That's the target. That's what goes into the budget. But the pricing has been set on a 30% markup. So the actual gross margin is 23%, not 30%. Instead of making 5%, the business is losing 2%.

The top line looks fine. Orders are going out the door. The business feels busy. And somehow it's just... not adding up.

That's the gap. And almost every time we find it, the cause is this one distinction being misunderstood at the pricing stage, often years earlier.

Getting this right in Cin7 Core

Cin7 Core manages pricing at the product level: cost prices, sell prices, and price tiers for different customer groups. Done properly, it shows you your actual margin on every sale, automatically. You stop guessing.

The problem is that the system makes it easy to get this wrong. When you set up Price Tiers in Cin7 Core, you choose a calculation method for each tier: Static, Markup%, or Append. If someone selects Markup%, the system calculates sell prices using markup logic. Your margin targets exist in the budget. Your pricing is running on markup. And they'll never reconcile.

That's not a Cin7 Core problem. That's a configuration problem, caused by exactly the misunderstanding we've been talking about.

Price Tier setup screen against a product in Cin7 Core

Nearly every implementation we do ends up with time spent on exactly this. Pricing configured against margin, not markup. The client's team understanding why before they start building their product list, because unpicking incorrect pricing across a few hundred products after go-live is a proper headache, and it's entirely avoidable.

Get the configuration right and Cin7 Core does something useful: every sales order shows the gross margin percentage automatically. You can see, at a glance, whether each order is hitting your targets. We've worked with businesses that had hundreds of SKUs priced on markup for years, wondering why their numbers never quite added up. The fix isn't complicated. But it has to happen before you go live.

 

Already live and not sure where you stand?

If you're already running Cin7 Core and you're not confident your pricing is set up correctly (or you'd just like a second pair of eyes on it), that's what our health check is for.

We go through your setup, flag anything that looks off, and give you a clear picture of what needs fixing and why. No sales pitch. Just a genuine look at whether your system is working the way you think it is.

Most people find something worth fixing. Some people find something worth fixing urgently.

Book a Cin7 Core Health Check.

Dan Fairbairn

Recovering Brit, using a blend of coffee, natural intuition and years of experience to lead the team towards a more impactful future.

Next
Next

Your Forecasting AI doesn't know the half of it