Klair › SoloSuite › Settling shared expenses

Who owes who: settling shared expenses in the fewest payments

When several people pay for things on behalf of a group, settling up one expense at a time produces far more payments than necessary. Netting each person's position first reduces the whole tangle to at most one payment fewer than there are people.

Last reviewed 31 October 2026

The short answer. Do not settle expense by expense. Net each person's position first — what they paid out, minus their share of everything — then repeatedly have the largest debtor pay the largest creditor. That clears any group in at most n − 1 payments, where n is the number of people with a non-zero balance.

Step 1 — Net each person's position

For every person:

net = (total they paid out) − (total of their shares)

Positive means the group owes them. Negative means they owe the group.

Every net balance in a correctly recorded ledger sums to exactly zero. That is worth checking before you go further: if the balances do not sum to zero, an expense has been split wrongly or a share has been dropped, and no settlement will clear.

Step 2 — Match the biggest creditor to the biggest debtor

Take the person owed the most and the person owing the most. The debtor pays the smaller of the two figures. At least one of them hits zero and leaves the table. Repeat.

Each payment removes at least one person, and the last person standing must already be at zero because the balances sum to zero. So the process terminates in at most n − 1 payments.

A worked example

Three people sharing costs:

ExpenseAmountPaid byShared with
Software seats₹2,400Youall three
Illustration subcontract₹18,000Arjunyou and Arjun
Client workshop travel₹6,500Priyaall three
Monitor₹9,400YouPriya only

Netting each position:

PersonPaid outTheir sharesNet
You₹11,800₹800 + ₹9,000 + ₹2,166.67−₹166.67
Priya₹6,500₹800 + ₹2,166.67 + ₹9,400−₹5,866.67
Arjun₹18,000₹800 + ₹9,000 + ₹2,166.67+₹6,033.33

The balances sum to zero, so the ledger is sound. Arjun is owed ₹6,033.33; Priya owes ₹5,866.67 and you owe ₹166.67.

Largest debtor is Priya, largest creditor is Arjun, so Priya pays Arjun ₹5,866.67, which zeroes Priya. Arjun is still owed ₹166.67, so you pay Arjun ₹166.67. Everyone is square in two payments — settling the four expenses individually would have taken six.

Is this the true minimum?

Not always, and it is worth being precise about that. Finding the smallest possible set of transfers in every case means searching for subsets of people whose balances already cancel among themselves, which is a computationally hard problem. The greedy method always reaches the n − 1 bound, which at the scale of a real team is the practical answer — and it has the advantage of being explainable to the people being asked to pay.

Where ledgers go wrong

Let it do the arithmetic

The SoloSuite team ledger records who paid what, handles equal and uneven splits, and outputs the shortest list of payments that clears every balance. Free, no signup, and the ledger stays in your browser.

Open the team ledger

Frequently asked questions

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

Net each person's position first. For every person, add up what they paid out on the group's behalf, then subtract the total of their own shares of all shared expenses. A positive result means the group owes them that amount; a negative result means they owe the group. Those net balances always sum to zero, which is a useful check that nothing has been miscounted.

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

At most n-1 payments, where n is the number of people with a non-zero balance. Each payment can be sized to zero out at least one person, and once only one person remains their balance must already be zero because all balances sum to zero. Finding the true theoretical minimum for every possible case is a computationally hard problem, but the greedy largest-creditor-to-largest-debtor method reaches the n-1 bound and is what practically every settle-up feature uses.

Why not just pay each expense back individually?

Because the number of payments grows with the number of expenses rather than the number of people. Three people sharing twelve expenses can generate dozens of small transfers, most of which cancel out. Netting first collapses all of that into at most two payments.

How do you handle an uneven split?

Record explicit per-person amounts instead of dividing equally, and make sure those amounts add up to the expense total. Mixing explicit amounts for some people with an equal split for the others requires inventing a rule about what the remainder means, which is how a ledger silently stops balancing.

What happens to rounding?

Divide in the smallest currency unit and let one person absorb the remainder, or round each share down and leave the difference with the person who paid. The important property is that every share still sums exactly to the expense total; if it does not, the net balances stop summing to zero and the settlement will not clear.

Related