I've been using ledger to manage my accounts for a couple of years, but I've never been 100% happy with the importing process. The process usually goes like this:

  1. Login to my bank and export transactions to a CSV file.
  2. Modify it so that ledger can read it.
  3. Run the convert command to change it to ledger syntax.
  4. Go through the converted file and add categories as needed.

It's not too painful, but there's enough friction to put me off from doing it regularly. As part of my improve my processes goal I wanted to revisit this process and smooth off some rough edges.

There are a number of CSV conversion tools for ledger, and after some experimentation I settled on reckon.

With reckon the import process looks like this:

  1. Login to my bank and export transactions to a CSV file.
  2. Run the reckon command and categorize transactions one-by-one.

It's a much more streamlined process, and categorizing transactions on the command line is nice and easy. One feature I really like about reckon is that it can learn account names from existing files. This makes the data-entry part much quicker, and for some accounts it can be run unattended without making mistakes.

reckon can also use a custom token file when categorizing transactions, so with a little work I could eliminate the manual entry part entirely.