I am trying to use GnuCash to keep track of the expenses (such as rent and electricity) in a shared apartment. For historical reasons, I pay for all the bills from my personal checking account. At the beginning of every month, my roommates transfer their expected share to this checking account. Ideally, I would like to keep it that way and use my personal GnuCash file to keep track of all these expenses. My first attempt to achieve this goes something like this:

  • Assets
    • Checking account
    • Claims against roommates
      • Person A
      • Person B
      • Person C
    • Clearing of joint expenses
      • Period 1 (A + B + me)
      • Period 2 (B + C + me)
    • Additional personal accounts...
  • Expenses
    • Apartment

The idea is the following: I use the Claims against roommates to track what every roommates owes me. After a person moves out, this needs to be settled by a transfer from or to my checking account.

I added Clearing of joint expenses accounts to split the joint expenses of all the persons that share the apartment at a given time. When I pay the a bill for the electricity while A and B share the apartment with me, for instance, this would decrease the balance of my checking account and increase the balance of the Period 1 (A + B + me) account.

At regular intervals (such as at the end of the year), I would book 1/3 of the this account's balance to the claims against Person A, 1/3 to the claims against Person B, and 1/3 to my personal expenses (Apartment).

What I like about this setup is that I don't have to go though the effort to split every single apartment-related transaction that appears in my checking account. Instead, I delay and combine a lot of these splits into one. However, this comes at the disadvantage that my personal expenses are tracked in a delayed manner. Until I perform the split, my net worth seems higher that it actually is (since I have already paid for my portion of my electricity bill).

Is there a better way to handle this situation?

1 Answer 1


I think that you are pretty much following a good process.

Given that you are using double entry book-keeping, I presume that you debit your cheque account and credit the Claims Against Person X account whenever Person X makes a deposit.

However, it appears that your roommates pay their contributions on a monthly basis, and you reconcile their contributions at a "regular interval" which might be annually. That means that there is a long period before a roommate knows if their contributions were for the correct amounts.

My main suggestion would be to update the "claims against roommates" more regularly. This might be on a monthly basis, or after each bill is paid, but certainly more frequently than once or twice per year.

This will require a few minutes work per month, rather than an effort once per year. However, the benefit will be that the GnuCash accounts more closely reflect the actual situation. Your expenses will be more up to date in GnuCash so you will know how your costs are tracking. Perhaps more importantly, you will have a ready answer any time one of your roommates asks "Hey Bosonic, how much do I owe you for the shared expenses?". The Claims Against Person X account will already have the relevant balance if all of the debits and credits are already entered.

Post script - You might also assess whether or not to implement accrual accounting (https://en.wikipedia.org/wiki/Basis_of_accounting). If you are billed quarterly for electricity, but a roommate moves out one month before the billing period ends, do they owe anything for electricity? Accrual accounting would suggest that they do.

You must log in to answer this question.