When several people pay for different shared expenses, the confusing part comes at the end: who owes whom, and how much? You don't need to untangle every bill one by one. Work out each person's net balance, and the answer falls out.
The basic formula
Net balance = amount paid − personal share
Positive: the person paid more than their share and should get money back.
Negative: the person paid less than their share and owes money.
Zero: they're settled.
A simple example
Three friends, Anna, Max and Oleg, spend an evening out:
Anna pays €90 for dinner.
Max pays €30 for a taxi.
Oleg pays €60 for tickets.
Total spending is €180. All three took part in everything, so each person's share is €60.
Person | Paid | Share | Balance |
|---|---|---|---|
Anna | €90 | €60 | +€30 |
Max | €30 | €60 | −€30 |
Oleg | €60 | €60 | €0 |
The result: Max pays Anna €30. Three payments during the evening, one transfer to settle it.
What if people joined different expenses?
Don't divide the total equally unless everyone took part equally. If only two of four friends shared a taxi, the taxi is split between those two. Work out each expense among the people who actually took part, then add up each person's shares and compare the sum with what they paid. How to split expenses with friends covers deciding who's in and choosing a split.
Let the balance update itself
Doing this by hand works for one evening. Over a trip or a shared flat, it's easier to record each expense when it happens and let the balance keep itself. In HiBill you type what happened in one sentence:
HiBill reads it into a review: who paid, how much, who took part, which day. You check it and press Add. Here you paid €84 and your share is €28, so your balance is +€56: Max and Anna each owe you €28. Every later expense and repayment moves the same balance, so the answer to "who owes whom?" is always on screen. Understanding balances explains what the number means.

Unequal splits
The same method works when an expense isn't divided equally. Say a €100 expense is split 50% / 30% / 20% between Alex, Mia and Sam, and Mia paid the whole €100:
Person | Paid | Share | Balance |
|---|---|---|---|
Alex | €0 | €50 | −€50 |
Mia | €100 | €30 | +€70 |
Sam | €0 | €20 | −€20 |
Alex owes Mia €50 and Sam owes Mia €20. Percentages, exact amounts and item-by-item splits all come down to the same thing: one share per person. Choosing a split method shows the options in HiBill.
Repayments change the balance too
If Alex owes Mia €50 and sends Mia €20, €30 is left. Record the repayment next to the expenses, or the history will be right while the current balance is wrong. In HiBill a repayment is a transfer in the same timeline as the expenses (Settling up and payment reminders).
Full example: a weekend trip
Four friends share every cost of a weekend away equally:
Alex pays €400 for accommodation.
Mia pays €120 for groceries.
Sam pays €80 for fuel.
Leo pays €40 for parking.
Total: €640. Each person's share: €160.
Person | Paid | Share | Balance |
|---|---|---|---|
Alex | €400 | €160 | +€240 |
Mia | €120 | €160 | −€40 |
Sam | €80 | €160 | −€80 |
Leo | €40 | €160 | −€120 |
Mia, Sam and Leo together owe €240, exactly what Alex should get back. Three transfers settle the whole weekend: Mia pays Alex €40, Sam pays €80 and Leo pays €120.
Netting and circular debts
Two people who owe each other don't need two transfers. If Mia owes Alex €40 from dinner and Alex owes Mia €15 from tickets, Mia pays Alex €25. That's netting, and a running balance does it for you.
With three or more people, debts can form a loop: Alex owes Mia €20, Mia owes Sam €20 and Sam owes Alex €20. A loop like that cancels out, and nobody pays anyone. A one-way chain (Alex owes Mia, Mia owes Sam) is not a loop, and rerouting it would change who owes whom. Debt simplification explained walks through how loops cancel and when they can't.
Can you do this in a spreadsheet?
Yes, and for a handful of expenses it's quick. It gets harder when the people change from expense to expense, splits are unequal, repayments come in, several currencies are involved or the expenses run into dozens. 5 ways to keep track of who owes you money compares a spreadsheet with the other options.
FAQ
What is the formula for calculating who owes whom?
Amount paid − personal share = net balance. A positive balance means the person gets money back; a negative one means they owe.
Should every expense be repaid separately?
Usually not. A running balance lets expenses offset each other, so you settle less often and with fewer transfers.
Is netting the same as debt simplification?
Not quite. Netting offsets debts between two people. Debt simplification also cancels loops of debts across three or more people.
How do I handle expenses in different currencies?
Keep a separate balance per currency instead of converting at a rate nobody agreed on, and convert only when you settle. Working with multiple currencies shows how HiBill does it.
Continue reading
Debt Simplification Explained: How Circular Debts Between Friends Cancel Out — how a loop of debts cancels out, with a worked example.
5 Ways to Keep Track of Who Owes You Money (and Which One Holds Up) — memory, chat, spreadsheet or app: where each one breaks.
How to ask a friend to pay you back — what to say once you know the number.