Plutus Is a Command Line Income and Expense Tracker
It uses a single CSV file as a data source and comes with a few commands to help you quickly analyze your finances.
Does the world need another finance tracking or budgeting tool? Yes it does haha.
I’ve been tracking my income along with business and personal expenses for about 10 years and every tool I tried left me feeling like I have to make compromises.
I built and open sourced Plutus to create a simple solution to help with budgeting or getting your numbers in order for filing taxes. It’s a single file Python script with no 3rd party dependencies. Just curl it down and run it. The readme file in the repo goes into the vision of the project and documentation along with examples.
TL;DR, Plutus was made for anyone who:
- Enjoys the command line
- Dislikes complexity
- Wants to answer questions like “how much income did I generate and from where?”
- Is busy and just wants to get their numbers then move on with life
- Is paranoid about inputting data accurately
- Never wants to share their finance details with a SAAS service
I imported 9 years of GnuCash data into it and everything lined up to the penny without any manual adjustments to GnuCash’s exported CSV file. That process took ~30 minutes and leverages a GnuCash import script that’s in the repo. Most of the time spent was refactoring all of my account categories, the import commands run in a matter of milliseconds.
It creates a summary on 12,000 items in ~100ms on my 10+ year old computer. It
supports safely inputting new items too. It also comes with a lint
command to
help identify any issues with formatting or syntax, ultimately it’s just a CSV
file with a few columns.
I’m really excited to share it! It was such an enjoyable experience writing it knowing it’s a tool I will be using for the next decade without having to make compromises.
The video below goes over the benefits and features along with demoing its functionality.
# Demo Video
Timestamps
- 1:21 – Who is this tool made for?
- 4:16 – Installation
- 4:36 – Getting started
- 7:29 – Showing your data and how it’s structured
- 10:26 – Filtering with any regular expression
- 12:34 – Showing the raw CSV file
- 13:36 – Sorting by different columns
- 14:26 – Summary reports, grouped by different columns
- 16:54 – More advanced filtering
- 18:18 – Viewing and editing a few config options
- 20:27 – Currency symbols use your system’s locale
- 22:03 – Inserting new items directly in the CSV file
- 24:43 – Interactively inserting new items
- 29:26 – Linting items
- 35:52 – Customizing what’s an income vs expense
- 36:38 – Seamless upgrades with config changes
- 38:06 – The info command has tips and examples
- 39:53 – Running benchmarks
- 44:32 – Skimming the readme file
What’s your favorite feature of the finance tracker you use? Let me know below!