Resetting the defaults: finances

I started 2021 by moving my finances from YNAB to hledger. The main motivation for this move was data portability, preference to open-source software and privacy.

I’ve been using YNAB for years and I think the YNAB method is solid. I wanted to continue using the method but with open-source software based on plain-text journal files. Examples include ledger, hledger and beancount. I picked hledger because of its focus on robustness.

There are several examples of YNAB-like budgeting in hledger: Simon Michael’s envelope budgeting journal, Freedom to Play — Envelope Budgeting with ledger, and Program Your Finances: Envelope Budgeting by Peter Keen. I decided to follow barrucadu’s Personal Finance memo because it covered variety of use cases and matched my way of thinking.

I started to prepare for the transition in mid December 2020. I took all my transactions in YNAB for that month and added them to hledger so that I could learn how each type of transaction (cash, credit, mortage) is recorded. I then continued to record each transaction to both systems until the end of the year. At this stage I only recorded my checking account’s transactions to keep things simple.

At the end of December 2020, I took the balances of each of my accounts and used them as the opening balances in hledger. I reviewed my categories in YNAB and added the most relevant as sub-accounts. From January 2021, I have done all my weekly reviews in hledger.

With the move to hledger I decided to increase data granularity. I now list everything in the journal file including stocks, loans and petty cash. For income, I record the pre-tax amount and then create breakdown transactions so that I can track how much taxes I’ve paid during the year.

After using hledger for a month, I have noticed that it’s much faster to get information “out” compared to YNAB: the information density of hledger’s output is higher, fuzzy searching of accounts and transactions makes it review easier and, I feel that by using hledger I have more tools available at my disposal.

The only annoyance I have is the additional transactions records required to support the YNAB method. I haven’t figured out a good way to integrate upcoming / periodic transactions to my workflow either.