Trip-wise + Company P&L for Indian Travel Agencies
Live per-booking profit, vendor-cost variance reconciliation, hidden markup recognition, and the full double-entry company P&L, Trial Balance, and Balance Sheet — reconciled to GSTR-1 and GSTR-3B and to the underlying journals.
Why Most Travel Agencies Don't Know Their Real Profit
Ask an Indian travel agent how much they made on a specific booking and you'll usually get one of three answers: a number from memory, a number from a spreadsheet that doesn't match the books, or "wait, let me check with the accountant."
That's because profit measurement in travel is genuinely hard:
- •Actual vendor cost is only known after the bill arrives — often weeks after the booking was sold
- •GST is calculated differently on different services (5% on packages, 18% on processing, K3 split on flights)
- •TCS on international packages looks like revenue on the bank statement but isn't
- •Hidden markup sits in a liability pool, not on the P&L, until an HM invoice is raised
- •Cancellations, credit notes, and refunds touch multiple ledgers — they can't be subtracted from a single revenue line
MoonTrip carries every transaction through to the books in the same product where the quote is built — so profit measurement isn't a quarterly reconciliation exercise, it's a live number you can see per booking and per company.
Trip-wise P&L — The Per-Booking View
Open any booking and the Trip-wise P&L is one click away. It nets every income and expense line that touches that booking, sourced directly from the journals.
The trip-wise P&L formula
Trip-wise Profit =
Customer Grand Total
− Output GST (5% / 12% / 18% per service line)
− TCS (5% on international packages, pass-through)
− Cost of Travel (sum across all services — actual when available, estimated otherwise)
− Vendor Service Fees (processing fees on vendor bills)
+ Vendor Commission Income (net of TDS)
+ Processing Charge Income (charged to customer)
+ Final Hidden Markup (PHM → FHM attributed to this booking)For a typical 4-pax Kashmir package, that looks like:
| Line | Amount | Source |
|---|---|---|
| Customer Grand Total (incl. GST + TCS) | +₹3,40,000 | From E1 Tax Invoice |
| Less: Output GST | −₹38,400 | 5% on package value |
| Less: TCS collected | −₹17,000 | Pass-through to govt |
| Less: Cost of Travel — Hotel | −₹1,42,000 | From VB-204 line 1 (actual) |
| Less: Cost of Travel — Flight | −₹76,800 | From VB-218 (actual) |
| Less: Cost of Travel — Transport | −₹18,000 | From VB-204 line 2 |
| Less: Vendor Service Fees | −₹4,500 | Processing fees on bills |
| Add: Vendor Commission Income | +₹6,200 | Net of TDS |
| Add: Processing Charge Income | +₹2,000 | On E1 invoice |
| Add: Final Hidden Markup | +₹26,500 | PHM → FHM on Mark Final |
| Trip-wise Profit (Actual) | ₹78,000 | ≈ 22.9% margin |
Trip-wise P&L: Vendor Cost Variance
The hardest part of per-booking profit is that you sell at one cost estimate and the vendor invoices you at another. MoonTrip handles this with per-service variance reconciliation tied to Provisional Hidden Markup.
Service: Hotel on BK-122
Quote estimate: ₹1,50,000 (CoT — Hotel at booking time)
Vendor bill: ₹1,42,000 (actual cost from VB-204 line 1)
Variance: ₹8,000 underrun
Auto-posted journal:
Dr Cost of Travel — Hotel ₹8,000
Cr Provisional Hidden Markup ₹8,000
(source_booking_id = BK-122)Once all services on a booking have actual vendor bills, the agent clicks Mark All Costs Final on the booking. That action flips Provisional HM to Final HM on the booking and stamps all_costs_finalized_at. The trip-wise P&L from that point forward shows the locked-in actual profit.
How Hidden Markup Flows Into the Trip P&L
Hidden markup recognition is the most-misunderstood part of travel-agency P&L. MoonTrip's rule is simple: income is recognised only when finalised — never on speculation.
- •At booking creation: The markup component credits Provisional Hidden Markup (a liability under Current Liabilities). Not yet income.
- •As vendor bills land: Variance auto-adjusts PHM up or down per service.
- •At Mark All Costs Final: PHM is debited and Final HM credited (still liability, but locked).
- •At HM invoice (per-booking allocation): FHM is debited per source booking and Sales — Hidden Markup is credited (P&L income). This is the only point the markup hits the P&L.
HM Invoice HMI-014 (across 3 bookings):
Dr Final HM (source_booking_id = BK-122) ₹26,500
Dr Final HM (source_booking_id = BK-118) ₹18,200
Dr Final HM (source_booking_id = BK-121) ₹14,800
Cr Sales — Hidden Markup ₹50,750
Cr Output CGST (if GST on) ₹ 4,567
Cr Output SGST (if GST on) ₹ 4,567Company P&L — The Pool-Level View
Switch to Reports → P&L and you get the company-wide, double-entry P&L for any date range. Travel-agency-specific groupings make it readable without an accountant translating.
| SALES (Income) | |
| Sales — Tour Packages @ 5% | ₹84,20,000 |
| Sales — Tour Packages @ 18% | ₹12,60,000 |
| Processing Charge Income | ₹4,12,000 |
| Vendor Commission Income | ₹3,85,000 |
| Sales — Hidden Markup | ₹6,40,000 |
| Total Sales | ₹1,11,17,000 |
| DIRECT EXPENSES | |
| Cost of Travel — Flight | ₹38,10,000 |
| Cost of Travel — Hotel | ₹26,40,000 |
| Cost of Travel — Transport | ₹8,90,000 |
| Cost of Travel — Land Package | ₹14,20,000 |
| Cost of Travel — Activity | ₹3,80,000 |
| Vendor Service Fees | ₹2,15,000 |
| Total Direct Expenses | ₹93,55,000 |
| GROSS PROFIT | ₹17,62,000 |
| INDIRECT EXPENSES | |
| Rent | ₹2,40,000 |
| Salaries | ₹6,80,000 |
| Software & SaaS | ₹84,000 |
| Marketing | ₹1,20,000 |
| Bank & Payment Charges | ₹48,000 |
| Total Indirect Expenses | ₹11,72,000 |
| NET PROFIT (PRE-TAX) | ₹5,90,000 |
- •Sales: Tour Packages @ 5% (Rule 32(5) GST), Tour Packages @ 18% (Principal), Processing Charge Income, Vendor Commission Income, Sales — Hidden Markup. Matches outward taxable supplies in GSTR-1.
- •Direct Expenses: Cost of Travel per service group (flight, hotel, transport, land package, activity, etc.), Vendor Service Fees.
- •Indirect Expenses: Rent, salaries, software, marketing, bank charges — standard operating expenses.
- •Other Income / Tax: Interest income, TDS deducted on commission, TCS collected on international packages (pass-through).
- •Filtering: Financial Year, quarter, month, or custom range. Compare current vs prior period.
- •Export: PDF + Excel — auditor-ready.
Reconciling Company P&L to GSTR-1 and GSTR-3B
A P&L that doesn't match your filed GST returns is a P&L the tax officer can question. MoonTrip's P&L reconciles to the returns by construction — same engine, same journal lines.
- •Sales (P&L) ↔ Outward Taxable Supplies (GSTR-1): Total Sales on the P&L for the period matches the sum of GSTR-1 Tables 4A (B2B) + 7 (B2C) + 9B (credit notes) at the taxable-value level.
- •Output Tax (GSTR-3B) ↔ GST Payable closing balance (Balance Sheet): The output CGST + SGST + IGST on GSTR-3B equals the GST Payable closing balance for the period before set-off against Input GST.
- •Cost of Travel + Vendor Service Fees ↔ Input Taxable Value: Vendor purchases on the P&L map to inward supplies (GSTR-2B reconciliation surface).
- •Credit Notes: Cancellations post simultaneously to P&L revenue (reducing Sales) and to GSTR-1 Table 9B (reducing taxable value) — no manual reconciliation needed.
Trial Balance and Balance Sheet
The same engine that produces the P&L produces the Trial Balance and Balance Sheet.
Trial Balance
Lists every ledger account with Dr / Cr totals and a balance, as of a date. Dr total must equal Cr total — that's the integrity check. If a manual JV is mis-posted (Dr ≠ Cr), the Trial Balance is the first place it surfaces.
Balance Sheet
Standard double-entry balance sheet with travel-agency-specific groupings:
- •Equity: Capital, drawings, retained earnings.
- •Current Liabilities: Sundry Creditors (vendors), Customer Advances (FIFO ledger balance), GST Payable, TDS Payable, TCS Payable, and the Hidden Markup subgroup with Provisional HM and Final HM ledgers.
- •Current Assets: Sundry Debtors (customer outstanding), Bank Accounts (per account), Cash, Customer Advances (Dr balances).
- •Fixed Assets: Office equipment, vehicles, software licences.
Drill-Down: Every Rupee Back to Its Source
Audit-readiness is a function of one rule: every number on the P&L must be traceable to a journal line, and every journal line must be traceable to a source document.
- •P&L line → journal entries: Click any P&L line to expand to the contributing journal entries.
- •Journal entry → source document: Every entry carries
source_type,source_id, and (for HM-touching lines)source_booking_id. Click to open the source — booking, vendor bill, customer payment, vendor payment, credit note, manual JV, opening balance. - •Voucher number: Every non-opening journal carries a sequential voucher number per voucher type — auditor-friendly.
- •Audit trail: No journal is ever overwritten. Edits to a vendor bill drop the old purchase journal and re-post a new one; voids post a reversal journal alongside the original (Dr/Cr flipped). The full history is queryable.
Cancellations, TCS, and Refunds — What They Do to P&L
Cancellation (booking-level)
When a booking cancels, the Cancellation Wizard posts the right reversals depending on whether costs were finalised:
- •Not finalised: Dr PHM + Dr CoT (per service) | Cr Customer. The Cancellation Note credit reduces P&L revenue and GSTR-1 Table 9B simultaneously.
- •Finalised, no HM invoice raised: Un-finalise first (Dr FHM | Cr PHM), then proceed as above.
- •Finalised, HM invoice raised: Dr FHM (by remaining FHM on the booking) + Dr CoT | Cr Customer. The HM income already recognised on the P&L is reversed pro-rata.
TCS
TCS is collected from the customer under Section 206C(1G) on international packages. It looks like revenue on the bank statement but is not income — it's a tax payable to the government. The booking journal credits TCS Payable (liability), and the P&L treats TCS as a pass-through. On cancellation, TCS is flagged separately for Form 27EQ quarterly adjustment (it doesn't reverse via the regular credit note path).
Refunds
Refunds that go to Customer Advance Ledger reduce Sundry Debtors and increase Customer Advances on the Balance Sheet — they don't hit the P&L until applied to a future booking. Refunds that settle directly (UPI / bank / cheque) reduce both Sundry Debtors and the Bank ledger.
Related Guides
Stop calculating manually
MoonTrip automates GST, invoicing, and profit tracking for Indian travel agencies.
Get Started Free