Ezysplit

Who pays whom: settling a group with the fewest transfers

Why a group of five usually needs only three or four payments, and how the settlement maths works.

Last updated 20 October 2026

Five friends, nine bills, everyone paid for something. The naive way to settle is for every pair who owe each other to transfer the difference: up to ten payments. The right way needs at most four. This guide shows how the "Who pays whom" panel works, by hand, so you can trust it and explain it.

Step 1: work out each person's net position

For every person: what they paid minus their share of everything they took part in. A positive number means the group owes them; negative means they owe the group.

Example. Asha, Vik and Omi go out. Asha pays ₹300 for a cab (all three share it). Vik pays ₹90 for snacks that only Asha and Vik ate.

PaidShareNet
Asha300100 + 45 = 145+155
Vik90100 + 45 = 145−55
Omi0100−100

The nets always add up to zero: +155 − 55 − 100 = 0. If yours don't, a bill is missing or double-entered.

Step 2: who owes, who is owed

Split people into two lists. Creditors (positive): Asha +155. Debtors (negative): Omi −100, Vik −55. Sort each list largest first.

Step 3: match them up

Take the biggest debtor and the biggest creditor. The payment is the smaller of the two amounts. Reduce both by that payment; whoever hits zero drops off their list. Repeat.

  1. Omi (100) → Asha (155): Omi pays ₹100. Omi is done; Asha is now owed 55.
  2. Vik (55) → Asha (55): Vik pays ₹55. Both done.

Two payments settle three people. In general, this method needs at most one fewer payment than the number of people with a non-zero balance.

Why not "everyone pays the person who paid for them"?

Because it creates chains. If Omi owes Asha and Asha owes Vik, Omi paying Asha and Asha paying Vik is two transfers where one would do. Netting positions first collapses every chain.

Is it the absolute minimum?

Almost always. Finding the true minimum number of payments is a hard problem in theory (it's related to finding subsets that cancel exactly), but for groups of friends the greedy approach above hits the minimum in practice and is never more than a transfer or two off in contrived cases. It's also predictable, which matters more: everyone can check it.

Exclusions change the shares, not the method

When someone is excluded from a bill, that bill is divided among the others only. In the example, the ₹90 snacks were split between two people (45 each) and Omi's share was zero. Everything after that is the same.

Rounding

Shares are computed to the paisa and payments are shown to two decimals. If a total doesn't divide evenly (₹100 three ways), someone ends up a paisa out. Nobody has ever noticed.

Ezysplit runs exactly this calculation after every bill you add. The "Who pays whom" table is step 3; if you sign in and pick your name, the "Your balance" card shows your line from it.
Try it on your own numbers. Ezysplit is free and needs no sign-up: add the people, enter the bills, and it shows who pays whom. Create a split

More guides