Multi-Currency Bookings Are Breaking Your Spreadsheet

The multi-currency nightmare

You run a safari lodge in Kenya. A German guest books for €3,200. A British couple books for £2,800. An American family pays $4,500 directly. A South African group pays via local transfer in ZAR.

Your bank account is in KES. Your Xero is in KES. Your tax obligations are in KES.

Now: what’s your monthly revenue?

If you’re using a spreadsheet, the answer depends on which exchange rate you used, when you looked it up, whether you converted at booking time or payout time, and whether you remembered to update the rates this week.

For international booking businesses — safari operators, European villa managers, island resorts, yacht charters — multi-currency isn’t an edge case. It’s every booking. And spreadsheets can’t handle it.

Where spreadsheets fail

The exchange rate problem

Exchange rates change constantly. The EUR/KES rate today is different from yesterday, and different from what it’ll be when the payout arrives in three weeks. A spreadsheet captures one rate at one moment — but which moment?

  • Booking time — the rate when the guest paid
  • Invoice time — the rate when you created the accounting record
  • Payout time — the rate when the money hit your bank
  • Report time — the rate when you ran your monthly numbers

Each gives a different answer. Most hosts pick whichever rate they find first on Google and hope for the best. The result: monthly revenue figures that shift depending on when you looked at them.

The conversion cascade

With four currencies in play (EUR, GBP, USD, KES), you need six exchange rate pairs to convert everything. Add a fifth currency and you need ten pairs. Each pair changes daily.

A spreadsheet with hardcoded rates goes stale immediately. A spreadsheet with formulas pulling live rates gives you different totals every time you open it. Neither is suitable for accounting.

The reconciliation gap

When your EUR payout arrives in your KES bank account, the bank applies their own exchange rate — which includes a spread (typically 1-3%) that you don’t control and can’t predict. The amount in your bank doesn’t match the amount in your spreadsheet, and the difference is too small to investigate but too large to ignore.

Over a year, these small discrepancies compound into a reconciliation nightmare. Your books say one thing. Your bank says another. Your accountant bills you for the hours spent figuring out why.

The reporting impossibility

You want to know: “How much revenue did my Mombasa property generate last quarter?” If bookings were in EUR, GBP, and USD, you can’t just add the numbers. You need to convert everything to a common currency — but at which rate? Historical rates from each booking date? Today’s rate? An average?

There’s no right answer in a spreadsheet. Every approach is a compromise, and every compromise produces a number that’s only approximately correct.

The three-layer solution

Airflow handles multi-currency with a three-layer model that preserves accuracy at every stage:

Layer 1: Original currency (preserved)

Every booking retains its original amount in its original currency. €3,200 stays as €3,200. £2,800 stays as £2,800. No premature conversion. No rounding. The source of truth is always the number the guest actually paid.

Layer 2: Standard currency (USD, for reporting)

For cross-property, cross-currency reporting, every booking is converted to a standard currency (USD) using the exchange rate at booking time. This lets you compare revenue across properties and currencies on a level playing field.

When you ask “how much did the Mombasa property earn last quarter?”, the answer is calculated from standardised USD figures that were locked at booking time — consistent, comparable, and independent of today’s exchange rate.

Layer 3: Accounting currency (for your books)

When Airflow creates a draft invoice in your accounting software, it converts to your accounting currency using a fresh exchange rate fetched at invoice time. This rate is sourced from a multi-provider fallback chain:

  1. Frankfurter (European Central Bank data) — primary source
  2. fawazahmed0 — fallback for currencies not covered by ECB (African, Asian currencies)
  3. open.er-api — secondary fallback

The rate, source, and timestamp are recorded on every booking — a complete audit trail that your accountant can verify.

Bank spread adjustment

Airflow lets you configure a bank spread percentage that reflects your bank’s typical FX markup. This is factored into the accounting conversion, so your invoice amount more closely matches what actually arrives in your bank account.

Over time, as you confirm actual payout amounts against expected amounts, the system tracks the variance — giving you data to negotiate better banking rates or switch providers.

What this looks like in practice

Take the Kenyan safari lodge example:

BookingOriginalStandard (USD)Accounting (KES)
German family€3,200$3,456KSh 446,880
British couple£2,800$3,528KSh 456,192
American family$4,500$4,500KSh 581,850
SA groupZAR 45,000$2,430KSh 314,199
Total4 currencies$13,914KSh 1,799,121

Each layer serves a different purpose:

  • Original — for guest receipts and platform reconciliation
  • Standard — for business reporting and cross-property comparison
  • Accounting — for Xero/QuickBooks invoices and tax returns

No spreadsheet does this. No manual process maintains this level of accuracy across 50 bookings per month in four currencies.

The FX audit trail

Every currency conversion in Airflow is recorded with:

  • Rate used — the exact exchange rate applied
  • Rate source — which provider supplied the rate (Frankfurter, fawazahmed0, etc.)
  • Rate date — the date the rate was valid for
  • Fetch timestamp — when the rate was actually retrieved
  • Base and quote currencies — exactly which pair was converted

This isn’t metadata — it’s an audit trail. When your accountant asks “what rate did you use for this EUR/KES conversion?”, you can answer with the exact number, source, and timestamp.

Stop converting manually

If your booking business operates across currencies and you’re still using a spreadsheet to track revenue, you’re guaranteeing inaccurate books. Not because you’re careless, but because the problem is fundamentally too complex for a static tool.

Get started with Airflow and let every booking carry its full currency story — from the guest’s payment to your bank account to your accounting software. No manual conversion. No stale rates. No reconciliation surprises.

Your spreadsheet served you well. It’s time to let it retire.