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.

May 2026 13 min read

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 (Per-Booking) ProfitTrip-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:

Trip-wise P&L — Booking BK-122 (Kashmir, 4 pax, 6 nights)
LineAmountSource
Customer Grand Total (incl. GST + TCS)+₹3,40,000From E1 Tax Invoice
Less: Output GST−₹38,4005% on package value
Less: TCS collected−₹17,000Pass-through to govt
Less: Cost of Travel — Hotel−₹1,42,000From VB-204 line 1 (actual)
Less: Cost of Travel — Flight−₹76,800From VB-218 (actual)
Less: Cost of Travel — Transport−₹18,000From VB-204 line 2
Less: Vendor Service Fees−₹4,500Processing fees on bills
Add: Vendor Commission Income+₹6,200Net of TDS
Add: Processing Charge Income+₹2,000On E1 invoice
Add: Final Hidden Markup+₹26,500PHM → FHM on Mark Final
Trip-wise Profit (Actual)₹78,000≈ 22.9% margin
The MoonTrip Way
Every line on this table is clickable to the journal entries that produced it, and every journal entry is clickable to its source document — vendor bill VB-204 / VB-218, customer invoice INV-122, customer payment receipt, finalize JE. The ₹78,000 profit is reconcilable to the rupee from this one screen.

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.

Variance posting (per service)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.

TipWhy this matters for accuracy
Without variance reconciliation, your trip-wise profit would either over-state (when vendor came in cheaper) or under-state (when vendor came in expensive). With variance reconciliation, the booking always shows actual profit — and the variance feeds into your hidden markup pool, where it eventually flows to Sales via an HM invoice.

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.
Hidden markup recognition (HM invoice)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,567

Company 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.

Company P&L — FY 2025-26 Q4 (Jan–Mar 2026)
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.
The MoonTrip Way
Run the Company P&L for any month, then open GSTR-1 + GSTR-3B for the same month, and the numbers reconcile. No spreadsheet bridge, no manual rounding adjustments, no "we'll figure it out at year-end".

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.
TipHidden Markup on the Balance Sheet
The Hidden Markup subgroup under Current Liabilities is unique to MoonTrip. Most accounting software has nowhere to park markup income that's booked but not yet finalised. MoonTrip carries PHM and FHM as liabilities until an HM invoice recognises them as Sales — which is the right accounting treatment under the matching principle.

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.

The MoonTrip Way
The cancellation flow is the most accounting-heavy part of travel-agency software. MoonTrip's wizard ensures the right combination of Cancellation Note, Internal Margin Invoice, Processing Fee Credit Note, TCS reversal, and HM reversal posts — all linked to the booking and reconcilable to the P&L for the period.

Stop calculating manually

MoonTrip automates GST, invoicing, and profit tracking for Indian travel agencies.

Get Started Free