Personal Finance Software under Linux
Amazing how many people (= geeks) say the only reason they still use Windows is because of Quicken. The ease of use and the power of that little application that could defy even the Grand Master of software powerhouses ends up being a good paragon of things to strive for.
Linux enthusiasts have been resorting to using Quicken on their favorite OS by virtue of emulation software like Wine. Indeed, the Wine site lists 21 different versions of Quicken and their users’ ability to run the software or not.
Not surprisingly a movement went afoot that tried to create fully open source applications that would behave like Quicken and allow for the same stability and ease-of-use, but add flexibility and for some an almost mystical aspect.
After a quick review of the field, there seemed to be only two packages that vied for the title:
- GnuCash 1.8
- KMyMoney2 0.8
GnuCash is quite the veteran, having been around since 2000. Currently, it is at revision 1.8.11 as of this writing, and development is quite active. The project is a part of the larger Gnu project, which aims at creating an entire world of open source tools that make all proprietary software obsolete.
The GNU project, as it’s correctly spelled, has had some excellent results, but is all in all marred by a degree of fanaticism that would be more worthy of a better cause. Indeed, despite the groundbreaking efforts in creating software such as emacs or even GnuCash, there was always something definitely unusual about their choices.
This is true for GnuCash as well. It is really hard to separate the impression of usability from the strange choices made for the user interface. How is it possible I can find an accounting application where I cannot change the display preferences for the ledger? How is it possible that to generate custom reports I have to use guile, a scripting language that manages to be entirely unreadable and virtually restricted to the GNU world at the same time?
Despite the religious undertone of the application, many of the concepts and the functionality of GnuCash are excellent. After you install the application and start it up, you get a chance to create a series of default accounts in the account tree based on what kind of setup you have. This is extremely useful, especially if you have no experience with personal accounting, bookkeeping and the like.
Once you perform the initial setup, you are left with an excellent series of druids that allow you to easily specify particular additional setups, like a home mortgage payment. Home banking is supported via HBCI, QIF file import is easy and reliable, in my experience.
Entering data into the application is fairly simple: you double-click on the account from which or to which money flowed, and enter the data. GnuCash remembers transactions and will automatically prefill the details from old transactions. This can be quite annoying if it is a non-repeatable split transaction, and it took me a while to figure out how to unsplit a transaction.
Report generation is fairly easy and flexible, but you cannot save reports under new names. This would be quite helpful if you have reports you run only infrequently – such as tax reports, and the like.
GnuCash has been developed under Gtk1, and it shows in the outdated user interface. You cannot change fonts, for instance, I assume something you have to do globally. Keyboard shortcuts and menus are not intuitive at all, and a KDE application is lightyears ahead as far that’s concerned.
Where the interface is unpolished, the functionality is all there, and I haven’t seen GnuCash crash even once. That’s huge, considering you are going to enter a lot of transaction, and the application doesn’t save at all times. GnuCash feels like the good old times when things worked, but were not fancy.
KMyMoney2 is the new contender in the space of personal accounting software. Written by KDE developers and bleeding edge in development, version 0.8 is both an obvious pre-1.0 release and a state of the art application as far as user interface is concerned.
Let’s start with the bad: the lack of functionality and stability with respect to GnuCash is really painful. There are no graphical reports, and even the text reports offer only a small fraction of the things you would want reports about. On the other side, the application has crashed on me several times, even though I was not doing anything particularly complicated. So, all in all, stay away from KMyMoney2.
The plus side, though, is intriguing: KMyMoney2 is in extremely rapid development, and the differences between 0.6 and 0.8 are so gigantic, one can only wait for 1.0.1 to come out. If the current pace and application quality are any indication, KMyMoney2 is soon going to outstrip GnuCash as personal accounting package.
I will not go into great detail on KMyMoney2, since it’s still so early in the development, but I will surely mention the GnuCash import feature. It has worked extremely well for me, and my entire setup was translated from one application to the other without a hitch. Reasons for failure are outlined in the import wizard, and you can exclude all transactions that might cause problems.
Hands down, the winner is GnuCash. For now, it’s usable and much more stable and functional than KMyMoney2.
While KMyMoney2 progresses, though, check in with the development team. KMyMoney2 is the application of the future, and one can already see how GnuCash is moving more into the business accounting space, while KMyMoney2 should become the obvious choice for Quicken addicts. It will break your habit.