How Indian Travel Agents Use Dual Invoicing to Protect Profit Margins
Net-rate vs commission, Pure Agent vs Principal billing, and how dual invoices keep your markups private while staying 100% GST-compliant.
Why Travel Agents Need Two Invoices
A hotel gives you a net rate of ₹8,000/night. You sell it to the customer at ₹12,000/night. The ₹4,000 difference is your margin — and the customer should never see it.
But for GST compliance, you need to account for that margin properly: which invoice does the GST appear on? How do you report it in GSTR-1? What if the customer asks for a GST credit?
Dual invoicing in travel is the process of generating a customer-facing tax invoice and a private internal margin sheet simultaneously. It is the industry-standard approach for Indian travel agencies operating under the Pure Agent or Principal billing methods.
The Two Invoices — Side by Side
Same booking, same total — but the Customer Invoice shows the selling price while the Internal EXT Invoice reveals vendor costs, hidden markups, and your net profit.
| Line Item | Amount |
|---|---|
| Hotel Markup | ₹12,000 |
| Cab Markup | ₹1,300 |
| Sightseeing Markup | ₹1,200 |
| Total Hidden Markup | ₹14,500 |
| Processing Fee | ₹2,500 |
| Gross Margin | ₹17,000 |
| GST on hidden markup @18% | −₹2,610 |
| Net Take-Home Profit | ₹14,390 |
Under Pure Agent billing, GST @18% applies on the entire margin (hidden + displayed), but the customer only pays GST on the displayed processing fee (₹450). The remaining GST on hidden markup (18% × ₹14,500 = ₹2,610) is absorbed from your profit. To settle this, you can either record it via a dual invoice (EXT invoice) or roll it forward into a future invoice.
Pure Agent vs Principal: Which One to Use?
The billing model determines how GST is calculated and what appears on the customer invoice.
Pure Agent Model
The Pure Agent model is a GST billing method where the travel agent passes vendor costs as reimbursements and charges GST only on the service fee.
- •How it works: Agent passes vendor costs as reimbursements, charges a separate service/processing fee
- •GST applies on: Only the service fee (not reimbursement costs)
- •Customer sees: Itemized costs + service charge + GST on service charge
- •Best for: Air tickets, hotel bookings where you charge a transparent processing fee
- •Advantage: Lower GST liability (18% on a small fee vs 18% on total)
Vendor Cost (reimbursement) = ₹46,500 → No GST
Agent Service Fee = ₹2,500 → GST @18% = ₹450
Customer Invoice Total = ₹49,450
Agent's GST Liability = ₹450 only
Taxable Turnover (GSTR-1) = ₹2,500 onlyPrincipal Model (@18%)
The Principal model is a GST billing method where the travel agent is treated as buying and reselling the service, with GST applied on the full selling price.
- •How it works: Agent is treated as buying and reselling the service at a package price
- •GST applies on: The full selling price (package value)
- •Customer sees: Package price + 18% GST on full amount
- •Best for: Custom tour packages where you want a clean "one price" look
- •Advantage: Simpler invoice, ITC available on vendor purchases
Package Price (including markup) = ₹62,000
GST @18% = ₹11,160
─────────────────────────────────────────────
Customer Invoice Total = ₹73,160
Agent's GST Liability = ₹11,160
Vendor Cost = ₹46,500
Vendor GST (ITC claimable) = ₹8,370
Net GST Payable = ₹11,160 − ₹8,370 = ₹2,790Principal Model (@5% — Tour Packages)
The 5% Principal model is a concessional GST scheme for registered tour operators who sell bundled tour packages without claiming input tax credit (ITC).
- •How it works: For registered tour operators selling packaged tours
- •GST applies on: 5% on the full package value
- •ITC: Not available under the 5% scheme
- •Best for: Complete tour packages (flight + hotel + sightseeing bundled)
Package Price = ₹62,000
GST @5% = ₹3,100
No ITC available
─────────────────────────────────
Customer Pays = ₹65,100
Agent GST Liability = ₹3,100Scenario: Handling Net-Rate vs Commission Invoicing
You receive a net rate of ₹8,000/night from a hotel supplier. You want to show ₹12,000/night to the customer. How do you invoice this without revealing your markup?
The Manual Way
- •Show ₹12,000/night as the "hotel cost" on the customer invoice
- •Calculate GST only on your margin (if Pure Agent) or on the full ₹12,000 (if Principal)
- •Maintain a separate spreadsheet tracking the actual ₹8,000 vendor rate
- •Remember to exclude the markup from Pure Agent reimbursement reporting
- •Reconcile the two numbers manually at month-end for GST filing
How MoonTrip Handles It
MoonTrip shows two views of the same booking:
How Dual Invoicing Affects GST Filing
GSTR-1 Reporting
- •Customer Invoice: Reported in GSTR-1 Table 4A (B2B) or Table 7 (B2C) with the full invoice value
- •Internal EXT Invoice: Not reported in GSTR-1 — it's an internal accounting document, not a tax invoice to a third party
- •HSN/SAC Codes: Each line item tagged with the correct code (996311 hotel, 996411 flights, 996422 cabs)
GSTR-3B Impact
Table 3.1 — Outward Supplies:
Taxable Value = ₹2,500 (service fee only)
CGST = ₹225
SGST = ₹225
Note: ₹46,500 reimbursement is NOT part of
your taxable turnover under Pure Agent.
Your GSTR-3B turnover = Service fee total
Not the full booking value.Net Profit Tracking Across All Models
Regardless of billing model, MoonTrip calculates your actual profit in real time:
| Metric | Pure Agent | Principal @18% | Principal @5% |
|---|---|---|---|
| Customer Pays | ₹49,450 | ₹73,160 | ₹65,100 |
| Vendor Cost | ₹46,500 | ₹46,500 | ₹46,500 |
| GST Liability | ₹450 | ₹2,790 (after ITC) | ₹3,100 (no ITC) |
| Net Profit | ₹2,500 | ₹15,500 | ₹15,500 |
Related Guides
Stop calculating manually
MoonTrip automates GST, invoicing, and profit tracking for Indian travel agencies.
Get Started Free