Last checked Sep 2026 — worked example uses illustrative rates; refresh when supplier seasons change.
How travel agencies lose margin between the supplier rate and the final quote
A quote starts with a supplier rate and ends with a number the customer accepts. Between the two, most agencies lose 3–8 points of margin without a single bad decision. Here is where it leaks, with a worked example.

In this article
Margin leaks between the supplier rate and the final quote in seven places: a rate that is older than the booking window, a currency converted at the wrong moment, GST and TCS added on the wrong base, a round-number "discount" given at the last minute, extras priced at cost, a re-quote that reuses the old markup, and a follow-up that never happens. None of these is a bad decision. Each is a default. This guide names the seven, shows a worked example on a ₹1,84,000 family package, and gives the one fix for each that does not need a new person.
What does "margin" mean in a travel quote?
Margin is what is left after every supplier is paid and every tax is remitted. It is not the markup you typed. A 15% markup on a ₹1,00,000 cost is ₹15,000 on paper; after a 2% rounding "adjustment", a ₹1,500 airport transfer added free, and GST computed on the gross instead of the service fee, it is closer to ₹9,800. That is the difference between 15% and 9.8% — and nobody made a mistake.
Owner-led agencies quote from memory, WhatsApp threads and last season's spreadsheet. The leak is structural, so the fix has to be structural too.
Where does the margin actually leak?
| # | Leak | Typical size | Why it happens |
|---|---|---|---|
| 1 | Stale supplier rate | 2–5% | The rate in the sheet is from the last contract round; the hotel raised it at season change |
| 2 | Currency at the wrong moment | 1–3% | USD/AED costs converted at quote time; paid at booking time at a worse rate |
| 3 | Tax on the wrong base | 1–2% | GST charged on the gross package instead of the service fee; TCS collected but not passed through correctly |
| 4 | Round-number discount | 1–3% | "Make it ₹1,80,000 flat" — the round-down comes out of margin, never out of cost |
| 5 | Extras at cost | 0.5–2% | A transfer or a meal plan added to close the deal, priced at supplier cost |
| 6 | Re-quote reuses the old markup | 1–2% | Dates move, hotel changes, but the markup line stays — on a lower base |
| 7 | No follow-up | the whole quote | The quote is fine; it just never gets a reply, so the margin is zero |
Add rows 1–6 and a 15% markup routinely lands at 7–10% realised.
A worked example: a family of four, six nights
Supplier costs, as quoted to the agency:
- Hotel, 2 rooms × 6 nights: ₹96,000
- Transfers and a day tour: ₹22,000
- Domestic flights, 4 pax: ₹38,000
- Total cost: ₹1,56,000
The agent applies 15%: ₹23,400. Quote before tax: ₹1,79,400. Add GST on the service portion and the customer sees roughly ₹1,84,000.
Now the leaks, in the order they usually happen:
- The hotel rate was from March; the September rate is ₹1,08,000. Cost is now ₹1,68,000. Nobody re-priced. –₹12,000
- The customer asks for ₹1,80,000 flat. Agreed. –₹4,000
- A "complimentary" airport pickup is added to close. Cost ₹2,400. –₹2,400
- The day tour moves from a private car to a shared coach because the supplier's private rate went up; the quote line is not touched. Margin protected here, by luck.
Realised margin: ₹23,400 – ₹18,400 = ₹5,000 on ₹1,80,000, or 2.8%. The agent believes the trip earned 15%.
NAMA field note. Ask an owner what their margin is and they will say 12–18%. Ask their accountant and the answer is usually single digits. Both are honest. One is looking at the markup line, the other at the bank.
How do you stop each leak without hiring?
1. Stale rate. Every rate needs a valid-to date, and the quote should refuse to use one that has expired. A rate with no date is a guess.
2. Currency. Convert at quote time and show the customer the base currency. If the quote says "USD 1,200 hotel, billed at the rate on the day of payment", the risk sits where it belongs. If you must fix the INR price, add a 2–3% buffer to foreign-currency lines only — not to the whole package.
3. Tax base. Decide once whether you invoice as a principal (GST on the gross) or as an agent (GST on your service fee). Most owner-led agencies are better off as agents on packaged tours. Ask your CA, then encode the answer so no quote can pick the other one by accident.
4. Round-number discount. Never discount from margin. Offer a cheaper room category, a shorter stay, or a shared transfer. The customer wanted a lower number; the number can come from cost.
5. Extras. Anything added after the first quote gets the same markup as everything else. "Complimentary" is a marketing word; the line still exists.
6. Re-quote. When any cost line changes, the markup line is recomputed, not copied. This is a spreadsheet formula problem, and it is also why quotes belong in a system that recomputes.
7. Follow-up. A quote without a scheduled follow-up is a draft. Two touches — day 2 and day 5 — recover more revenue than any pricing change on this list.
What does this look like inside NAMA?
NAMA quotes from your own rates in Masters, each with a validity window, and the builder refuses a rate that has expired. Foreign-currency items stay in their currency on the card and cannot be dropped into an INR quote as if they were rupees. Markup is a rule on the quote, so a changed cost line changes the margin line. The preflight check flags a typed-over price, a zero-cost line and a duplicated service before the quote goes out — and if you send it anyway, the exception is written on the quote so you can see later where the number came from.
None of that is magic. It is the seven defaults above, moved from the agent's memory into the system.
Key takeaways
- A 15% markup usually realises 7–10% after the ordinary leaks.
- Rates without a valid-to date, and currency converted at the wrong moment, are the two biggest leaks.
- Discount from cost, never from margin.
- Recompute markup on every change; never copy it.
- Follow-up is a margin decision, not a sales one.
Frequently asked questions
- What is a healthy margin for a travel agency package?
- Realised (after every supplier and tax), 10–15% on FIT packages and 6–10% on group departures is healthy for an owner-led Indian agency. Anything reported above 18% is usually the markup line, not the bank balance.
- Should I charge GST on the whole package or on my service fee?
- It depends on whether you invoice as a principal or as an agent. Agents charge GST on their fee; principals on the gross. Decide with your CA once, then make sure every quote follows the same rule.
- How do I handle USD hotel rates in an INR quote?
- Show the base currency on the quote and state the conversion rule. If you must fix the INR number, add a small buffer to the foreign-currency lines only, not to the whole package.
- Is it wrong to give a round-number discount?
- No, but the reduction should come from a cost change — a lower room category, a shared transfer, one night less — not from your margin line.
- How often should supplier rates be refreshed?
- At every season change and after any contract round. More important than the frequency is the valid-to date on every rate, so an expired one cannot be used by accident.


