Tips & Guides

How Do Bill-Splitting Apps Calculate Who Owes Whom? Debt Simplification Explained with a ₹ Example

Six criss-cross debts between four friends can be settled in two UPI payments. Here is exactly how debt simplification works, with real rupee numbers, before/after tables, and the cases where it goes wrong.

A
Ananya Verma
Fintech product strategist focused on building inclusive money tools for young Indians
17 October 20268 min read

Looking for the app itself? Lekhhaa: free who owes whom calculator — fewest payments to settle up — free on Android, iOS and web.

Bill-splitting apps work out who owes whom in two steps. First they calculate each person's net balance: everything they paid minus their share of everything they were part of. Then they ignore who paid for what and match the people who owe with the people who are owed, using as few payments as possible. That second step is debt simplification.

It sounds like a small trick, but it is the reason a trip with four friends can end with two UPI transfers instead of six, and it is the feature people most often mention when they explain why they use a splitting app at all. Here is how it works, worked through in rupees.

The example: four friends, one Goa weekend

Rahul, Priya, Aman and Neha go to Goa for a long weekend. Everything is split equally among all four. Over three days, each of them pays for something:

ExpensePaid byAmountEach person's share
Villa (2 nights)Rahul₹8,000₹2,000
Dinner at the shackPriya₹4,000₹1,000
CabsAman₹2,400₹600
Drinks and snacksNeha₹1,600₹400
Total₹16,000₹4,000

The trip cost ₹16,000, so everyone's fair share is ₹4,000. The question is who sends money to whom.

Before simplification: paying each person back directly

The intuitive way is to pay back each payer for each bill. Aman owes Rahul ₹2,000 for the villa, but Rahul owes Aman ₹600 for cabs, so between those two it nets to Aman paying Rahul ₹1,400. Do that for every pair of friends and you get this:

PaymentWhyAmount
Priya → Rahul₹2,000 villa share minus ₹1,000 dinner Rahul owes her₹1,000
Aman → Rahul₹2,000 villa minus ₹600 cabs₹1,400
Neha → Rahul₹2,000 villa minus ₹400 drinks₹1,600
Aman → Priya₹1,000 dinner minus ₹600 cabs₹400
Neha → Priya₹1,000 dinner minus ₹400 drinks₹600
Neha → Aman₹600 cabs minus ₹400 drinks₹200

Six payments. Without netting each pair first it would be twelve. And notice something odd: Priya sends ₹1,000 and receives ₹1,000. She is moving money around for nothing.

Step 1: work out each person's net balance

Net balance = what you paid − your share. Positive means the group owes you; negative means you owe the group.

PersonPaidShareNet balance
Rahul₹8,000₹4,000+₹4,000 (is owed)
Priya₹4,000₹4,000₹0 (all square)
Aman₹2,400₹4,000−₹1,600 (owes)
Neha₹1,600₹4,000−₹2,400 (owes)

The balances always add up to zero, because every rupee somebody paid was somebody's share. That is the check that the maths is right.

Step 2: settle the balances, not the bills

Now forget the villa and the cabs. Rahul needs ₹4,000. Aman owes ₹1,600 and Neha owes ₹2,400. So:

After simplificationAmount
Neha → Rahul₹2,400
Aman → Rahul₹1,600

Two payments instead of six, and Priya does not touch her phone at all. Everyone ends at exactly the same place as the six-payment version — Rahul still gets ₹4,000 in total, Neha still pays ₹2,400 in total — the money just takes a shorter route. You can check it yourself by entering the four expenses in the free who owes whom calculator.

How many payments does a group actually need?

The rule of thumb is at most one fewer than the number of people who have a balance. In the example, three people have a non-zero balance (Priya is at zero), so at most two payments are needed. A group of eight people with balances needs at most seven.

It can be fewer. If a smaller group of people inside the trip have balances that cancel each other out exactly, they can settle among themselves, and each such cluster saves one payment. Finding those clusters is where apps differ.

The quick method and why it sometimes uses an extra payment

Most simple implementations use a greedy rule: the person who owes the most pays the person who is owed the most, as much as possible, then repeat. It is fast and it never needs more than n − 1 payments. But it can miss a cluster that cancels out. Take five friends after a weekend in Lonavala:

PersonNet balance
Kabir−₹400
Isha+₹300
Dev+₹200
Meera+₹400
Sahil−₹500

The greedy rule starts with the biggest debtor, Sahil (−₹500), and the biggest creditor, Meera (+₹400): Sahil pays Meera ₹400. Then Kabir pays Isha ₹300, Kabir pays Dev ₹100, and Sahil pays Dev ₹100. Four payments, and Dev receives two transfers.

But look again. Kabir owes exactly ₹400 and Meera is owed exactly ₹400 — that pair cancels on its own. Settle it separately and the rest falls into place:

Exact minimumAmount
Kabir → Meera₹400
Sahil → Isha₹300
Sahil → Dev₹200

Three payments. One saved transfer does not sound like much, but in a 12-person wedding group or a college trip it is the difference between a clean settle-up and someone getting four ₹50 UPI requests. Lekhhaa's who owes whom calculator searches for these zero-sum clusters exactly, so it returns the true minimum for groups of up to 16 people, rather than the greedy guess.

When debt simplification goes wrong

Somebody refuses to pay a person they never owed. Simplification can tell Neha to pay Rahul even though she only ever ate the dinner Priya paid for. Mathematically that is fine; socially it occasionally isn't — especially between colleagues or new flatmates. If someone objects, it is fine to settle that pair directly; it costs one extra transfer, nothing more.

Partial payments made outside the app. If Aman quietly sends Rahul ₹1,000 on the last night and nobody records it, the simplified plan will still ask him for ₹1,600. Every payment has to go into the same ledger as the expenses, or the balances drift. The fix is simple: record the ₹1,000 as a settlement and the plan recalculates.

Expenses added after the plan. A simplified plan is only correct for the expenses that exist when it is calculated. If the airport cab gets added after two people have already paid, the plan changes. Settle up after the last expense, not during the trip.

Rounding. ₹1,000 split three ways is ₹333.33 each, and a sloppy calculator ends a rupee short. Good tools split in paise and hand the leftover paise to specific people so the shares add back to the exact bill — otherwise balances never quite reach zero.

Not everyone was there for every expense. Simplification is only as good as the shares that go in. If two people skipped the cab, they must be taken off that expense first. Tap them off, then simplify.

Doing it without maths

For a one-off trip, put the expenses into the who owes whom calculator — names, amounts, who paid, who it was for — and copy the payment list straight into the WhatsApp group. No signup, nothing saved. For a flat that shares costs every month, the roommate expense splitter does the same with rent by room size.

For anything ongoing — a trip that runs a week, a flat, a group of friends who keep covering each other — use a group expense tracker so balances carry forward and get simplified automatically. Lekhhaa does this for free, with debt simplification in every group, and you can add people by name alone, so the friend who never installs apps still has a balance. Money itself always moves over UPI; the app just tells you the shortest route.

If you want the wider picture of how bill splitting works, from equal splits to item-wise, start with the complete guide to bill splitting.

Frequently Asked Questions

How do bill-splitting apps calculate who owes whom?

They work out each person’s net balance — what they paid minus their share of every expense they were part of — and then match people who owe with people who are owed. Because the balances always add up to zero, the group can settle in at most one fewer payment than the number of people with a balance.

What is debt simplification?

It is settling the net balances instead of paying back each bill separately. In a four-friend trip where everyone paid for something, paying each person back directly can take six transfers; settling the net balances takes two or three, and every person still pays or receives exactly the same total.

Is debt simplification always the minimum number of payments?

Not with the common greedy method (largest debtor pays largest creditor). It can miss a small group whose balances cancel exactly and use one extra payment. An exact method searches for those zero-sum groups first. Lekhhaa’s free who owes whom calculator does the exact search for groups of up to 16 people.

Why does the app say I should pay someone I never owed money to?

Because simplification routes money by balances, not by bills. If you owe Priya ₹500 and Priya owes Rahul ₹500, you can pay Rahul directly and Priya is out of it. Your total payment is unchanged. If it feels awkward, settling that pair directly costs only one extra transfer.

What happens if someone pays part of what they owe?

Record it as a settlement in the same group and the balances update; the simplified plan then recalculates for what is left. Payments made over UPI but not recorded are the most common reason balances look wrong.

Can I simplify debts without installing an app?

Yes. Lekhhaa’s who owes whom calculator runs in the browser with no signup: enter the expenses, who paid and who each was for, and it gives the fewest UPI payments, ready to paste into WhatsApp.

Share this article

Ready to Take Control of Your Finances?

Start tracking your expenses and income with Lekhhaa today. Free forever!