Blog 6 min read

Splitting a trip across currencies — and why we never convert

Most splitting apps convert every foreign expense to your home currency at an invented rate, and that rate is a quiet lie. Why Kindiro keeps one ledger per currency instead.

A world map of the continents assembled from hundreds of mixed gold, copper, and silver coins on a pale grey surface

Four of you drive down through France to catch a ferry home. Someone tops up the tank in euros at a péage, someone books the Portsmouth hotel in pounds, someone does the Calais hypermarket wine run in euros, and the ferry itself is billed in pounds because the operator’s British. By the time you’re back on the M27, the trip’s expenses are sitting in two currencies — and the spreadsheet wants a single “total per person.”

The moment you ask for one total, you’ve asked someone to convert. And conversion is where almost every splitting app quietly goes wrong.

The expense app’s favourite lie: “one true rate”

Open most splitting apps, log a €92 dinner while your account is set to GBP, and the app will cheerfully store it as something like £78.43. It picked a rate — maybe yesterday’s mid-market close, maybe whatever its provider returned at the millisecond you hit save — and baked that number in forever.

There is no one true rate. There’s the mid-market rate that exists only on Bloomberg terminals; the rate Visa used to clear the actual transaction two days later; the rate your bank added 2.75% to; the rate the cash-machine in Calais offered with “guaranteed conversion” (worse); the rate Revolut gave on a weekday but not a weekend. Five different numbers for the same €92, none of them wrong, none of them the same.

So when an app shows you “£78.43,” it isn’t telling you a fact. It’s telling you the output of a guess it made on your behalf, at a moment you didn’t choose, using a rate you never agreed to. And it threw away the only number that was actually true — the €92 on the receipt.

What you lose the instant you convert

The euro amount was real. Someone’s card was charged in euros; a receipt printed in euros; the waiter was paid in euros. €92 is a fact you can check against a bank statement.

£78.43 is a fact about nothing. Three weeks later, when someone queries the dinner, you can’t reconcile it — your statement says the card was hit for £79.10 (Visa’s rate plus a foreign-transaction fee), the app says £78.43, and now you’re arguing about 67p that exists only because the app invented a rate and your bank invented a different one. Multiply that across a fortnight of fuel, tolls, groceries and three restaurants, and the small invented differences compound into a number nobody trusts.

Convert early and you don’t gain precision. You launder a real number into a fake one and lose the ability to ever check it again.

Who actually pays for the conversion?

Here’s the part that turns a technical choice into a fairness problem. When the app bakes one rate into a shared expense, it has silently decided who eats the spread.

Say the group settles in pounds, and the app converts that €92 dinner at the mid-market rate. The person who paid it on their card got the worse Visa-plus-fee rate — so they’re reimbursed for less than they were actually charged. They quietly subsidise the table. Flip the rate the other way and someone else loses. Either way, a real cost — the cost of moving money across a border — gets absorbed by whoever happened to tap their card, and nobody at the table agreed to that, or even saw it happen.

Equal splits are supposed to mean nobody’s quietly out of pocket. A baked-in exchange rate breaks that promise in a way that’s almost impossible to spot, because the unfairness is hidden inside a number that looks exact.

What Kindiro does instead: one ledger per currency

Kindiro doesn’t convert. Ever.

An expense paid in euros is stored as euros — €92, kept as the exact integer 9200 minor units (cents), never a float, never a rounded-off pound figure. An expense paid in pounds is stored as pounds. We hold onto the real number, the one you can check against a statement.

When it’s time to settle up, Kindiro works out the fewest transfers that zero everyone out inside each currency, separately. The euro ledger settles in euros; the pound ledger settles in pounds. You get a euro settle plan and a pound settle plan, side by side: “Marc pays Léa €40,” “you pay Marc £25.” Two clean columns, both made of numbers that are true.

Every trip does have a default currency — the one the keypad starts on when you add an expense — but that’s a convenience for fast entry, not a setting that rewrites your money. Any expense can be in any currency, and the default never overwrites what you actually paid. There’s no rate table in Kindiro, no FX provider, no hidden conversion step, because the most honest exchange rate is the one we never pretend to know.

”But I just want one number”

This is the reasonable objection, and the honest answer is: the single number was never real, so you weren’t losing anything true by not having it.

What you lose is a feeling of tidiness, and you can get that feeling back at the only moment it actually matters — when money genuinely moves. Settle the euro column with one euro transfer and the pound column with one pound transfer. If you’re sending across a border to do it, that’s when you pick the rail (Wise, Revolut, a plain bank transfer) and you get a real rate, on a day you chose, that you can see before you confirm. The conversion happens once, in the open, at a price you agreed to — instead of dozens of times, invisibly, at prices an app guessed.

And if the group genuinely wants to collapse everything into pounds at the end — fair enough, some groups do — then make it a decision, not a default. Agree a rate together, out loud, and log it as a single visible “FX settle-up” line so everyone can see the rate that was used and who it favoured. That’s the difference that matters: a conversion the whole table chose and can see, versus one an app made for you and hid.

Rules of thumb for a cross-currency trip

A few habits that keep a multi-currency trip honest:

  • Log the expense in the currency on the receipt. €40 of diesel is €40. Don’t translate it in your head before you type — “about £34” is just a worse number than the one actually printed in front of you.
  • Treat cash and card the same. A €40 cash payment and a €40 card payment are both just €40. How you funded it is your business; what the trip records is the price.
  • Settle each currency once, at the end. Don’t drip-settle a euro here and a pound there mid-trip. Let the balances run, then make one transfer per currency on the final morning — that’s also when you get to shop for the best real rate.
  • If you must unify, make it a line item. When the group wants a single currency, pick the rate together and record it as one explicit FX line. A conversion everyone can see is fair; a conversion nobody chose is not.

The bigger principle: record what happened, not what you think it’s worth

The thread running through all of this is the same one behind splitting fairly when not everyone goes to everything: the job of a trip’s accounts is to record what actually happened, as plainly as possible, and to be checkable later by anyone who wasn’t paying attention at the time.

A converted amount fails that test. It replaces a fact — €92, on a receipt, on a statement — with an estimate dressed up as a fact, and it quietly hands the cost of crossing a border to whoever tapped their card. Keeping each currency on its own ledger is less clever and more correct. The euros stay euros, the pounds stay pounds, and the one conversion you can’t avoid happens once, in daylight, on terms the group actually agreed to.

That’s not us dodging a hard feature. It’s us refusing to tell you a number we’d have had to make up.