Plain Text Accounting

By René Dario Herrera

Whatever your philosophy, it’s important to keep track of your personal finances to understand what your spending habits are, how you move money, and why you spend.

Plain Text Accounting and Your Financial Wellness

Whether you want to crush debt and live in austerity or spend every penny you own three times over, if you care about your financial future, then you must know how your present pays out. I realized this for myself several years ago after reading blogs like The Simple Dollar and I Will Teach You To Be Rich and watching Suze Orman on CNBC. These resources were the pleasant-sounding wake-up call I needed to help me realize I needed to pay more attention to my finances.

At the time, around 2008–2012, I tried out a few different software packages, like LibreOffice Calc, GnuCash, and Mint.com, all in an attempt to wrangle my transactions and understand my spending habits. Mint was, by far, the easiest to use, and at the time, I didn’t see the problem with giving all my private banking credentials to a third party. Of course, I wouldn’t do that now, and I don’t.

Enter Plain Text Accounting (PTA). PTA is better than a spreadsheet and follows two principles. First, everything is human-readable. All your transactions live in a single plain text file called a ledger. Second, PTA adheres to double-entry accounting. Each transaction is associated with both a debit and credit account. This makes it easy to see how each transaction contributes to your overall financial health. PTA software packages also come with several reporting features to show your transactions and reports.

A photograph of an old handwritten bookkeeping ledger book; the book is open with the pages displayed

The pain point with using PTA, in my case, is importing transactions. Using Ledger worked better for me when I would type each transaction into my ledger file. Each week, I followed the same process. First, I would log on to my bank account and then enter each new transaction in my ledger file. Each annual quarter, I would run different reports. This gave me a mindful approach to my personal finances, but it took too much time, and when time became unavailable, I could not keep up with the weekly activity.

Nonetheless, during this time, I identified that my high-interest consumer credit was negatively affecting my cash flow. I shifted my spending strategies and paid off those accounts within 15 months, allowing me to save hundreds of dollars each quarter in interest payments. I encourage you to see if plain text accounting is for you.

Looking ahead, I’m exploring how to export transactions from my bank’s web portal to a ledger file, but I haven’t yet figured this out.

How to Get Started with Plain Text Accounting

My suggestion is to check out the resources on the plain text accounting (PTA) web page, review the available applications, and install one if it looks worth trying out.

In my experience, I chose Ledger as my first (and only, so far) foray into using plain text accounting apps, along with the text editor Atom. This worked well until I stopped using Atom, having switched to Kate. In the case of using Ledger, Atom had the advantage over Kate, in that there was a highlighting markup available. There isn’t a Ledger highlighting markup for Kate, and I don’t yet know how to write my own. There is highlighting available for the nano editor, but I’m not as proficient with that one.

My System

Most (I have an iPad Pro) of my computing devices are all Linux-based (i.e., none of my machines run a Windows operating system), and when I discovered the beauty of plain text accounting, I was instantly hooked. Anyway, at the time of this writing, this is what my machine looks like:


                             
                             OS: Pop 22.04 jammy
                             Kernel: x86_64 Linux 6.8.0-76060800daily20240311-generic
         #####               Uptime: 4h 48m
        #######              Packages: 21
        ##O#O##              Shell: bash 5.1.16
        #######              Resolution: 1920x1080
      ###########            DE: GNOME 41.4
     #############           WM: Mutter
    ###############          WM Theme: Pop
    ################         GTK Theme: Pop [GTK2/3]
   #################         Icon Theme: Pop
 #####################       Font: Fira Sans Semi-Light 10
 #####################       Disk: 343G / 938G (39%)
   #################         CPU: AMD Ryzen 7 PRO 5850U with Radeon Graphics @ 16x 4.507GHz
                             GPU: AMD/ATI
                             RAM: 7045MiB / 15312MiB
                            
                          

This is the version of Ledger I’m running:

Ledger 3.2.1-20200518, the command-line accounting tool

Copyright (c) 2003-2019, John Wiegley.  All rights reserved.

This program is made available under the terms of the BSD Public License.
See LICENSE file included with the distribution for details and disclaimer.