Over the last few years, I've shared flats with various people, and we have needed a way to work out how we split the bills. If there are only two people then it's fairly simple, but it does get more complicated with additional people. This page shows the system that I've used; it isn't the only one, but it works for me, and so you may find it useful.

For the sake of example, let us assume that Leo, Mike, Donny, and Rafe all share a house together. Any resemblance to turtles is entirely coincidental, honest, so please don't sue me :)

Suppose that Mike owes £10.00 to Leo, and £50.00 to Donny. Meanwhile, Leo owes £100.00 to Donny. (We'll ignore Rafe for the moment.) The naïve approach is to say "ok, those 3 can give 3 cheques to each other for those amounts". (N.B. I am using "naïve" here in the scientific sense, to mean "the first approach you might think of", rather than implying any gullibility.) However, you can reduce this to two payments, by getting rid of Mike's payment to Leo. Instead, Mike pays Donny £10.00 more, and Leo pays Donny £10.00 less, i.e. Mike pays Donny £60.00, and Leo pays Donny £90.00. Donny gets the same total amount as before (£150.00), and Mike still pays the same total amount (£60.00), so they're both happy. Leo's case is slightly more complex, but his net difference is still the same (he has £90.00 less than before), and he doesn't have to make a trip to the bank to pay in Mike's cheque, so he's happy too.

To make this more general, we need to pick one person as the "banker", and then all payments are tracked relative to him. It makes sense for this to be the person who pays the biggest bill (typically the rent), although that isn't essential. So, you don't need to rework the whole system if someone else makes a big one-off payment one month (e.g. buying plane tickets for a group holiday). In a case like this, you would then wind up with the banker being owed negative amounts of money, so he will then give cheques to others, rather than receiving them.

To give an example, suppose that Rafe is the banker. At the end of the month, Leo and Mike each owe him £500.00, and Donny owes him -£1500.00. So, this would then mean that Rafe receives £1000.00 from Mike and Leo, and pays Donny £1500.00, so he's only effectively paid out £500.00. If this was the case each month, it would make more sense for Donny to be the banker, and get £500.00 from Mike, Leo, and Rafe, but it's ok to do it this way as a one-off if you need to.

Now let's consider a more complex example, for a month's worth of bills. Typically, you wouldn't just have one person paying for all the bills. So, maybe Mike pays for the phone bill (£40.00), Leo pays for the electricity (£80.00), and Rafe pays for the rent (£500.00). For simplicity at this point, suppose that all the bills are split equally. If you then try to work out who owes what to whom, it gets a bit complicated.

Under my system, the rule of thumb is "If anybody owes any money, then he owes it to the banker. If anyone is owed any money, then the banker gets it." That sounds iffy, but it does actually work. If the banker owes money to anyone else, then that amount is deducted from the other person's debt.

Let's make Rafe the banker. If we just consider the phone bill initially, we get a balance sheet like this:

Debts | Paid to Rafe | Owed to Rafe | ||||||
---|---|---|---|---|---|---|---|---|

Reason | Owed by | Owed to | Amount | Paid by | Amount | Leo | Mike | Donny |

Initial values | £0.00 | £0.00 | £0.00 | |||||

Phone bill | Leo | Mike | £10.00 | £10.00 | -£10.00 | £0.00 | ||

Phone bill | Donny | Mike | £10.00 | £10.00 | -£20.00 | £10.00 | ||

Phone bill | Rafe | Mike | £10.00 | £10.00 | -£30.00 | £10.00 |

(Changes to balances are indicated in bold, and negative values are in red.)

So, what's happened here is that when Leo owes money to Mike, Leo's debt to Rafe goes up, and Mike's debt to Rafe comes down. The same principle applies when Donny owes money to Mike. When Rafe owes money to Mike, Mike's debt comes down again, but nobody else's debt goes up. So, if that was the only bill this month (lucky guys!) then Leo, Donny, and Rafe will each pay £10.00, and Mike will receive £30.00, even though the other three aren't paying Mike their share directly. So, you can see that this approach does produce the correct results, even if it's a long way round.

The most important thing to understand (which may be counter-intuitive) is that you don't track all the money which is paid. In this example, the phone bill is £40.00, which Donny pays. If this is split equally 4 ways, then that means he has paid the £10.00 which is his share, and then he has paid £30.00 on the others' behalf. So, this expense is then entered as £30.00, **not** as £40.00. It is only the money he's owed that matters, not his share that he had to pay anyway.

Now lets include the rest of the bills for the month:

Debts | Paid to Rafe | Owed to Rafe | ||||||
---|---|---|---|---|---|---|---|---|

Reason | Owed by | Owed to | Amount | Paid by | Amount | Leo | Mike | Donny |

Initial values | £0.00 | £0.00 | £0.00 | |||||

Phone bill | Leo | Mike | £10.00 | £10.00 | -£10.00 | £0.00 | ||

Phone bill | Donny | Mike | £10.00 | £10.00 | -£20.00 | £10.00 | ||

Phone bill | Rafe | Mike | £10.00 | £10.00 | -£30.00 | £10.00 | ||

Electricity | Mike | Leo | £20.00 | -£10.00 | -£10.00 | £10.00 | ||

Electricity | Donny | Leo | £20.00 | -£30.00 | -£10.00 | £30.00 | ||

Electricity | Rafe | Leo | £20.00 | -£50.00 | -£10.00 | £30.00 | ||

Rent | Leo | Rafe | £125.00 | £95.00 | -£10.00 | £30.00 | ||

Rent | Donny | Rafe | £125.00 | £95.00 | -£10.00 | £155.00 | ||

Rent | Mike | Rafe | £125.00 | £95.00 | £115.00 | £155.00 |

Hopefully you can now see how my approach makes the sums easier. At any point, to find out the current status, you only need to look at the bottom row, and take the values in the "Owed to Rafe" columns.

Finally, we can include the payments to Rafe. To make things more interesting, let's say that Leo and Mike pay in full, but that Donny only pays £150.00:

Debts | Paid to Rafe | Owed to Rafe | ||||||
---|---|---|---|---|---|---|---|---|

Reason | Owed by | Owed to | Amount | Paid by | Amount | Leo | Mike | Donny |

Initial values | £0.00 | £0.00 | £0.00 | |||||

Phone bill | Leo | Mike | £10.00 | £10.00 | -£10.00 | £0.00 | ||

Phone bill | Donny | Mike | £10.00 | £10.00 | -£20.00 | £10.00 | ||

Phone bill | Rafe | Mike | £10.00 | £10.00 | -£30.00 | £10.00 | ||

Electricity | Mike | Leo | £20.00 | -£10.00 | -£10.00 | £10.00 | ||

Electricity | Donny | Leo | £20.00 | -£30.00 | -£10.00 | £30.00 | ||

Electricity | Rafe | Leo | £20.00 | -£50.00 | -£10.00 | £30.00 | ||

Rent | Leo | Rafe | £125.00 | £95.00 | -£10.00 | £30.00 | ||

Rent | Donny | Rafe | £125.00 | £95.00 | -£10.00 | £155.00 | ||

Rent | Mike | Rafe | £125.00 | £95.00 | £115.00 | £155.00 | ||

Leo | £95.00 | £0.00 | £115.00 | £155.00 | ||||

Mike | £115.00 | £0.00 | £0.00 | £155.00 | ||||

Donny | £150.00 | £0.00 | £0.00 | £5.00 |

In fact, my balance sheet has a couple of extra columns - one at the start for the date, and one at the end for extra comments (e.g. if the reason was "Cinema" then the comment would indicate the film seen).

One advantage of my system is that it doesn't rely on payments being split equally, which would be useful if you wanted to say "the person with the biggest room pays more rent than everyone else". Another is that it can handle random payments that don't involve the whole group, e.g. if Mike and Leo go out for pizza one evening, and Leo pays for both of them, then Mike's share of the bill can be processed through the accounts and settled at the end of the month. I did investigate a "pool" system a while back, but it didn't really seem workable. The only real downside to my approach is that you basically have to enter each payment multiple times, but that's only a minor inconvenience. Also, if someone doesn't pay the correct amount (either too much or too little), then the remainder is simply carried forward to the next month, with no specific intervention required.

I use Microsoft Money for all my personal accounts, which I definitely recommend. You can download a trial version from the Microsoft website if you're interested. I've incorporated loan accounts into that, one for each flatmate. So, if you assume that I am Rafe in the example above, then I would have 3 loan accounts: "Leo's loan", "Mike's loan", and "Donny's loan". If Leo then owes Donny £5.00 for the cinema, I would enter this as a transfer from Leo's loan to Donny's loan, i.e. Leo will now owe me £5.00 more, and Donny will owe me £5.00 less. I also have recurring payments set up, e.g. for rent, and that makes data entry a lot quicker (balancing out the inconvenience of multiple lines per payment that I mentioned above).

I've also kept an Excel file up to date, which is easier for other people to view. Here is a demo version of the Excel file that I use (created in Office 2003). This doesn't contain any macros, so you can have your security as high as you like. You can save this file to your hard drive, then modify it to fit your own requirements. Tip: you can highlight the three "Owed to Rafe" values in the bottom row (i.e. H14:J14), then drag downwards to create new rows with the formulae filled in for you. Then you only need to type in debts/payments, and the balance calculations will be performed automatically.

Of course, Money and Excel won't be much use to you if you aren't running Windows, but the same technique can be applied to other computer programs (or just pen and paper).

So, is it actually worth the hassle of doing it this way? Ultimately, that's up to you. However, it can be reduced to a mathematical equation, showing the contrast between different methods. Using the naïve approach, if you have n people sharing a house, then you will have Sigma (1..n-1) payments between people at the end of the month. Using the approach I suggest, you will have n-1 payments. So, the difference is then Sigma (1..n-2).

Ok, I realise that the maths may look a bit scary, so here are some examples to put it in perspective. If there are 2 people involved, then there will only be 1 payment at the end of the month, whichever method you use. If there are 5 people, the naïve approach will involve 1 + 2 + 3 + 4 = 10 payments. By contrast, my method will involve 4 payments. So, the difference is 1 + 2 + 3 = 6 payments. More generally, the more people you have in the house, the more significant the difference will be.

This page was last updated on 2004-02-29 by John C. Kirk