Keep Track of Your Money

Machtelt takes a look at four open-source accounting programs: Emma, GnuCash, jGnash and QHacc.

Recently, I took the big step: I became a freelancer. It's great, but even after a short while, I began to realize that there were some changes in my behavior concerning finances and spending money. So I thought decided to start keeping track of my personal accounts, especially with having more time to go shopping. I never thought I would do this, but now I do, and I'm feeling more secure knowing exactly how I spend my income.

Application Hunting

I decided that Freshmeat would probably be the best place to start, I entered the keyword "financial", and there was what I was looking for: a whole category named Office/Business::Financial::Accounting, with over 50 projects. Now I wasn't going to test this many applications, so I selected from those using my standard criteria for applications: that it run on my Linux box, be rather straightforward to install (because I'm no guru), be open source (dependencies also) and be under active development.

I based my selection on Freshmeat indications about license type and last update date, and at first I selected 18 different projects, but after encountering various problems or difficulties, I decided to focus on Emma, GnuCash, jGnash and QHacc.


Emma (Easy Money Management) requires GTK+, GNOME and preferably Python as well. As I was running Ximian in my desktop environment, this was no problem. I downloaded the emma-0.7-7.i386.rpm package first to try the easy way. You always can compile the source later if it doesn't work. I installed the RPM package, which took about two seconds, and eagerly started the emma program. And there was my first image, after only three tries!

I felt at home immediately. Emma has the GNOME look and feel, with help windows and help functions where you expect them, e.g., each button has a little help bar that appears when you hold the mouse over it for a second. I like a program that doesn't scare me, so I appreciate an intuitive user interface. Emma sets up a series of standard accounts, including all kinds of costs and expenses, ranging from car and child-care bills to income from tax refunds and lotteries (see Figure 1). Your actual data is saved in a plain-text file, which you can store anywhere. Afterward, you start Emma with this file as an argument to the emma command.

Figure 1. Emma Screenshot

There is, as far as I could see, no currency defined, so this is an international application. Accounting is always double-entry, so you will know where your money came from and, more importantly, where it went. As shown in the picture, Emma supports hierarchical accounts; for example, health care is split up into dental care, hospital costs, medicaments, doctor costs and vision care. You even can plan expenses in advance with the schedule function. Transactions can be limited, sorted and highlighted in several ways, which allows the transaction overview to be interpreted easily. It has nice colors, too.

After entering some test transactions, I wanted to try the Report Creation Druid, which seemed like a nice idea and is fairly adaptable (see Figure 2), but Emma crashed with a segfault when I tried to do something with the report. Also, there was supposed to be a charting function, according to the Emma Project home page, but I didn't have it. Maybe I should have compiled the source.

Figure 2. Report Creation Druid

According to the author, it should be fairly easy to adapt Emma to your specific needs using the Python interface, for example, linking Emma to your bank account. Emma is available in German, French, Japanese, Polish and Swedish, and there is a Debian package. There's a mailing list and a list of authors in case you are have any trouble. There's still a good deal of work to do, but Emma can be a useful program the way it is now. I gave them a good score on Freshmeat, and I think we will be hearing more on Emma in the future.


GnuCash came with the Ximian distribution (gnucash-1.4.11-ximian.5.i386.rpm), but I had never tried it before. Starting it from the menu didn't work, so I tried the command line. I was informed that GnuCash needs a library called A flaw in Red Carpet? Who knows. Anyway, I downloaded a newer Guile (1.4), and this time the application started successfully. Overnight there was another update (using Red Carpet, again), so I don't expect any troubles here. GnuCash saw that I hadn't run the program since the last update, which apparently had something to do with currencies. All my data was converted to some new scheme, and behold, it was even prettier than before (see Figure 3). GnuCash certainly meets my criterium concerning frequent updates. It requires GTK+, GNOME, Guile (as mentioned), Glade, G-wrap and slip for "normal" use, which are all included in the general Linux distributions.

Figure 3. GnuCash Screenshot

Accounts and transactions between accounts can be entered in a comfortable way, and use of different currencies is supported (including the Euro), provided you supply exchange rates to the program (see Figure 4). GnuCash makes a wide range of reports, pie charts, balance sheets and the like--everything you would want for making a business presentation, a financial plan for a new company or that kind of thing. I wish it had existed when I was writing a business plan.

Figure 4. Supplying Exchange Rates

GnuCash provides support for general ledger, stock keeping and even taxes, but I'm not the right person to check if this complies with local rules. It is certainly fit to serve general bookkeeping purposes. Hierarchical accounts and grouping of accounts are supported with a handy general overview and details in separate windows. Transactions can be split into their components, e.g., I payed this amount to the company that installed my home office, but the total invoice consists of service, parts and taxes. You can search transactions with the Transaction Finder, which is a very useful feature. Double-entry accounting can be enabled on a per-account basis and several account categories are defined, which provides the flexibility I need as a homeworker, where the line between business and private isn't always too clear. Files are stored in a directory called .gnucash in your home directory, reports by default in your home directory and your actual account information in any file you want.

If needed, this program can grow with your business: recently multi-user support has been added, using a PostgreSQL back end. In the case of a growing enterprise, it is easy to imagine that you may have to enter a lot of transactions in a short time. This can be realized using the Import function, which uses QIF data files. A web interface also can be added.

There's a GnuCash mailing list, plenty of documentation and examples and information for developers. GnuCash is definitely a mature product, but the developers still are looking ahead, planning on implementing more features.



Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Re: Keep Track of Your Money

Anonymous's picture

May I also note good old CBB (Check Book Balancer) which doesn't require either GNOME or KDE - it's a simple Tcl/Tk interface. All the basics but few frills. Not being an accountant and just needing to keep my checkbook straight that's enough :-)

It does import QIF if you need it.
Sometimes KISS is best!

Re: Keep Track of Your Money

Anonymous's picture

Thanks for a nice review. I haven't tried any of these programs, yet, but am interested. Have you condired the KDE-oriented KMyMoney2, which is also open source. The home page is at:

Re: Keep Track of Your Money

davidsales's picture

For a more authoritative list of Linux financial resources I recommend


Re: Keep Track of Your Money

Anonymous's picture

Try theKompany's Kapital ( - I'm using it for quite a while now and it looks very good, pretty stable, fast, and oh - it's now available to Sharp Zaurus..

And yes, it's a commercial one - but it costs about $30.. worth every cent..

Re: Keep Track of Your Money

Anonymous's picture

From the article -

"Now I wasn't going to test this many applications, so I selected from those using my standard criteria for applications: that it run on my Linux box, be rather straightforward to install (because I'm no guru), be open source (dependencies also) and be under active development." (my emphasis)

Re: Keep Track of Your Money

Anonymous's picture

I take it you've never heard of Moneydance? I've used it under OS/2, Windows, and now Linux.

It's a nice Java program, now available from Appgen.


Re: Keep Track of Your Money

Anonymous's picture

MoneyDance was a great program in its day, but no further development has been done on it. I believe the author left Appgen two or three years back.

MoneyDance is in fact Orphanware. I registered my copy long agao and was very satisfied with it. However, when Sean left, development stopped.

At one point we petition Appgen to give the rights back to Sean, with zero results. Appgen now sells a dead program which is not updated or maintained.

I assume people know by now,

Anonymous's picture

I assume people know by now, but MoneyDance is back up and in the original developer's hands. check it out:

Re: Keep Track of Your Money

Anonymous's picture

I take it you've not realised the article was about Open Source apps. Also, for those not on the moneydance mailing list, its pretty much now a dead horse, still sold, but they no longer have any developers, and support is fairly non-existant.

Quite alot of members on the moneydance list are talking about developing their own open source package, and also the jGnash develop has just spoken up on the list...

Moneydance is not open source

Anonymous's picture

I take it you've never heard of Moneydance?

The author only considered open-source packages.