Shared expenses from a joint account

103 views
Skip to first unread message

Angelo Tata

unread,
Jul 3, 2023, 10:09:14 AM7/3/23
to Beancount
Hi, everyone; apologies in advance for the wall of text.

So, I have a fairly common use case (sharing expenses with my partner), and I know it's been discussed before, but there are still a couple of things I'm not sure about. I realise there may be different ways of going about it (one may be to use the autobean.share plugin, but I'm wary of adding plugin-specific metadata for now).

Previous relevant threads, for reference
- Loosely tracking shared expenses between partners (Dec 17)
- Expenses paid with external account (Jun 20)
- Payees, subaccounts, channels (Jul 22)
- Sharing household expenses (Aug 22)

My scenario
- I use Beancount, my partner doesn't (meaning she doesn't care for the same level of granularity in expense accounts, but she may be interested in coarser aggregates).
- We have a joint bank account which we use for shared expenses.
- We're adding a fixed amount to said account each month.
- We split shared expenses (and, consequently, deposits to the joint account) roughly in proportion to our relative income, so it's not 50/50.
- The bank where the joint account is (Monzo) has a decent API, so I can get a JSON dump of all transactions, or a delta.
- I have an importer for our joint account which can already do the math and prorate a posting's amount accordingly. I suppose it would be easy to turn the prorating part into a plugin instead, in case that made more sense.
- I still review transactions manually, to fix payees and expense categories as required.

Sample ledger
Here's a public gist with a sample ledger. In this example I am using Equity accounts for both my partner's deposits and her share of expenses from the joint account; e.g.:

2023-06-01 * "My partner" "June top-up: 40% of £2000"
Equity:PartnerContributions -800.00 GBP
Assets:UK:SharedBank:Joint

2023-06-12 * "Electricity" ""
Expenses:Bills:Electricity 0.60 * 150.00 GBP
Assets:UK:SharedBank:Joint -150.00 GBP
Equity:PartnerExpenses

Solved problems
My goals include being able to build reports showing my own expenses as well as an aggregate of our shared ones (e.g. "how much are OUR rent + bills + subscriptions each month?"). Red's suggestion to use BQL's FINDFIRST and other_accounts works well for this.

Questions
1. Should I consider my partner's monthly deposits to our joint account as "Income" instead? It doesn't feel right, because I can't really dispose of that money other than for sharing expenses, but mainly because I don't want to track the equivalent outgoing transactions under my own "Expenses" hierarchy.

2. Looking at the definitions of the various types of account in the docs, I can't figure out what type of account my partner's share of expenses should be booked to—"Equity" feels a bit of a hack.

"Equity" should, according to the docs, be used for accounts that hold a "summary of the net income implied by all the past activity". In my head, I could apply this to the account used to deposit money into the joint account, but not to the one for expenses.

Any other suggestions? Anything obvious I'm missing?

Thanks in advance!

Angelo

Red S

unread,
Jul 3, 2023, 2:55:18 PM7/3/23
to Beancount

I would personally use an Assets:Partner account:

Assets:Partner:Contributions ; instead of Equity:PartnerContributions Assets:Partner:Expenses ; instead of Equity:PartnerExpenses

This:

  • makes it trivial to query your partner’s contributions and expenses (they’re just the accounts above)
  • Optionally, you could add ` Assets:Partner:Expenses:Phone`, ` Assets:Partner:Expenses:Utilities` etc.
  • the top-level account (Assets:Partner) trivially tells you if your partner owes you, or you owe her, or you’re even at any point in time (positive/negative/zero balance)
  • in addition, this is factored into your own Assets automatically, as it should. I.e., if your partner owes you 100 GBP, it is automatically a part of your own assets, as it should be

Angelo Tata

unread,
Jul 8, 2023, 1:20:09 PM7/8/23
to Beancount
Thanks, Red.
Apologies for the delayed response, I had a busy week and I wanted to try your suggestion first, looking at Fava to see what were the consequences of using Asset accounts.
To be fair, I had already tried them in the past but:
- I had not used accounts under the same hierarchy (`Asset:Partner`), so contributions and expenses felt somewhat disconnected
- it felt weird because it didn't seem to satisfy the idea of an Asset account as "something I have" (that's still true for Assets:Partner:Expenses).

From what I can see, though, your suggestion:
- ensures Net Worth is correct
- allows me to keep looking at my own slice of the expenses
- allows me to look at aggregate (shared) expenses

...so I think I can live with the slight conceptual weirdness of the partner expenses "asset"!
Thanks again, 😌

Angelo

Red S

unread,
Jul 8, 2023, 1:40:34 PM7/8/23
to Beancount

Np! Glad it helped. If it helps mentally, rename Assets:Partner:Expenses to Assets:Partner:Due-to-me or Assets:Partner:Owed-to-me. The asset here is really not an expense, it’s what’s owed to you.

The advantage of calling it :Expense:.* is, queries are simpler and nicer. You can do things like SELECT account, SUM(number) where account ~ "Expenses:Phone" GROUP BY account and get an aggregate expense views.

Not a recommendation, but rather, food for thought: putting this under Liabilities: is equally valid too, BTW. Make no difference to the accounting system because the signs of the number take care of everything.

Reply all
Reply to author
Forward
0 new messages