Settle a Group Trip's Shared Costs in the Fewest Transfers
Someone paid for the taxi, someone else got the villa deposit, and by Sunday nobody can remember who is square. This takes the raw list — who paid, how much, who it covered — nets everyone's balance, then works out the smallest number of transfers that settles the whole group. Local only; the money maths never leaves the tab.
- Settling
- Balances netted and simplified into the fewest transfers
- local
- What it replaces
- A shared spreadsheet and four follow-up messages
- $0.00
- Input
- One line per expense: what | payer | amount | who
- no card
- Output
- Net balance per person plus a transfer list
- recomputed
What you pay otherwise
| Route | What you get | Cost |
|---|---|---|
| Bill-splitting app | Everyone installs it, everyone makes an account | $0 but 6 signups |
| Splitting it 'roughly even' | The person who paid most quietly loses out | resentment |
| Doing it in a spreadsheet | Correct, slow, and nobody else can check it | ~40 min |
| This page | Netted balances and the shortest transfer list | $0 |
The workflow
Paste one expense per line in the four-field format
'Villa deposit | Maya | 840 | all' or 'Tax to airport | Sam | 46 | Maya, Jo'. The fourth field is who the expense covered — 'all' means everyone, otherwise list names separated by commas. Anything the tool can't split, it says so rather than guessing.
Keep names identical across lines
'Jo' and 'Joanna' become two different people with two different balances. Pick one spelling and use it everywhere; the balance list is the fastest way to spot a typo, because the stray name shows up with a small odd balance.
Read the balance column before the transfer list
Positive means owed to them, negative means they owe. If someone's balance looks wrong, the expense lines are wrong — the netting is arithmetic, not judgement.
Send the transfer list, not the balances
The greedy settle pairs the largest creditor with the largest debtor repeatedly, which is why four people who all owe each other usually clear in two or three transfers instead of eight.
Worked example
Sample: 3 expenses, 3 travellers Villa deposit Maya paid 840.00 / all Airport taxi Sam paid 46.00 / Maya, Jo Dinner Jo paid 132.00 / all Balances Maya +411.33 Jo -177.33 Sam -234.00 Transfers 2 (minimum for these balances) Uploaded nothing — netted in the tab
Numbers above are sample data produced by the tool's own pre-loaded example, run in the browser — not averages or measured benchmarks.
What breaks this
Mixing name spellings splits one person into two ledgers — the balance list exposes it. Putting the total in the 'who' column makes the parser treat a number as a person; the fourth field is names or 'all'. Expecting it to handle currency conversion over-reads it: everything must already be in one currency before you paste.
Try it now
A three-person weekend with three shared expenses is loaded. Add a fourth expense and watch the balances re-net and the transfer count change.
Open the splitter →Go deeper: the printable tab
The settle-up is free forever. The $4 one-time tier adds:
- Printable tab — the whole settlement on one sheet for the group chat — estimate: ~10 min saved versus screenshotting each section.
- Saved trips shelf — keep up to 8 trips in this browser — estimate: ~12 min saved on the next trip's re-entry.
- Running ledger — add expenses across the holiday instead of at the end — estimate: ~15 min saved on the final reckoning.