Emacs & Financial Journaling
Journaling is a great way to keep track of your progress and emotional state, using the same journaling principle in managing your finance can be of great help to see how money flow in & out of your life :).
So, here we will explore how to journal in Emacs or any editor of your choice with the help of the tool ledger.
Before starting, let's get familiar with the basic terminologies.
- Assets – It's the money that you have.
- Liabilities – It's the money that you own, or you can say Debt.
Ledger is the double-entry accounting software, which means that you have to mention the flow in of the money[where from it comes like Saving account, Credit Card] and flows out of the money[expenditure, Investment, shopping] and all these entries should balance out each other and result should be zero if it's not the case there is an issue in your entries. The best part of the ledger software is that it allows you to manage your data in a simple text file and don't alter your data, and you have all your data with you.
So, Ledger read the simple text file and generate all kinds of the report that you need. Emacs comes in the picture to manage these text file and give a solid way to manage these file with org-mode also, that we will discuss some other time.
Now get ready to set up the journal system.
Installing the Tools
- Download the Ledger on your system based on your OS from here — for the lazy ones on Ubuntu OS, you can follow the steps given below.
$ sudo add-apt-repository ppa:mbudde/ledger $ sudo apt-get update $ sudo apt-get install ledger
Open your Emacs editor and then follow these steps.
- Press Alt-X package-install [Enter Key]
- Type ledger-mode [Enter Key], this will install the ledger-mode package
Open your Emacs config file and paste this snippet. We are telling the ledger-mode to activate for the file extension of .dat file.
(use-package ledger-mode :ensure t :init (setq ledger-clear-whole-transactions 1) :mode "\\.dat\\'")
Ledger Mode in Action
- Create a file with the extension .dat and open it in Emacs.
- Press Ctrl-C Ctrl-A to enter an entry in the file.
- This will ask for the date for the entry, afterward press enter.
- Give a nice heading to your Ledger entry and add your expense.
– It's up to you how you want to maintain your journal, Some entries example to sort out your expenses.
– You can also plan your budget in the ledger and can automate the transaction, if you are geeky enough you can write a code to read the spreadsheet shared by your bank to populate the ledger. – Ctrl-C Ctrl-O Ctrl-R for report generation, you can find more about reports here