Travel agency accounting: the chart of accounts and 12 entries
The full chart of accounts and twelve journal entries a travel agency needs, covering client advances, GST at 5% or 18%, TCS, commission and forex.
Jökulsárlón · 21:30You sell a ₹1,00,000 package, and your bookkeeper books it as one sale. It isn't. Proper travel agency accounting treats a single booking as five separate events on five different dates: the client's advance, the supplier's advance, the tax invoice, the GST or TCS you owe, and the margin, which doesn't exist until the trip runs. Record all five as "sale of ₹1,00,000" on one date and your books stop matching your bank account within a month.
This is why so many small agencies run two sets of numbers in their head: the booking sheet, and whatever the accountant produces at year-end, which never quite lines up with it. The fix is a chart of accounts built for how a package actually moves money, and a fixed set of journal entries you use every time.
This post gives you both: the ledger accounts a tour operator needs, and the twelve entries that cover a booking's life from advance to departure to (sometimes) cancellation. They're tool-agnostic, so they drop into Tally, Zoho Books, QuickBooks or a plain Excel ledger without changing the logic.
Why the booking sheet and the P&L never agree
A package sale is five accounting events on five different dates, not one. Booking sheets track bookings; ledgers have to track each event on its own, or the P&L stops corresponding to anything in your bank account.
Most agencies discover this at filing time: cash collected doesn't match revenue reported, and nobody can explain the gap without going back through every booking by hand. A clean chart of accounts, applied the same way every time, is what prevents that.
The chart of accounts a tour operator actually needs
A travel agency's chart of accounts needs roughly 15 ledgers beyond the generic ones every business has: separate accounts for money held on a client's behalf, money advanced to suppliers, and the different GST and TCS liabilities a package can trigger, rather than one blended "Sales" and "Tax" account.
| Account | Type | Purpose |
|---|---|---|
| Advance from Customer (Unearned) | Liability | Cash collected and amounts invoiced before departure. Not revenue until the trip runs. |
| Supplier Advance Paid | Asset | Advance paid to a hotel, vehicle vendor or DMC to hold rates and rooms. |
| Accounts Receivable - Client Balance Due | Asset | Amount invoiced to a client, not yet collected. |
| Accounts Payable - Supplier | Liability | Amount billed by a supplier, not yet paid. |
| TCS Payable | Liability | Tax collected from clients on outbound packages, held until deposited. |
| GST Output 5% (Tour Operator) | Liability | GST on packages invoiced as principal, at 5%, no ITC. |
| GST Output 18% (Agent/Commission) | Liability | GST on commission or service-fee invoices raised as an agent, with full ITC. |
| GST Input Credit (ITC) | Asset | GST paid on eligible inputs, claimable against output GST. |
| Sub-agent Commission Payable | Liability | Commission accrued to a sub-agent, not yet paid out. |
| Sub-agent Commission Expense | Expense | The P&L side of commission accrued to a sub-agent. |
| TDS Payable | Liability | Tax withheld when you pay a sub-agent's commission, due to the government. |
| TDS Receivable | Asset | Tax already withheld by others (an airline, a DMC) on commission you've earned. |
| Package Sales Revenue | Income | Revenue from packages sold as principal, recognised on departure. |
| Commission Income | Income | Revenue from packages sold as an agent: the facilitation fee only. |
| Forex Gain/Loss | Income/Expense | The gap between the rate a foreign bill was booked at and the rate you actually paid. |
| Bank/Cash | Asset | Every entry below eventually clears through here. |
Copy this table into your chart of accounts as-is. The names matter less than keeping each concept on its own line: an advance is never revenue, a supplier advance is never a cost until the bill lands, and 5% and 18% GST output never share a ledger.
5% or 18%: which GST ledger a booking hits
Whether a package invoice posts to your 5% or 18% GST ledger depends on whether you sold it as a principal or as an agent, not on the destination or the amount. Sell the whole package on your own account (you fix the price, you carry the risk) and it's taxed at 5% on the gross package value with no input tax credit. Facilitate a booking as a pure commission arrangement and only your fee is taxed, at 18%, with full ITC available on your inputs (ClearTax, GST on tours and travels, as of August 2026).
This is why the two GST ledgers stay separate rather than blending into one "GST Output" account: a bookkeeper reconciling GSTR-1 needs to trace which invoices fed the 5% no-ITC liability and which fed the 18% ITC-eligible one. The GST Council's September 2025 rate rationalisation restructured most slabs but left tour operator services untouched at 5% without ITC (GST Council FAQ, effective 22 September 2025), so this split is stable for now. For the full decision logic, see 5% or 18%: how to invoice a tour package correctly.
The twelve journal entries, start to finish
Every entry below uses one running example so the numbers stay traceable: a ₹1,00,000 domestic package, 30% advance and 70% balance, a supplier cost of ₹80,000 with a ₹40,000 advance, and a 5% sub-agent commission. Swap in your own figures; the accounts and the Dr/Cr logic don't change.
1. Advance received from customer
| Account | Debit | Credit |
|---|---|---|
| Bank/Cash | ₹30,000 | |
| Advance from Customer | ₹30,000 |
Trigger: client pays a token or advance to hold the booking, before any invoice is raised. This is a liability, not income.
2. Supplier advance paid
| Account | Debit | Credit |
|---|---|---|
| Supplier Advance Paid | ₹40,000 | |
| Bank/Cash | ₹40,000 |
Trigger: you advance a hotel, vehicle vendor or DMC to lock rates and inventory for the departure.
3. Invoice raised as principal, at 5% (no ITC)
| Account | Debit | Credit |
|---|---|---|
| Accounts Receivable - Client Balance Due | ₹75,000 | |
| Advance from Customer | ₹70,000 | |
| GST Output 5% (Tour Operator) | ₹5,000 |
Trigger: you issue the full tax invoice for a package sold on your own account. GST is charged on the gross ₹1,00,000 at 5%; the ₹70,000 credit brings Advance from Customer to the full package value (₹30,000 already held, ₹70,000 now formalised), and ₹75,000 is what the client still owes, tax included.
3b. Invoice raised as agent, at 18% (with ITC)
| Account | Debit | Credit |
|---|---|---|
| Accounts Receivable - Client Balance Due | ₹17,700 | |
| Commission Income | ₹15,000 | |
| GST Output 18% (Agent/Commission) | ₹2,700 |
Trigger: you facilitated the booking rather than selling it as principal. You invoice only the ₹15,000 facilitation fee, taxed at 18%, and can claim ITC on eligible inputs here, unlike the 5% invoice above.
4. Balance received from customer
| Account | Debit | Credit |
|---|---|---|
| Bank/Cash | ₹75,000 | |
| Accounts Receivable - Client Balance Due | ₹75,000 |
Trigger: the client clears the remaining balance, usually ahead of departure.
5. Supplier final payment
| Account | Debit | Credit |
|---|---|---|
| Accounts Payable - Supplier | ₹80,000 | |
| Supplier Advance Paid | ₹40,000 | |
| Bank/Cash | ₹40,000 |
Trigger: the supplier's final bill of ₹80,000 is settled: ₹40,000 offset against the advance, ₹40,000 paid now in cash.
6. Sub-agent commission accrued
| Account | Debit | Credit |
|---|---|---|
| Sub-agent Commission Expense | ₹5,000 | |
| Sub-agent Commission Payable | ₹5,000 |
Trigger: a booking sourced through a sub-agent is confirmed. The liability is booked when the commission is earned, not when it's actually paid.
7. Sub-agent commission paid, net of TDS
| Account | Debit | Credit |
|---|---|---|
| Sub-agent Commission Payable | ₹5,000 | |
| TDS Payable | ₹100 | |
| Bank/Cash | ₹4,900 |
Trigger: you pay the sub-agent. Commission/brokerage TDS currently sits at 2% (ClearTax, Section 194H, as of April 2026), so ₹100 is withheld and deposited to the government rather than paid out. See TDS for travel agents for current thresholds.
8. TCS collected on an outbound package
| Account | Debit | Credit |
|---|---|---|
| Bank/Cash | ₹4,000 | |
| TCS Payable | ₹4,000 |
Trigger: you collect TCS from the client on top of the package price and hold it as a liability until deposited. This example uses an illustrative 2% on a ₹2,00,000 package; treat the current rate, threshold and form as unsettled and confirm with your CA before filing (see the TCS section below).
9. Revenue recognised on departure
| Account | Debit | Credit |
|---|---|---|
| Advance from Customer | ₹1,00,000 | |
| Package Sales Revenue | ₹1,00,000 |
Trigger: the trip actually departs. This is the entry most agencies skip, and the one that keeps your P&L honest: the ₹1,00,000 sat as a liability since entry 3, and only becomes revenue now, in the period the trip runs.
10. Cancellation with partial retention
| Account | Debit | Credit |
|---|---|---|
| Advance from Customer | ₹1,00,000 | |
| Bank/Cash | ₹80,000 | |
| Package Sales Revenue | ₹20,000 |
Trigger: the client cancels before departure. ₹80,000 is refunded per policy, ₹20,000 is retained and recognised as income. Whether GST applies to the retained portion depends on how the charge is characterised; see GST and TCS on cancelled bookings.
11. Refund to client with TCS adjustment
| Account | Debit | Credit |
|---|---|---|
| TCS Payable | ₹4,000 | |
| Bank/Cash | ₹4,000 |
Trigger: the entry-8 booking is refunded before travel. TCS already collected is returned to the client, since the travel it was collected against never happened; if already deposited, it's adjusted against a future liability rather than clawed back in cash. Confirm the mechanics with your CA.
12. Forex loss on a foreign supplier payment
| Account | Debit | Credit |
|---|---|---|
| Accounts Payable - Supplier | ₹85,000 | |
| Forex Gain/Loss | ₹1,500 | |
| Bank/Cash | ₹86,500 |
Trigger: a foreign DMC's bill was booked at the invoice-date rate (₹85,000), but the rupee moved before payment, so settlement costs ₹86,500. The ₹1,500 gap hits Forex Gain/Loss, never the supplier cost account, so package costing doesn't drift with the exchange rate.
TCS: what you owe, without betting on a section number
You owe TCS on outbound tour packages, collected from the client over and above the package price and deposited with the government, but the exact rate, threshold and filing form for the current cycle aren't settled enough to print here with confidence. For FY2025-26, the reported structure was 5% on the first ₹10 lakh remitted or spent per year and 20% beyond it (ClearTax, TCS on overseas tour packages, per Budget 2025). Trade sources describe a move to a flat 2% with no threshold, in connection with Budget 2026 (ClearTax, as described August 2026), unconfirmed against a primary notification as of this writing.
Two things hold regardless of which rate applies. First, the Income Tax Act, 2025 replaces large parts of the 1961 Act from 1 April 2026 and renumbers provisions practitioners have cited for years, though TDS/TCS rates aren't reported to have changed as part of it (ClearTax, TDS rate chart FY2026-27). Second, TCS on overseas packages sits alongside the separate Liberalised Remittance Scheme ceiling of USD 2,50,000 per resident individual per financial year (RBI Master Direction on LRS), which caps what a client can remit abroad, TCS aside.
Careful: Don't hardcode a section number or a return form into your TCS ledger this year. Book TCS collected as its own liability line (entry 8 above), and confirm the current rate, threshold and filing form with your CA before you file.
The two errors that wreck a travel P&L
Error 1: booking the gross package value as revenue when you sold as an agent. Facilitate a ₹1,00,000 booking and earn ₹15,000 commission, but show ₹1,00,000 as sales, and your topline is inflated by ₹85,000 that was never yours, your real margin is invisible, and your GST exposure is misstated (a 5% principal invoice implied on a booking that should carry 18% on the fee alone). Use entry 3b, not entry 3, for anything sold as an agent.
Error 2: treating a client advance as revenue the day it lands. Book the ₹30,000 in entry 1 straight to Package Sales Revenue instead of Advance from Customer, and your P&L overstates profit that month, cash position looks stronger than your obligations allow, and the reconciliation below stops working. Entry 9 fixes exactly this timing.
Both are invisible in the bank account, surfacing only when someone reconciles the books against reality, usually a year late at audit time.
The monthly reconciliation every owner should run
Once a month, your Advance from Customer balance should roughly track two things added together: what you still owe suppliers for undeparted trips, and bank balances earmarked for departures that haven't happened yet. If those numbers don't move together, something upstream is wrong.
Example: Advance from Customer shows ₹18,00,000 across live bookings. Supplier commitments for those bookings total ₹11,00,000, so you'd expect roughly ₹7,00,000 sitting in bank, earmarked, as the difference. If bank actually shows ₹4,00,000, you're short ₹3,00,000: either revenue got recognised too early on a booking that hasn't departed, a supplier got paid from the wrong bucket, or a departure ran and was never invoiced through to entry 9 at all.
This check is the backbone of a proper travel agency profit and loss statement: a P&L built without it shows gross bookings dressed up as revenue, which looks healthy until a run of departures lands at once and margin doesn't show up to match them.
Common questions
Chart of accounts for a travel agency: how many ledgers do you actually need
Roughly 15 ledgers beyond the standard ones any business runs: separate liabilities for customer advances, TCS and each GST rate, separate assets for supplier advances and receivables, and separate income accounts for principal sales versus commission. Copy the table above as your starting chart of accounts.
How do you record a tour package booking in accounting
As a sequence, not a single sale: the advance as a liability when it lands (entry 1), the invoice split by whether you sold as principal (5%) or agent (18%), the balance when collected, and revenue only when the trip departs (entry 9). Recording the whole package value as revenue on the booking date is the most common mistake in travel accounting.
These entries work in Tally, Zoho Books or plain Excel
Every entry above is a standard Dr/Cr journal entry with no tool-specific voucher type. Create the ledgers in the chart of accounts table first, then post consistently against them, whichever software you use.
The short version
- A package sale is five separate accounting events on five different dates, not one sale on one date: advance, supplier advance, invoice, tax liability, and revenue on departure.
- Keep Advance from Customer, GST Output 5%, and GST Output 18% as three separate ledgers, never blended, so every invoice traces cleanly to the liability it fed.
- Sold as principal, invoice the gross package value at 5% with no ITC. Sold as agent, invoice only your fee at 18% with full ITC. Mixing the two into one revenue line misstates both your margin and your GST exposure.
- Revenue only becomes real when the trip departs (entry 9). An advance sitting in the bank is a liability until then, not income.
- TCS on outbound packages is owed, but the exact rate, threshold and form for this filing cycle are unsettled in the sources available. Book it as its own liability line and confirm the specifics with your CA before you file.
- Run a monthly three-way check: Advance from Customer should roughly equal supplier commitments plus bank earmarked for undeparted trips. A gap usually means revenue booked too early, a supplier paid from the wrong bucket, or a departure that never got invoiced through to revenue.
- Rates, thresholds and section numbers referenced here move; every figure is date-stamped and should be confirmed with your CA before you rely on it for a filing.