Personal Finance with Beancount - Part 1

Personal Finance with Beancount - Part 1

Why I’m Switching (Again)

I have always managed my personal finances very carefully.

That doesn’t mean I always made the right choices. I definitely made stupid financial decisions. But I always knew I was making them.

I always knew:

  • How much money I had
  • How much I spent
  • And exactly how stupid my decisions were

Over the years, I’ve used quite a few tools to do that.


The GnuCash Years

In the beginning, I used GnuCash.

And I loved it.

I managed my finances like an accountant. My bank accounts were in there. I had accounts receivable and payable to track the small “loans” between friends after nights out. Every cent was accounted for.

I knew perfectly who owed me money.
Or more likely — who I owed money to.

It felt precise. Structured. Adult.

But it was also:

  • A desktop application
  • Syncing was a pain
  • Way overkill for what I actually needed

And while it was great at showing me how much money I had, it wasn’t great at helping me budget.

That’s when I moved to YNAB.


The YNAB Phase

I owe YNAB a lot.

It helped me through some genuinely tight financial periods. The zero-based budgeting approach is powerful if you have discipline and limited margins.

Every euro gets a job.
You make intentional trade-offs.
You stop lying to yourself.

For anyone who isn’t technical but wants to get serious about budgeting, I still think YNAB is an excellent tool.

If you are technical, there’s Actual Budget — which is essentially an open-source alternative built around the same philosophy.

I’ve been happily using Actual for a while now.

So why switch?


Why Change Something That Works?

There are a few reasons.

First: I miss the precision of my GnuCash setup.
I miss real double-entry accounting.
I miss explicit structure.

Second: my focus is shifting.

I’m less concerned with strict budgeting and more interested in:

  • Net worth
  • Investments
  • Cashflow over time
  • Wealth growth

Zero-based budgeting is amazing when you need control.
But I’m starting to think more in terms of balance sheets than envelopes.

And third — let’s be honest:

I just like cool stuff.


Why Beancount?

So... why Beancount?

Why not?

Beancount is a plain-text double-entry accounting system. Instead of clicking around in a UI, you describe your finances in text files using a structured format. Transactions, accounts, balances — everything lives in files you can open in any editor.

There’s no cloud platform. No proprietary database. No subscription model.

Just text.

Under the hood it follows proper accounting principles. Assets, liabilities, equity, income, expenses. Every transaction balances. If something doesn’t add up, it literally won’t compile.

It’s closer to writing code than using a finance app.

A fully featured accounting system… that is just text files?

That’s dangerously appealing.

Plain text.
Version control.
Python imports.
Automation.
Custom reporting.
Total transparency.

For a developer / tech nerd, this feels like a dream setup.

I swear I’m doing this for my finances and not for the shiny systems.

I think.

You can follow along as I try to figure this out.
No promises. No guarantees.

In Part 2, we’ll start by designing the account structure — which is where things immediately got more complicated than I expected.

Stay tuned