Track your Net Worth in Obsidian
I update my net worth document every three months to assess my financial progress. I only tracked my savings and debts in the past, but this approach provided a partial picture of my financial health. For instance, my savings might increase, but I could still be losing money overall—or the reverse could happen when I make investments.
Over time, I realized I needed to track my net worth to understand my finances truly. Tracking my net worth has helped me identify trends, assess financial decisions, and focus on my goals.
In this article, I’ll explain how I track my personal net worth in Obsidian. This method is not set in stone - it’s adaptable to your needs and preferences. If you’re looking for a simple and effective way to manage your finances, this method might work for you, too.
What is Net worth? #
Net worth is the difference between your assets (what you own) and liabilities (what you owe). It’s a snapshot of your financial health. Assets include things like cash, investments, property, and other valuables, while liabilities include debts like loans and credit card balances.
Tracking your net worth over time gives you a clear view of how your finances are changing. It helps you understand if you’re accumulating wealth, managing debt effectively, or losing ground. By regularly reviewing your net worth, you can make more informed decisions about spending, saving, and investing to improve your financial health.
How I track my net worth #
To track my net worth I use Obsidian.
First I created a simple document with two main sections: assets and liabilities.
- Assets: This section includes everything I own that has value, such as cash, investments, properties, and other valuables.
- Liabilities: This section lists all the money I owe, like loans or credit card debt.
I then calculate the total value for both assets and liabilities. From there, I create four key pieces of information that are saved in the file’s tag properties:
- Date: The date the snapshot was taken.
- Assets: The total value of everything I own.
- Liabilities: The total value of what I owe.
- Net worth: The difference between assets and liabilities.
Here is the example of this file:
---
tags: note
date: 2024-12-01
assets: 525000
liabilities: 305000
net-worth: 220000
---
Parent: [[My NetWorth]]
---
## Net worth: $220.000
Total = Asset - Liabilities
= $525.000 - $305.000
---
## Assets: $525.000
cash:
- Bank: $10.000
investments:
- Awesome startup: $25.000
properties:
- home: $475.000
other valuables:
- car: $15.000
---
## Liabilities: $305.000
loans:
- $300.000
credit card debt:
- $5.000
---
Every three months, I update my net worth by duplicating the most recent file, renaming it, and entering the latest asset and liability values. This ensures I maintain an accurate and up-to-date record of my finances.
Over time, these files create a timeline of my net worth, allowing me to track financial progress and observe how my wealth changes. Using Obsidian, this system makes it easy to access and process the data programmatically, enabling simple visualization of trends and insights.
Visualizing Net Worth Timeline in Obsidian #
In Obsidian, you can visualize your net worth timeline in two ways: as a table or as a chart. The table provides a straightforward view of the data, while the chart offers a more visually engaging representation.
Here’s how to set it up.
Step 1: Install Necessary Plugins #
To get started, you’ll need to install two community plugins in Obsidian:
- Dataview: This plugin lets you query and display data from your notes in a structured format.
- Charts: This plugin allows you to create visual representations of your data with customizable charts.
To install these plugins, follow these steps:
- Open Obsidian’s settings and navigate to the Community Plugins section.
- Enable Restricted Mode if it’s turned off.
- Use the Browse option to search for “Dataview” and “Charts.”
- Install and enable each plugin.
For more detailed setup instructions, refer to the documentation on their respective websites.
Step 2: Organize Your Data in Files #
In Obsidian, start by creating a folder called My Net Worth
. Inside this folder, create another folder named notes
, which will hold all your quarterly net worth calculations.
Each file in the notes
folder should follow the naming format yyyy-mm-dd net worth.md
(e.g., 2024-12-01 net worth.md
). This consistent naming ensures your files are organized chronologically, making it easy to track your net worth over time.
Step 3: Create a Summary File #
In the My Net Worth
folder, create a summary file named My Net Worth.md
. This file will serve as a dashboard for visualizing your financial progress using both a table and a chart.
At the top of the file, include the following markdown header:
# My net worth
```dataviewjs
... you will add your code here ...
```
Insert the following DataviewJS code to pull data from the notes
folder, process it, and generate a timeline of your net worth.
Query Notes from the notes
Folder
// Get all pages from subfolder: notes
const currentFilePath = dv.current().file.path;
const currentFolder = currentFilePath.substring(0, currentFilePath.lastIndexOf("/"));
const folderName = "notes"; // Replace with your folder name
const targetFolder = currentFolder + "/" + folderName;
const pages = dv.pages(`"${targetFolder}"`).sort(p => p.date, 'asc');
Extract Data for Visualization
// Extract data from pages
const dateNames = pages.map(p => p.date.toString().substring(0, 7)).values;
const netWorth = pages.map(p => p["net-worth"]).values;
const assets = pages.map(p => p["assets"]).values;
const liabilities = pages.map(p => p["liabilities"]).values;
Create and Render the Chart
// Create and render chart
const chartData = {
type: 'line',
data: {
labels: dateNames,
datasets: [
{
label: 'Net worth',
data: netWorth,
backgroundColor: [ 'rgba(33, 150, 243, 0.2)' ],
borderColor: [ 'rgba(33, 150, 243, 1)' ],
borderWidth: 1,
},
{
label: 'Assets',
data: assets,
backgroundColor: [ 'rgba(76, 175, 80, 0.2)' ],
borderColor: [ 'rgba(76, 175, 80, 1)' ],
borderWidth: 1,
},
{
label: 'Liabilities',
data: liabilities,
backgroundColor: [ 'rgba(244, 67, 54, 0.2)' ],
borderColor: [ 'rgba(244, 67, 54, 1)' ],
borderWidth: 1,
}
]
}
};
window.renderChart(chartData, this.container);
Create and Render the Table
// Create and render the table
dv.table(
["Date", "Assets", "Liabilities", "Net Worth"],
pages.values.toReversed().map(
p => [
p.date,
p.assets,
p.liabilities,
p["net-worth"]
]
)
);
Final Thoughts: Visualizing Your Financial Progress #
When you open the summary file in Obsidian, you’ll see:
Chart: A visually appealing line chart displaying trends for Net Worth, Assets, and Liabilities. Each dataset is color-coded for easy identification.
Table: A detailed table showing the Date, Assets, Liabilities, and Net Worth for each quarter.
As you add more quarterly records, both the chart and table automatically update, providing an up-to-date view of your financial progress.
This setup creates a clear, visual timeline of your net worth over time, helping you easily assess your financial health and track your progress toward financial goals.
Get Started with Sample Files #
To make it even easier for you to set up your own net worth tracking system in Obsidian, I’ve prepared a set of sample files that you can download and import directly into your Obsidian vault.
You can download the files here.