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 4 November 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.

Ezysplit Who pays whom panel with three payments: Ravi pays Asha ₹3,975, Kabir pays Asha ₹1,450, Kabir pays Meera ₹625
The same steps on a bigger group: four friends and ten bills on a Goa trip settle in three payments. See the whole example split.

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?

Usually, and in Ezysplit always for groups of up to 12 people. The greedy matching above can miss one case: when a smaller group inside the group cancels out exactly. Say Omi owes Vik exactly ₹200 and nobody else is involved with either of them. Those two should settle with each other in one payment, separately from everyone else, and every such pair or trio saves a payment.

Finding those groups by hand is fiddly (in general it's a hard problem), so Ezysplit does it for you: for up to 12 people it first finds the largest number of groups whose balances cancel exactly, then runs the matching inside each one. That gives the true minimum. Above 12 people it uses the matching on its own, which is still close to the minimum.

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.

Frequently asked questions

How do you work out who owes whom in a group?

For each person, take what they paid and subtract their share of everything they took part in. A positive result means they are owed money, a negative one means they owe. Then match the biggest debtor with the biggest creditor until everyone is settled.

What is the minimum number of payments to settle a group?

At most one fewer than the number of people whose balance isn't zero. It can be fewer when some people's balances cancel each other out exactly; Ezysplit finds those cases for groups of up to 12.

Why do all the balances add up to zero?

Every rupee someone paid is part of someone's share, so what the group is owed always equals what the group owes. If your totals don't add up to zero, a bill is missing or entered twice.

Does Ezysplit send the payments?

No. Ezysplit only works out who pays whom. Each line is one payment you make yourself with GPay, PhonePe, Paytm or any other UPI app or bank transfer.

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