Guide
An offline, multi-currency expense splitter: what to look for
Trips lose signal and cross borders, which is exactly when expenses happen. An expense splitter for travel has to take an expense with no connection and in a currency that is not the group’s, and get both right. Here is what that means, and a three-person example.
Most expense-splitting apps are fine at a dinner in your home city. The test is a trip: a mountain hut with no signal, a train bought in one currency and a dinner paid in another, and four people who all want to log what they paid right now, not when the wifi comes back. An offline, multi-currency expense splitter is the app that passes that test. This page is the checklist, and a worked example that uses every item on it.
Offline: what “works offline” has to mean
Three things, and an app that does only the first one is not an offline app.
- You can read everything you have seen before. The group, every expense, every balance, without a connection. An app that shows a spinner in the hut fails here.
- You can add, edit and delete offline. The expense goes in on the spot and shows in the list immediately, marked as waiting to sync. Adding it later from memory is how amounts get wrong.
- It syncs on its own when the signal returns, and tells you what happened if the group changed meanwhile. If someone edited the same expense while you were offline, you should see that and choose, not have your change overwritten silently, and not theirs.
The same rule applies to the whole group: everyone’s phone should work this way, so the person without roaming is not locked out of logging for a week.
Multi-currency: a currency per expense, a rate you can correct
A trip across one border already produces two currencies, and a long one produces four. The app should handle that at the expense level, not at the group level:
- One group currency that balances and the settlement are shown in. Pick the currency most of you will pay each other in.
- Any currency per expense. The lari dinner is logged in lari, with the amount from the receipt. Converting in your head before typing is where the errors come from.
- A rate filled in automatically, and editable. The app should fill in the day’s mid-market rate so you can log and move on, and let you replace it with the rate your bank actually charged, from the statement, so the group splits the real cost. Both figures should stay visible on the expense.
- Exact arithmetic. Conversion and splitting in whole cents, with any leftover cent going to a named person, so the parts always add back to the total.
Why the editable rate matters is the subject of splitting expenses in different currencies. In short: the mid-market rate is what the news quotes; the rate your bank used is what left your account, and the difference is real money on a €2,000 trip.
The rest of the checklist
Offline and currencies are the travel-specific points. The ordinary ones still apply, and a travel app that misses them is not worth the first two:
- Joining without accounts, so the friend with a foreign phone and no patience for sign-ups is in the group in twenty seconds, and someone who will not install anything can be added by name.
- Splits between only the people an expense was for, equally, by shares or by exact amounts, with more than one payer when two cards were used for one bill.
- A fewest-transfers settlement, so the trip ends in two or three payments instead of everyone paying everyone.
- History on every expense, who changed what, so an offline edit that lands late is visible and explained.
- Export, so the ledger leaves the app as a file when the trip is over.
A worked example: three people, three currencies, one offline
Dana, Omar and Kai travel from Zurich to Prague. The group currency is euros, and the list of people is in that order.
Day 1, the hut. Dana pays 240 Swiss francs for a mountain hut, with no signal. She logs it in francs on the spot; the app marks it as waiting to sync and fills in the day’s mid-market rate, 1.03 euros per franc, which would make it €247.20. On the train down, back online, the expense syncs. Two days later her bank statement shows the real rate was 1.04, so she changes the rate on the expense: 240 × 1.04 = €249.60. Split three ways: €83.20 each, exactly.
Day 2, the train. Omar buys the three train tickets to Prague for €96.00. Split three ways: €32.00 each.
Day 3, the dinner. Kai pays 2,500 Czech koruna for dinner; his bank charged 0.0404 euros per koruna, so €101.00. Split three ways: 10,100 cents ÷ 3 is 3,366 cents with 2 left over, so Dana and Omar (first in the list) get €33.67 and Kai €33.66. The three parts add to €101.00.
| Expense | Paid by | Paid in | In euros | Each |
|---|---|---|---|---|
| Mountain hut (logged offline) | Dana | 240 CHF at 1.04 | €249.60 | €83.20 |
| Train tickets | Omar | €96.00 | €96.00 | €32.00 |
| Dinner in Prague | Kai | 2,500 CZK at 0.0404 | €101.00 | €33.67 / €33.67 / €33.66 |
| Total | €446.60 |
Shares: Dana 83.20 + 32.00 + 33.67 = €148.87; Omar the same, €148.87; Kai 83.20 + 32.00 + 33.66 = €148.86. Together €446.60.
Balances, paid minus share: Dana 249.60 − 148.87 = +€100.73; Omar 96.00 − 148.87 = −€52.87; Kai 101.00 − 148.86 = −€47.86. They add to zero: 52.87 + 47.86 = 100.73.
How the trip ends
Two transfers, in euros, and nobody converted anything by hand. Had Dana left the automatic 1.03 rate, the hut would have been logged as €247.20 and she would have quietly paid the €2.40 difference herself. Small here; on a week of hotels it is not.
How kisir does it
kisir is built for exactly this trip. Everything you have opened stays readable offline, and expenses can be added, edited and deleted with no connection; they sync when you are back, and a row that could not sync says so, with Retry or Discard. Each expense takes any currency; kisir fills in today’s rate, converts to the group’s currency, and lets you change the rate to the one on your statement, showing both amounts. Nobody creates an account: the group is joined by link, QR code or six-character code. The Overview shows every balance and “Your plan”, your part of the fewest-transfers settlement, and the whole ledger exports to CSV or Excel for free.
What it does not do, so you can judge the fit: it does not scan receipts, itemize a bill, handle recurring expenses, connect to a bank or card, or move money. The payments happen however you normally pay each other; the app tells you who pays whom, and you record it.
Short answers
Is there an expense splitting app that works offline?
Yes. kisir lets you add, edit and delete expenses without a connection; they sync when you are back online. Everything you have opened before stays readable offline.
How should a multi-currency expense splitter convert amounts?
Per expense, into one group currency, at the rate the payer actually got. A good app fills in the day's mid-market rate and lets you change it to the rate on your bank statement, keeping both figures.
What happens if two people add expenses offline at the same time?
Each phone keeps its own changes and sends them when it reconnects; they are separate expenses, so both arrive. If someone edited the same expense meanwhile, the app should show the conflict and let you retry or discard, rather than overwrite silently.
Do I need an account for an offline expense splitter?
Not in kisir: people join the group by link, QR code or six-character code and pick a name. There is nothing to log in to, offline or online.
Splitting a trip that crosses a border?
kisir is free on iPhone and Android: no account, any currency per expense with an editable rate, and it works with no signal. Create a group and share the link.
Get kisir