Multi-currency bookkeeping for travel agencies
Keep every amount in the currency it was really paid in, one cash box per currency, and record each exchange as its own entry. Never add different currencies into one total.
Updated
A travel agency touches several currencies in a single day. An airline or consolidator is paid in USD, a hotel in EUR, the customer pays in local money, and a cousin abroad sends the balance in AED. If the books turn all of that into one number too early, you cannot tell whether you made money or just watched the exchange rate move.
Five rules that keep the books honest
- Every amount carries its own currency. USD 450.00, not 450.
- Keep a separate cash or bank account for each currency (Cash USD, Cash EUR, Cash AED, Bank PKR).
- Never add two currencies. Totals are per currency: "USD 2,310 and AED 4,000", not a mixed figure.
- An exchange is its own entry with two legs: money out in one currency, money in the other, and the rate.
- Decide once when you convert to your reporting currency (monthly is common) and write down the rate source.
Selling in one currency, buying in another
Say you sell a ticket to a customer in AED and buy it from your supplier in USD. You now have two facts in two currencies: a customer owing you AED, and a supplier you owe in USD. Record both as they happen. Your profit is only known when you compare them at a rate, and the rate you pay with may differ from the rate you sold at.
Worked example (sample data)
| Step | What happens | Entry |
|---|---|---|
| 1 | Sell a ticket to a customer | Sale AED 1,835 (customer owes AED 1,835) |
| 2 | Buy the ticket from the supplier | Purchase USD 440 (you owe supplier USD 440) |
| 3 | Customer pays in cash | Payment in AED 1,835 into Cash AED, customer balance 0 |
| 4 | You need USD to pay the supplier, and swap AED 1,900 at 3.67 | Exchange: out AED 1,900 from Cash AED, in USD 517.71 to Cash USD |
| 5 | You pay the supplier | Payment out USD 440 from Cash USD, supplier balance 0 |
Now look at each box. Cash AED rose by 1,835 and fell by 1,900, so it is down 65. Cash USD rose by 517.71 and fell by 440, so it is up 77.71. In AED terms at 3.67 you have USD 77.71 = AED 285.20 more, and AED 65 less. Net gain about AED 220 on this ticket (ignoring other costs). The point is that you can see where the number came from, instead of one figure that hides it.
Do the real arithmetic with your own rate and your own bank costs. The numbers above are sample data to show the shape of the records.
Cash drawers per currency
- Count each currency separately at the end of the day. The drawer holds USD notes, AED notes and local notes, not one total.
- Write the opening and closing of each account every day. A difference is easy to find when the account has one currency.
- Mobile wallets, hawala and bank accounts are accounts too, each in one currency.
- Do not let a clerk put a USD payment into the AED box "for now". That is how a shortage appears a month later.
Recording exchanges
Every time money changes currency (you swap cash, a customer pays in a different currency than the invoice, you buy USD from a money changer), write one entry with: date, amount out and its currency, amount in and its currency, and the rate or the fee. Keep the money changer's name in the note. Without this entry, two cash boxes simply disagree with your sales and nobody knows why.
When the customer pays in another currency
If the invoice was USD 440 and the customer pays AED 1,615 at an agreed 3.67, record the AED you received into Cash AED, the rate in the note, and USD 440 against the invoice. The customer balance goes to zero in USD. If the rate was different from what you quoted, the gain or loss shows up as a real number instead of a hidden one.
Reports that matter in several currencies
- Cash per account: what is in each box right now.
- Who owes us: balances per customer per currency.
- Whom we owe: supplier balances per currency.
- Profit by month: per currency first, then converted once if you need a single figure.
- Exchange list: every swap with its rate, so you can see what you really paid for dollars.
Common mistakes
- Converting every entry at today's rate. Old entries then change when the rate changes.
- Using one "average" rate for the whole month and forgetting it.
- Showing a customer a statement that mixes currencies. One statement per currency is clearer.
- Not recording small exchange fees. They add up.
- Entering the amount without the currency, then fixing it later from memory.
In a spreadsheet and in Parvaz
In a spreadsheet, give each entry a currency column and an account column, then use a pivot table with currency as the column and account or customer as the row. Exchanges are two rows with the same reference. In Parvaz every amount keeps its own currency, accounts are per currency, a payment in a currency with no account opens a Cash account for that currency, and a currency exchange is a built-in entry between two accounts. Reports give totals per currency. It never silently puts an entry in an account of a different currency. See travel agency accounting software and the pricing page. For the spreadsheet option, read Excel vs travel agency software.
Questions and answers
Should I keep my books in one main currency?
Keep entries in the real currency, and choose one reporting currency only for summaries. Convert at a recorded rate at a set time.
Which exchange rate should I use?
Use the rate you actually got when you swapped money. For summaries, pick one source (your bank or money changer) and note it with the date.
How do I show a customer a balance if they trade in two currencies?
Send one statement per currency. Do not add them into one total.
Do I need a separate bank account per currency?
Not always, but you need a separate account in your books for each currency, even if the bank holds them together.