Tom Lee-Gough

Firefly III

I really want to like Firefly III, however, I have a few issues with it.


Before I explain some of my issues with Firefly, I'd like to recognise the complexity of writing accounting software. I've made a number of attempts at writing some software, but I've not managed to finish before completly losing interest. On the face of it, bookkeeping is simple as it's just entries in a database, however, there is a lot more nuance over how to get good information out of it.

Firefly looks fairly comprehensive, and quite a lot of people seem satisfied with it and the insights that they get into their finances. If some people find it useful for them, then who am I to criticise?

Credit to James for managing to ship something complete and that people use.

My Problem

Previously, I've written about my personal bookkeeping workflow. One of the issues I have with my currency workflow is that, whilst correct from an accounting point of view, it lacks something when trying to discuss what the accounts mean. I'd also like something that is a little easier on the eyes for presenting reports. My current setup involves me exporting data to LibreOffice and making a table. Some graphs would be nice, also a better way of exploring the data.

Firefly seemed perfect for this. The docs for Firefly show that James, the owner, has some valid concerns about bookkeeping and how data is presented. Whilst I disagree with some of his points in that they are not correct accounting, I could move past those. As I believed that there would be other benefits.

Firefly Issues

I've got two main issues with Firefly. One more serious, one a lot less serious.

Starting less seriously, Firefly uses pie charts to display category data. I HATE pie charts. They're always hard to read properly and nearly always end up too cluttered if displayed with enough detail to understand them. I'd much rather see bar charts comparing categories. They're a lot easier to read and compare the categories.

My second complaint is around accounts and categories and the interaction between the two. I'm not exactly sure what the role is of each of these are suposed to be - it is not clear from the documentation, nor from trying it out.

I see the account as being analagous to a nominal code and the category is a reporting dimension. Nominal codes determine on which financial statement transactions appear. Transactions are usually posted as a debit or credit to a given account, but not exclusively. For example, I currently have an account for groceries, mostly it would be a debit transaction and appear on my income statement. However, as I shop online I frequently recieve refunds, these are credits to the account. Under my current accounting, this is fine. The transactions get aggregated

Which is my problem with Firefly. I would need to have a separate groceries income account and a groceries expense account. If I was manually entering transactions, this might be less of a problem, as I could aggregate the values before creating a transaction. However, as I import bank statements, I don't want to fiddle around with it before import.

I think that the categories make a lot more sense. They transcend the accounts and so you could use it to track specific things. But it seems kind of pointless as the accounts don't function like normal nominal codes.


I like Firefly, it's not easy to create something that comprehensive. But I can't get it to fit in with my workflow. The income/expense accounts don't function in the way that one would expect nominal codes to.