The trip was perfect until the spreadsheet came out. One person paid for the cabin, another grabbed every dinner, a third covered gas and lift tickets, and now the group chat is arguing about who owes whom. The argument is almost never about the shares — splitting $1,300 four ways is arithmetic nobody disputes. It is about the tangle of repayments: a dozen IOUs criss-crossing the group, half of them between people who would rather not exchange money at all.
The fix is a two-step piece of math — convert every payment into a net balance, then collapse those balances into the fewest possible transfers — and a free expense splitter that does both in your browser. No upload, no sign-up — nothing you type or drop leaves your device. It supports weighted and percentage splits for the situations where "even" is genuinely unfair, multi-currency entries for trips that cross a border, and unlimited CSV import and export so your data never gets trapped in a web page.
Try Expense Splitter — free, no sign-up.
This guide walks the whole pipeline: the settle-up math with a worked example, the receipt-to-CSV workflow for trips that end with a shoebox of paper, and the weighted-split setup for houses where the master bedroom should obviously cost more than the den.
Why "who owes whom" turns into spaghetti
Most groups settle each expense as its own transaction. The cabin gets reimbursed by three people, then groceries by three different people, and so on. The problem is structural: an expense paid by one person and shared by four creates three debts, so a weekend with four shared expenses among four friends produces twelve separate IOUs. Nobody tracks twelve IOUs. Everybody tracks the two or three that favor them, and the argument starts there.
Here is the weekend in numbers. Four friends, four shared expenses, everything split evenly:
| Person | Paid | Fair share | Net balance |
|---|---|---|---|
| Maya | $600 (cabin) | $325 | +$275 (is owed) |
| Theo | $200 (groceries) | $325 | -$125 (owes) |
| Priya | $320 (lift tickets) | $325 | -$5 (owes) |
| Sam | $180 (gas and dinner) | $325 | -$145 (owes) |
Total spending was $1,300, so each fair share is $325. The net balance column — paid minus share — is the only column that matters for settling up. Maya fronted the big bill and is owed $275; the other three, together, owe exactly $275. Everything after this point is bookkeeping.
The settle-up math: balances first, transfers second
Step one is the table above. Step two is turning balances into payments, and this is where most groups do it badly.
The naive route nets each pair of people: Maya and Theo offset their mutual debts, Maya and Priya offset theirs, and so on across all six pairs. On this weekend that produces six payments moving a total of $345 — and six payments is six chances for someone to misremember, pay the wrong person, or quietly let it slide.
The minimum-transfers route is different. Sort everyone into creditors (positive balance) and debtors (negative), then repeatedly match the largest debtor against the largest creditor:
- Sam owes the most ($145) and Maya is the only creditor, so Sam pays Maya $145. Maya is now owed $130.
- Theo pays Maya $125. Maya is now owed $5.
- Priya pays Maya $5. Every balance is zero.
| Transfer | Amount | Balance after |
|---|---|---|
| Sam pays Maya | $145 | Maya is owed $130 |
| Theo pays Maya | $125 | Maya is owed $5 |
| Priya pays Maya | $5 | Everyone at $0 |
Three payments instead of six, and $275 moves instead of $345. With n people, this greedy method — the standard min-cash-flow algorithm — never needs more than n-1 transfers, and on this weekend it lands on exactly 3.
That is precisely what the splitter's settlement plan computes. Enter people and expenses, and it draws the balance graph, then lists the settle-up transfers with each amount checked against the balances. In testing on this exact weekend, the plan came back as 3 transfers whose amounts sum exactly to what each person owes or is owed — the balance graph and the settlement plan agree to the cent, which is the property you want when you screenshot the result into the group chat and declare the matter closed.
From a shoebox of receipts to a settled trip
Trips rarely produce clean numbers; they produce receipts — some flat, some crumpled, one still damp. The pipeline that avoids an evening of manual typing:
- Photograph receipts as you go. One payer per receipt is plenty; the tool reconciles payers later.
- Batch-drop the photos into the receipt OCR tool. It reads the merchant, date, total, and line items off each image and hands you a CSV. The OCR runs locally in your browser (Tesseract), so the receipt photos stay on your device the whole time.
- Skim the CSV before trusting it. OCR on a faded thermal receipt is good, not perfect. Spot-check each total against the printed amount; fix a digit in the spreadsheet rather than in an argument three weeks later.
- Import the CSV into the expense splitter. Import is unlimited, so a two-week trip with forty receipts is the same workflow as a dinner with two.
- Read the balance graph, send the payments, done. The settlement plan is the end of the spreadsheet — and of the debate about who pays whom first.
If your shared expenses live on a card statement rather than on paper, convert the statement to rows first: the bank statement to Excel or CSV guide covers the export and column mapping, and from there the same CSV import takes over.
House shares: when an even split is unfair
Trips are the easy case because everyone consumes roughly equally. Houses are not. The couple with the en-suite master bedroom, the person with the closet-sized room, and the one who claimed the den as an office should not pay identical shares, and pretending they should is how house agreements rot.
This is what weighted splits are for. Assign each room a weight, and the rent divides by weight instead of by head. A $3,200 rent with weights of 1.5 / 1.0 / 1.0 / 0.5 (total weight 4.0) settles like this:
| Room | Weight | Share of rent |
|---|---|---|
| Master bedroom (couple) | 1.5 | $1,200 |
| Standard room | 1.0 | $800 |
| Standard room | 1.0 | $800 |
| Den conversion | 0.5 | $400 |
Percentage splits cover the same ground from the other direction — utilities split 60/40 by income, a shared grocery budget split by household size. And when the household spans countries, multi-currency entries keep the euros someone paid at the market and the dollars someone paid online in one ledger instead of two arguments.
House shares also accumulate recurring costs — the shared streaming logins, the joint cleaning service — which deserve the same scrutiny as any other subscription; the subscription creep breakdown is the companion read there.
What the paid apps charge for
The settle-up problem is solved math, so the paid apps compete on convenience and ecosystems. As of late 2026: SplitMyExpenses charges $3.99 per month for Premium and paywalls CSV imports older than a month, which is exactly the archive you want when a housemate asks in March what happened in October. Splitwise and Splitser gate features behind accounts — reasonable for their business model, but it means your group's financial history lives on someone else's server behind a login.
The browser splitter takes the other position: no account, unlimited CSV import and export, weighted and percentage splits, multi-currency entries, a balance graph, and the minimum-transactions settlement plan — free. Your group's numbers stay on whoever's device is doing the math, and the CSV export is your permanent record. Open the free expense splitter, load the receipts through the free receipt OCR, and the settle-up math that used to take a group chat argument takes about four minutes.
Frequently Asked Questions
Does the settlement plan really produce the minimum number of transfers?
It uses the greedy min-cash-flow method: repeatedly match the largest debtor to the largest creditor. That yields at most n-1 transfers for n people, which is the practical minimum — on the four-person example above it found 3 transfers, and in testing the amounts summed exactly to the computed balances.
Can it handle unequal shares, like a couple and a single in one house?
Yes — weighted splits assign each person or room a weight, and the split follows the weights instead of headcount. Percentage splits are also supported when you want to name the shares directly, like 60/40 utilities.
Do I need an account, and does anything leave my device?
No account. The tool runs in your browser: no upload, no sign-up — nothing you type or drop leaves your device. CSV export is your backup and your audit trail.
Our trip had two currencies in it. Does that break the math?
No — the splitter accepts multi-currency entries, so you can record what was actually paid in each currency rather than mentally converting at a lunch table. Splitting by weight and percentage works the same way regardless of the currency column.
Can I import expenses from a spreadsheet or a bank statement?
Yes — unlimited CSV import is built in, which pairs naturally with the receipt OCR output. For expenses that only exist in a statement PDF, convert the statement to CSV first, then import the rows that were actually shared.












