A User's view of Hledger

Learning about hledger

Meals, Emacs, and reconciling accounts

I have recently taken over the dinner preparation at our house, as my wife is dealing with some medical treatments. To help me with meal planning, I wanted a way to track our evening meals. There is a saying that to plan for the future you need to know what has happened in the past. So, I want to track what we have been eating for dinner.

The goal was to know things such as how often we have eaten chicken in the last 14 days. That way I could have a feel for whether it was time to look for a chicken recipe or find a recipe for anything except chicken.

My Emacs mentor Protesilaos Stavrou helped me set on an org mode document to do exactly that, including a way to speed the data entry.

This was all good, but I forgot one thing: to create a daily todo item to actually do the data entry. I realized this when I found that I was a few days behind with my entries, and I was struggling a bit to remember what we had 3 days ago. Now, however, one of my daily todo items that pops up is to enter last night’s meal in the tracker. Problem solved.

The above mirrors how I work with my hledger tasks. That is, I have recurring, regular todo tasks for my various accounts. The basic idea is check if there have been any changes to an account, and if so, to reconcile. In the past, I didn’t do this for all my accounts, just the ones where there were regular transactions. Now, however, even a “sleepy” account gets a regular inspection, even if I don’t anticipate there being any additions or subtractions. It’s good to make sure that nothing surprising is happening with the account.

The moral of the story is if you want to keep up with a task, and you are not doing it, create a way of regularly reminding yourself.

This week’s blog is brought to you by the hledger balancesheet command.

[Deep announcer voice] Real accountants look at assets and liabilities.

And hledger acountants use the balancesheet command, because they know that the balancesheet command reports assets and liabilities.

Shouldn’t you be using the balancesheet command, too?