Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

GnuCash Dashboard

October 2021

The end is nigh - at least for the current year :smile: So I took the opportunity to rethink my personal finances and experiment with different - open source - accounting tools. The result of this effort is a personal finance dashboard which turns data from a local GnuCash file into a neat overview of your financial situation.

{% hint style=“info” %} GnuCash is a free and open source accounting software which has been around for decades. It is highly stable, actively maintained and supports double-entry accounting. {% endhint %}

This is how the GnuCash Dashboard looks like

You are free to use and modify the GnuCash Dashboard as you wish, because I released it under GPLv3 :tada: Simply head over to its GitHub repository, hit the download button and you are ready to go!

Please Note: The current state of work is tested on elementary OS 6 (based on Ubuntu 20.04 LTS). If you’d like to run the dashboard on another platform and run into issues, feel free to let me know in the issues section of the GitHub repository.

Metrics

A lot of inspiration for the KPI’s is drawn from Michael Walker’s approach on personal finance.

Net Worth Absolute

If I paid off all my liabilities right now, how much of my assets would remain?

net_worth = assets + liabilities

Net Worth Trend

What is the net worth growth trend for the last n months?

net_worth_trend = linear_regression (assets_last_n_months + liabilities_last_n_months)

# Default: n months = 6

Net Worth Prediction

If my net worth keeps growing at the current rate, when will I achieve a certain goal?

net_worth_predicted_at_date = extrapolate(net_worth_trend, until=goal)

# Default: goal = 100_000

Income vs. Expenses

This should be pretty self explanatory. Defaults to the last 6 months.

Runway

If my income stopped right now, how long would I be able to survive?

runway = assets / average_daily_expense_last_n_days

# Default: n days = 180