Help with setup for Mortgage + shared bank account

218 views
Skip to first unread message

Tino de Bruijn

unread,
Mar 3, 2024, 6:03:08 AM3/3/24
to Beancount
I've been using Beancount for years to track both my business as well as a shared bank account with friends. However, now I'm trying to set up a way to track our mortgage, as well as how much each of us (my partner and me) "own" to the shared account, and I just can't figure out what setup or queries I should use.

I now have a setup as follows:

plugin "beancount.plugins.auto_accounts"

2023-04-24 * "Buy" "Mortage"
  Liabilities:Mortgage                    -300000.00 EUR
  Assets:House

2023-04-24 * "Buy" "Cash in"
  Income:Partner                          -100000.00 EUR
  Assets:House

2023-05-01 * "Bank" "Mortgage payment: 200,00; Interest: 400,00"
  Assets:Bank                                -600.00 EUR
  Liabilities:Mortgage:Me                    133.333 EUR
  Liabilities:Mortgage:Partner                66.667 EUR
  Expenses:Mortgage:Interest:Me              266.667 EUR
  Expenses:Mortgage:Interest:Partner         133.333 EUR

; HOW TO DO THIS?
; 2023-05-01 * "Required payment"
;   ????                                       -600.00 EUR
;   ??????:Partner                              250.00 EUR
;   ??????:Me                                   350.00 EUR

2023-05-10 * "Bank" "Monthly Me"
  Assets:Bank                                 300.00 EUR  ; Whoops, 50 too low
  Income:Me

2023-05-11 * "Bank" "Monthly Partner"
  Assets:Bank                                 250.00 EUR
  Income:Partner


I'm wondering how to set up that "Required payment"? We split (non-50/50) and I want to set that up per month (will build a plugin probably), as it is based on the difference in income. In this (contrived) example, I paid the wrong amount, and I would like to see somewhere that I'm €50 short.

And finally, we also want to track how much each of us owns of the house. As you can see my partner had cash from a previous house, whereas I pay more per month, so this balance changes. (This was recommended to tackle it this way by the notary, in case we ever separate.) How could I get accounts set up (Assets:House:Partner/Me? or a query?) to track this?

Thanks!

Chary Chary

unread,
Mar 3, 2024, 2:17:03 PM3/3/24
to Beancount
Hi,

I would probably do this a bit differently. But let me clarify one thing: what is the price of your house, which the previous owner got paid. Is this 300,000.00 EUR or 400,000.00 EUR?

Regards.

Chary Chary

unread,
Mar 3, 2024, 2:42:39 PM3/3/24
to Beancount
I think also important to know what your mortgage and house buying contract says. I assumed you signed it together with your partner.

Also, do you have any partnership agreement with your partner. How does it handle common property?

Tino de Bruijn

unread,
Mar 4, 2024, 4:10:19 PM3/4/24
to Beancount
> what is the price of your house, which the previous owner got paid. Is this 300,000.00 EUR or 400,000.00 EUR?

400k (which is also shown correctly on the balance).

> Also, do you have any partnership agreement with your partner. How does it handle common property?

Somewhat like that. You may assume it is set up in such a way that keeping track of who paid what makes sense, and as such, that's what I want to accomplish :).

> I would probably do this a bit differently

Keen to hear how you'd approach this!

Thanks,


Tino

Chary Chary

unread,
Mar 5, 2024, 6:05:14 PM3/5/24
to Beancount
Hi,

see my thoughts below

Assumptions:
You have a joint marriage-like household.  
I think the most correct way to treat such setup is like a small company with 2 owners.
In such setup, the 100 K EUR paid by your partner as an initial payment for the house is not your income, this is your partner's initial investment
In the same way, if you decide to split, what your partner will take in not your expenses, this is Equity:PartnerA:Drawings

Think of it once again as a small business. If one partner leaves, the part of the business that partner takes will not go on expenses.

Also in such setup some of the Assets, Liabilities and Expenses are joint ones, you just can't split them in the ledger. In the same way as in business you just can't split between partners expenses of the company.

I also think that principle is to log information as simple as possible, but the query later on can be as complex as needed. The important thing is that all needed information is logged.

Regarding how to determine how much of house each of you owns
This question IMHO goes outside of beancount. The role of beancount IMHO is record things as simple as possible.

The share of ownership will depend on your prior agreements, singed at notary or lawyer  ad / or legislations of your country. The important thing is that you both agree in advance how to calculate it and document this.
The standard decision in by a judge in most of the jurisdictions would be to split all jointly earned assets and liabilities 50%

I would consider fair for myself the following:
Net Present Value of total payments of all partners is calculated. The relation between the value of NPVs determines the share of house ownership. I would probably not consider what part of each other's payment went to reduce mortgage and how much to pay bank interest. 

So, what do you think?



2023-04-24 commodity  HOUSE
; Tracking house as a commodity.
; This will allow us to track the value of the house over time as the market price changes and to
; reflect this in your balance sheet.

; Join accounts
2023-04-24 open Liabilities:Mortgage  EUR
2023-04-24 open Assets:House HOUSE
2023-04-24 open Expenses:Mortgage-Interest EUR

; Partner A accounts
2023-04-24 open Equity:PartnerA:Initial-Cap EUR
2023-04-24 open Equity:PartnerA:Drawings EUR

2023-04-24 open Assets:PartnerA:Bank EUR
2023-04-24 open Income:PartnerA:Salary EUR


; Partner B accounts
2023-04-24 open Equity:PartnerB:Initial-Cap EUR
2023-04-24 open Equity:PartnerB:Drawings EUR

2023-04-24 open Assets:PartnerA:Bank EUR
2023-04-24 open Income:PartnerA:Salary EUR


; Initial capital

2023-04-24 * "Initial capital partner A, invested in household"
  Equity:PartnerA:Initial-Cap        -100,000.00 EUR
  Assets:PartnerA:Bank              

; *** Buyin the house

2023-04-24 price  HOUSE 400,000.00 EUR

; you can tag the transaction with the mortgage account to make it easier to track the mortgage payments
2023-04-24 * "Buy House" ^mortgage
  Liabilities:Mortgage              -300,000.00 EUR
  Assets:House                       1 HOUSE  @@ 400,000.00 EUR          
  Assets:PartnerA:Bank            -100,000.00 EUR ; You partners 100,000.00 EUR invested in the house is not your income, it is your partner's initial capital


2023-04-29 * "Partner A income"
  Assets:PartnerA:Bank                      4,000.00 EUR
  Income:PartnerA:Salary                    

2023-04-29 * "Partner B income"
  Assets:PartnerB:Bank                      3,000.00 EUR
  Income:PartnerB:Salary  


; I do not think it is correct to write how much of every parner's  payment goes to interest and how much goes to reduce mortgage.
; you just note how much each of you paid to the bank
2023-05-01 * "Bank" "Mortgage payment: 200,00; Interest: 400,00" ^mortgage
  Assets:PartnerA:Bank                  -400.00 EUR
  Assets:PartnerB:Bank                  -200.00 EUR
  Liabilities:Mortgage                   200.00 EUR
  Expenses:Mortgage-Interest             400.00 EUR

; now market price of your house has increased.
; congratulations!

2024-01-01 price HOUSE 450,000.00 EUR

; you will see this when you run a balance sheet -like beanqury. e.g.
;
; SELECT account, convert(position, 'EUR') as amount WHERE account ~ "Assets|Liabilities"

Chary Chary

unread,
Mar 6, 2024, 12:18:10 PM3/6/24
to Beancount
Just updated a couple of typos




2023-04-24 commodity  HOUSE
; Tracking house as a commodity.
; This will allow us to track the value of the house over time as the market price changes and to
; reflect this in your balance sheet.

; Join accounts
2023-04-24 open Liabilities:Mortgage  EUR
2023-04-24 open Assets:House HOUSE
2023-04-24 open Expenses:Mortgage-Interest EUR

; Partner A accounts
2023-04-24 open Equity:PartnerA:Initial-Cap EUR
2023-04-24 open Equity:PartnerA:Drawings EUR

2023-04-24 open Assets:PartnerA:Bank EUR
2023-04-24 open Income:PartnerA:Salary EUR


; Partner B accounts
2023-04-24 open Equity:PartnerB:Initial-Cap EUR
2023-04-24 open Equity:PartnerB:Drawings EUR

2023-04-24 open Assets:PartnerB:Bank EUR
2023-04-24 open Income:PartnerB:Salary EUR
; you will see this when you run a balance sheet -like beanquery. e.g.
;
; """SELECT account, SUM(convert(position, 'EUR')) as amount WHERE account ~ 'Assets|Liabilities'"""

Tino de Bruijn

unread,
Mar 6, 2024, 4:03:00 PM3/6/24
to Beancount
Hi,

Thanks for your suggestions. Putting that was is "invested" into Equity makes sense to me.

However, as I stated in my original post, I want to be able to track what each of us has payed "into" the house, whether via initial payment or mortgage repayments. This was also advised by our notary. So I'll keep the splitting.

> Think of it once again as a small business. If one partner leaves, the part of the business that partner takes will not go on expenses.

Exactly, that's why the interest payments go to Expenses, and we don't use those. (They are still split because I use a modified auto split plugin, but that doesn't really matter.)

You create a Bank asset for each partner. How do you suggest to use those? As stated, we have a shared bank account, that I import into this ledger.

My main problem is still this:
> I'm wondering how to set up that "Required payment"? We split (non-50/50) and I want to set that up per month (will build a plugin probably), as it is based on the difference in income. In this (contrived) example, I paid the wrong amount, and I would like to see somewhere that I'm €50 short.

Thanks,

Tino

Chary Chary

unread,
Mar 7, 2024, 5:27:06 AM3/7/24
to Beancount
On Wednesday, March 6, 2024 at 10:03:00 PM UTC+1 Tino de Bruijn wrote:
Hi,

Thanks for your suggestions. Putting that was is "invested" into Equity makes sense to me.

However, as I stated in my original post, I want to be able to track what each of us has payed "into" the house, whether via initial payment or mortgage repayments. This was also advised by our notary. So I'll keep the splitting.

So, if I correctly understand, there is a requirement that track how much of each payments went to reduce the mortgage and how much to pay bank percentage. I assume, that you get this Info from bank, every  time you pay. In this case one indeed needs to split payment.


You create a Bank asset for each partner. How do you suggest to use those? As stated, we have a shared bank account, that I import into this ledger.

If you have a shared bank account, how do you know whos money were used for payment? Once you deposited to shared bank account, these are already joint funds, not individual?


 

My main problem is still this:
> I'm wondering how to set up that "Required payment"? We split (non-50/50) and I want to set that up per month (will build a plugin probably), as it is based on the difference in income. In this (contrived) example, I paid the wrong amount, and I would like to see somewhere that I'm €50 short.


I am not sure I understand what  do you mean under "how to set up that "Required payment"? Does beancount have such feature?
I would just query from beancount with beanquery how much each of you have paid already, they would work out the difference (in Excel) and based on this information would work out a new payment for each of you. Or am I missing something?



Daniel Militão

unread,
Nov 30, 2025, 10:13:15 PMNov 30
to Beancount
Hello Tino! Sorry for the necro, but I seem to be in a very similar circumstance as you were last year. 
I also have a joint with my partner and we just bought a apartment. We currently use beancount_share to track our shared costs and we were wondering how to tackle tracking who pays what regarding the apartment. Say they pay 1500 out of at 2000 mortgage, we believe they should own 75% of the apartment and vice-versa. Legally that is what we have on paper, but are currently struggling how to model this. 
How did you tackle this problem?
Reply all
Reply to author
Forward
Message has been deleted
0 new messages