Markup is not margin: the pricing maths agents get wrong
A 20% markup on a tour package converts to only a 16.7% margin, not 20%. The formula, a ready reckoner, and where GST and fees eat the rest.
Jökulsárlón · 21:30You cost a Bali package at ₹85,000, add what you call "20% margin," and quote ₹1,02,000. Months later your CA hands you a P&L where the real cash margin on those files is closer to 8%, not 20%. Nothing was stolen. You priced a markup and called it a margin.
Markup and margin are both profit stated as a percentage, and that's the only thing they share. One is profit over cost, the other profit over selling price. They're never the same except at zero, and the gap widens as the percentage grows. This post gives you the conversion maths, a ready reckoner, and a rupee walkthrough of where a 20%-markup file lands once GST, gateway fees and a free-of-cost seat have had their turn.
Markup and margin are not the same number
Markup is profit as a percentage of what you paid; margin is profit as a percentage of what you charged. A 20% markup on an ₹85,000 cost gives a selling price of ₹1,02,000 and a profit of ₹17,000, but that ₹17,000 is only 16.7% of ₹1,02,000, not 20%.
The two formulas:
Markup → Margin: margin = markup ÷ (1 + markup)
Margin → Markup: markup = margin ÷ (1 − margin)
Both are decimals (20% = 0.20). The gap grows as the percentage climbs: under a point at 10%, over 11 points at 40%. Pricing off a round "markup" figure and reporting it to yourself as "margin" overstates profit on every quote, worse the harder you push the number.
The ready reckoner: markup to margin at a glance
Pin this next to your costing sheet. Every figure is margin = markup ÷ (1 + markup), rounded to one decimal.
| Markup applied | Margin actually earned |
|---|---|
| 10% | 9.1% |
| 15% | 13.0% |
| 20% | 16.7% |
| 25% | 20.0% |
| 30% | 23.1% |
| 40% | 28.6% |
Read it the other way and it's worse news: to bank a 20% margin, you need a 25% markup, not 20%. That's the row where the two numbers sit closest, and it's still a five-point gap.
Worked example: a Bali file, cost to cash
Example: You cost a 5N Bali package at ₹85,000 net per pax and apply a 20% markup.
Gross selling price: ₹85,000 × 1.20 = ₹1,02,000. Markup-on-paper profit: ₹17,000, a 16.7% margin, already short of the "20%" you thought you'd priced in.
Now subtract what a typical outbound file actually costs beyond the product:
Deduction Amount Running profit Starting profit (16.7% margin) n/a ₹17,000 GST at 5% on the gross selling price (principal model, no ITC) −₹5,100 ₹11,900 Payment gateway fee ~2% of collections, plus 18% GST on the fee −₹2,407 ₹9,493 FOC tour-leader seat, loaded onto paying pax (1 per 15 convention) −₹1,000 ₹8,493 Real cash-in-bank margin: ₹8,493 ÷ ₹1,02,000 = 8.3%, not the 20% believed, and not even the 16.7% the markup formula alone suggests.
Your own deduction stack will differ. The point isn't the exact 8.3%: a markup number, taken alone, tells you almost nothing about what lands in the account.
Where the 5% GST on gross eats the markup
A tour operator selling a bundled package as principal charges GST at 5% on the full gross selling price the traveller pays, not on the operator's profit, with no input tax credit except GST charged by another tour operator in the same line of business, a rule the 5% or 18% invoicing breakdown covers in full. That's the ₹5,100 line above: 5% of ₹1,02,000, not of ₹17,000.
This is where a markup most often quietly disappears: an operator who prices "20% on top" and absorbs GST to stay competitive, without checking whether the quote is meant to be GST-inclusive, lets a chunk of the markup walk out as tax before it reaches margin. As of August 2026 this is how the principal model works; confirm the current position with your CA.
The GST-inclusive net rate trap: don't mark up twice
A hotel room priced at or below ₹7,500 per unit per night is mandatorily taxed at 5% GST with no input tax credit, and hotels cannot opt into 18%-with-ITC on cheaper rooms (GST Council, FAQs on the 56th meeting, Q71). The GST rate card for tour operators has the full slab list; a hotel's quoted "net rate" for a budget room may already carry that 5% embedded in it.
Careful: Ask every hotel or DMC whether a quoted net rate is GST-inclusive or before tax, before applying your markup. Say a hotel quotes ₹4,750 per night, already GST-inclusive: the pre-tax cost is closer to ₹4,524 (₹4,750 ÷ 1.05). Mark up ₹4,750 by 20% thinking it's a clean cost, and the markup sits on a number with tax already baked in. Small on one room, it compounds across a season. This is a costing check for intake, not a published tax rule, so verify with the supplier and your CA.
TCS on outbound files: not a cost, but it moves your cash
From 1 April 2026, tax collected at source on a qualifying overseas tour package moves to a flat 2%, from the first rupee received, no threshold, replacing the earlier 5%/20% slabs (ClearTax, TCS under the Budget 2026 changes). The outbound TCS playbook covers what qualifies: a booking counts as a package when it bundles at least two of travel or ticketing, accommodation, and boarding or lodging; flight-only or hotel-only doesn't qualify, but flight plus hotel does.
TCS isn't a margin leak the way GST is: it's collected from the traveller as an advance against tax they'll owe, claimed back when they file. It doesn't sit in the Bali stack above, but it moves cash through your account and needs its own line on the quote. The return and certificate mechanics are still settling as of August 2026; confirm the form and section with your CA.
The FOC seat and the gateway fee: two silent points of margin
Two more deductions eat the Bali margin, both easy to miss because neither shows up as a supplier line item.
Free-of-cost tour-leader seats are industry convention, commonly 1 per 15 paying passengers, 1 per 20, or 2 per 30, and that seat's variable cost is loaded onto the paying seats, not absorbed, a pattern the fixed-departure break-even maths walks through. Brackets vary by supplier and route; check yours rather than assume one.
Payment gateway fees are the second. Razorpay charges a flat 2% platform fee on domestic instruments (UPI, cards, netbanking), plus 18% GST on that fee (Razorpay India Pricing, verified August 2026). Other gateways price differently, so treat 2% as typical, not universal. Taken on the full collection rather than on your margin, it's proportionally a bigger bite out of profit than out of revenue.
Pricing backwards: target margin to required markup
To hit a target margin, reverse the formula: markup = margin ÷ (1 − margin). Want a 15% margin: 0.15 ÷ (1 − 0.15) = 0.176, a 17.6% markup, not a 15% one.
Guess the round number instead and mark up 15% flat, and the reckoner above gives the result: a 13.0% margin, two points short of what you were aiming for. Across forty bookings a season, that's not a rounding error.
The two lines every quote sheet needs
Add a markup % column and a margin % column to your costing sheet, not one or the other. Markup tells a supplier or partner what you added on top of cost; margin tells you what you keep. Add a third line beneath both: cash-in-bank, net of GST on gross, the gateway fee and its GST, and any FOC load. That third line is the number that matters when deciding whether a quote is worth sending, and the one worth checking against segment benchmarks before you do.
Common questions
How much is an acceptable markup for using a tour operator?
There's no single correct number; it depends on the segment, and domestic FIT resale, own-operated fixed departures and outbound packages carry different typical ranges. What matters more than the markup quoted is the margin it converts to once GST, gateway fees and any FOC load are subtracted, since two operators quoting the "same" markup can bank very different cash.
The short version
- Markup is profit over cost; margin is profit over selling price. They're never equal except at zero, and the gap widens as the percentage grows.
- Convert with margin = markup ÷ (1 + markup); reverse it with markup = margin ÷ (1 − margin).
- A 20% markup is a 16.7% margin. To bank 20%, you need a 25% markup.
- On a typical outbound file, 5% GST on the gross, a ~2% gateway fee plus its 18% GST, and a loaded FOC seat can take a 16.7%-margin file down to roughly 8%.
- Check whether a hotel's net rate for a room ≤₹7,500/night is already GST-inclusive before applying your markup on top of it.
- TCS at a flat 2% on qualifying overseas packages isn't your cost, but it moves cash through your books and needs its own line on the quote.
- Put a markup % and a margin % on your costing sheet, plus a cash-in-bank line net of GST, gateway fees and FOC load. That third line is the number to quote to yourself.