I just started using GNUCash to track my finances, and I have two hypothetical examples I'm not sure how to log.

Example 1

  • On Sunday, I made a 100$ purchase. Since I didn't have a credit card on hand, my friend paid, and I reimbursed him immediately in cash.
  • On Monday, the purchase got cancelled, and the 100$ were refunded to my friend's credit card.
  • On Tuesday, my friend returned the 100$ back to me, via direct bank-transfer.

How should these transactions be logged?

Assets:Cash        ->          ?
?                  ->          Expenses:
Expenses:Purchase  ->          ?
?                  ->          Assets:Bank Account

Example 2

Due to Covid-19, me and my roommates buy groceries jointly. One of us goes to the store, and pays for the groceries himself. I then reimburse him (in cash or direct bank-transfer) for everything, and everyone else then reimburses me. A few caveats:

  • I am reimbursed by different friends at different times, and in different ways (cash/bank transfer/etc.).
  • Sometimes I reimburse the friend who bought groceries before, and sometimes after, the other friends pay me.
  • The person buying groceries is not the same each time.

I want to be able to track the following: the total groceries expenses (for everyone together), my personal share of those groceries, and what each person owes me / I owe them.

How can I track this in GNUCash?

  • Your second question is a duplicate of money.stackexchange.com/questions/127027/… – base64 Aug 12 '20 at 4:22
  • @base64 Thank you, but the solution there is for a ledger from the household point of view - I want my ledger to be from my personal POV. – Inkbug Aug 12 '20 at 10:26

For your Example 1, I note that you reimbursed your friend immediately when he made a purchase on your behalf, and he returned the money to your bank account (almost) immediately when the purchase was cancelled. Since the periods of time when you owed money to your friend or he owed money to you were both insignificant, it's very tempting to just record the purchase by crediting your "cash in wallet" account and two days later record the refund as a debit to your bank account.

If you really, really want to record everything in excruciating detail, you would record the following transactions:

(Sunday's date) 
<DR> $100.00 Expenses:Goods purchased 
<CR> $100.00 Liability:Debt to friend

(Sunday's date)
<DR> $100.00 Liability:Debt to friend
<CR> $100.00 Assets:Cash in wallet

(Monday's date)
<DR> $100.00 Liability:Debt to friend
<CR> $100.00 Expenses:Goods purchased

(Tuesday's date)
<DR> $100.00 Assets:My bank account
<CR> $100.00 Liability:Debt to friend

For your Example 2, you have stated that you want the ledgers to be from your personal POV, but you also want to know the total grocery costs for the household. That second requirement will need an extra step on the reporting side.

I'd suggest that you set up the following accounts (assuming a four-person household):

Assets:Bank Account
Assets:Cash in Wallet
Assets:Money owed to me by Person2
Assets:Money owed to me by Person3
Assets:Money owed to me by Person4

Typical transactions over the course of a week might be:

Day 1 (Person3 goes shopping and buys $120 of groceries)

  • no transactions in GnuCash (it hasn't cost you anything personally, yet)

Day 2 (You reimburse Person3 in cash for the cost of all the groceries)

<DR> $120.00 Expenses:Groceries:Household
<CR> $120.00 Assets:Cash in Wallet

You now notionally "own" the groceries. If it was you that went to the store, then record all of the Day 2 transactions, but don't actually give any money to Person3.

Day 2 (You distribute the costs of the groceries to all of the housemates)

<DR> $30.00 Expenses:Groceries:Me
<DR> $30.00 Assets:Money owed to me by Person2
<DR> $30.00 Assets:Money owed to me by Person3
<DR> $30.00 Assets:Money owed to me by Person4
<CR> $120.00 Expenses:Groceries:Household

Day 3 (two housemates pay you for their share)

<DR> $30.00 Assets:Bank Account
<CR> $30.00 Assets:Money owed to me by Person3
<DR> $30.00 Assets:Cash in Wallet
<CR> $30.00 Assets:Money owed to me by Person4

Day 6 (the last housemate finally pays up)

<DR> $30.00 Assets:Cash in Wallet
<CR> $30.00 Assets:Money owed to me by Person2

If the transactions occur in a different sequence, that's fine. Just record the transactions with their correct dates, and don't stress if the "Money owed to me by PersonX" account goes temporarily negative.

After all of these transactions, the Expenses:Groceries:Household account should show a zero balance. If you want to track household expenditure on groceries, you can run a Transaction Report on this account and just add up the Debit transactions within the target date range.

I'm not an accountant, but (hypothetically) this should work for the examples provided.

  • Thank you. If, generally, a friend owes me money, but occasionally I owe him, should his account be an Asset (with a negative balance when I owe him), or should there be two accounts, one an Asset, and one a Liability? – Inkbug Aug 18 '20 at 11:47
  • It would be sufficient to have one (Asset) account for this purpose. When the balance of your Asset:Money Owed to Me by Friend account is positive, your friend should pay you some money. If the balance of the account is negative, you owe money to your friend. – Greg Schmidt Aug 19 '20 at 13:55

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.