Bootladder Engineering

Accounting App

I have created several tools to help me do accounting. This is the one I have now, though it will not be the last one I create.

Finding Accounting Mistakes

One of the major purposes for this app is to identify mistakes. Double entry itself is an amazing idea which gives you the framework to take care of things, but at the end of the day you still have to do it. For me, the biggest pain point is having to go back and total up a bunch of numbers and then compare two totals and then find an anomaly in the things being totaled up. It's almost like you have to do ten things to find one thing.

                  # Balance Report

               

This is just a simple view of the major generally accepted account names which are Assets, Liabilities, Expenses, Income and Equity. The reports simply add up the totals for each sub account and show you the account totals. For my use this is acceptable. For example, I don't need to have separate equity and profit loss reports because I can see everything here all at once. I am perfectly capable of subtracting my expenses from my income. One cool feature of this page is if you click on an account it will take you to the account register for that account. So for example, if there's something wrong, you can try to find it with less number of clicks.

Ledgers view

This ledger view is quite involved and I spent a lot of time on it. It has a lot of little features designed to speed things up.

Picture Ledger Select

Clicking on the name of the ledger will load the ledger transactions. Below you see the highlighting and indications and also says the number of transactions. The number of transactions can be useful because for example a credit card statement might have a certain number of transactions. And if you view the credit card statement as the source of truth, then you can compare it with this number.

Below here looking at the ledgers, I have a Hjkl style keyboard interface to navigate the ledgers. We can see that once you start scrolling towards the bottom, the listing items are updated. To edit one of these transactions you can press E which replaces all of the field names with keys. So you can press that key to either edit the field or press a button. For example Expenses:Purchases:Credit Card this is a temporary or unfiled account, which basically means that this needs to be changed to a real account such as the entertainment account. Pressing EF brings up a widget for account select which allows me to select from one of any existing account as well as typing in the name of account which will become a new account. It has a fuzzy select feature. Then when this is changed, you can click the save button which will persist.

Then I like to go back to the balance report to check that what I intended to happen did happen.

                  # Keyboart Shortcuts

               

On that note, I also have keyboard shortcuts to navigate the top level window top level tabs.

First Load

The ledgers are divided into quarters, but the choice is arbitrary. You can select a quarter and you can see a balance report. You can see all of the ledgers for that quarter and you can see an account register for any account.

All in all, this has been quite a useful tool, but there is still much to be desired.

LATER

Talk about ledger JSON format and CSV processing from banks. Talk about the front end architecture for handling user input and managing state with persistence.