Personal finance managers are complex applications, though it is only
recently that finance applications available under free licenses have
reached anything near the capabilities of the proprietary alternatives. In
the first part of this
, your editor introduced the three packages under review (GnuCash
, and KMyMoney
) and covered the
basic tasks of setting up accounts and entering transactions. A good
personal finance manager can do more than that, however. So this article,
the second and final part of this series, looks at a few advanced
Any spreadsheet can compute the balance of a banking account and let you
know just when that account became overdrawn. One of the useful things a
personal finance manager can do is to generate reports which provide a more
complete picture of
what is happening with one's money. Such reports can prove most useful at
those animated dinner-table discussions on why the accounts are
overdrawn yet again.
The financial situation may be disastrous, but at least you have a nice pie
chart explaining the situation.
For those who do need pie charts, GnuCash is currently the only viable
option. This program offers a wide set of reports in both tabular and
graphical formats, with a high degree of configurability. Unlike account
registers, reports are displayed in the GnuCash main window, so only one
can be viewed at once. Reports are persistent across sessions, so one need
not worry about having to repeat a lengthy series of customizations.
GnuCash can export reports to HTML files, nice for
posting a group's finances on the web. HTML export only seems to work for
the tabular reports, however; the others yield a blank page. There is a
"stylesheet" feature which affects both on-screen and exported reports.
Two stylesheets are provided: "ugly" and "ugly with brighter colors" (the
GnuCash developers used less informative names).
KMyMoney 0.8 does not provide graphical reports, but it does have a wide
variety of tables. The display is readable, and highly configurable.
Reports are persistent, but the mechanism takes a little getting used to.
When a report is created, it is represented by a tab in the top of the
report frame. The next time KMyMoney is started, that tab will be missing,
but the report (if customized) will appear in the tree-oriented list of
options. KMyMoney reports can be exported in HTML and CSV formats.
Grisbi, too, only offers tabular reports. There is an unbelievable number
of configuration options, obtained by navigating through two layers of
tabbed windows. The output has the requisite information, but is, in your
editor's opinion, relatively hard to read. While both GnuCash and KMyMoney
can create reports on investments, balances, and net worth (along with
transactions), Grisbi is limited to transactions only.
None of the packages reviewed offers a useful report seen in some
proprietary offerings: a projection of an account's balance into the future
taking scheduled transactions into account. Such reports are necessarily
inaccurate, but they can give a useful indication of whether trouble is
approaching in the near future or not.
GnuCash's graphical reports set it apart (for now - KMyMoney 0.9 will have
charts as well), but the truth of the matter is
that the tabular reports are the truly useful ones. Unless your
dinner-table budget discussions require using OpenOffice to present the
situation, pie charts and the like are not often helpful for real decision
making. KMyMoney's tabular reports are as good as GnuCash's, and arguably
easier to read. Grisbi's narrower range of reports detracts from its
Any worthwhile personal finance manager will have the ability to handle
transactions scheduled for the future. This feature can be useful for
future cash flow planning, speeding up the transaction entry process, or
for simply getting a reminder to send off that car payment before the repo
man shows up with a tow truck. Scheduled transactions can also be used to
handle loan repayment and to help track loan balances.
GnuCash has a well-developed transaction scheduler, currently the best of
the three packages reviewed here. The usual parameters can be set: amount,
begin date, number of occurrences, payment frequency, accounts to use,
etc. GnuCash has the widest selection of frequencies, and is the only one
which can handle semi-monthly events. Since semi-monthly paychecks can be
common - at least in the US - its omission in the other finance managers is
an annoyance. An existing transaction can be used as a template for a
scheduled transaction, which is a nice time saver.
Scheduled transactions can be entered automatically into the relevant
ledgers, or they can wait for a manual action by the user. Another feature
unique to GnuCash is a popup reminder of due transactions when the program
starts up; those transactions can be edited and entered immediately, or
that work can be postponed for later. The main window for scheduled
transactions offers both a list view and a six- or twelve-month calendar
showing when events will occur.
The GnuCash scheduled transaction code does appear to be a work in progress
in spots. Different graphical conventions in parts make it look like
something bolted on late in the development process. There is a mention of
variables which can be used in transactions, but no apparent way to use the
capability. Your editor was also able to crash GnuCash by playing with the
KMyMoney offers many of the features needed in a transaction scheduler, but
this feature needs a bit of work yet. Your editor succeeded in crashing
the scheduler when attempting to create an event from an existing
transaction; let it be said that crashes in a program intended to be
managing one's money can be disconcerting. That said, KMyMoney's scheduler
is close to what it needs to be.
The transaction editor contains the usual information. There is no
provision, however, for split transactions, and no reminder options. The
list of available frequencies does not include semi-monthly. It does offer
both "fortnightly" and "every other week," however, leading the user to
wonder just what the difference is. "Quarterly" and "every three months"
are also distinct options.
The main scheduler window comes up in a list view, sorted by transaction
type. There is also a single-month calendar view which is far less useful
than the multi-month calendar provided by GnuCash. The single-month
calendar has space to put actual information - payee and amount, for
example - on the screen, but KMyMoney, instead, just puts in a large, red
number showing only how many transactions fall due that day.
The list and calendar
views cannot be seen at the same time. One might think that
double-clicking on an event in the list view would allow editing that
event, but, instead, it switches to the calendar view. There appears to be
no way to get KMyMoney to step through transactions which have fallen due;
instead, they must be selected and entered, one at a time, from the list
Grisbi's scheduler is the least featureful and hardest to work with of the
set. A number of features, such as creating a scheduled transaction from
an existing register entry, do not appear to actually work. The editor is
awkward to use, and makes poor use of the screen space. There is no useful
calendar view. The list of available frequencies is quite small. If you
are a Grisbi user, you'll be able to create and work with basic scheduled
transactions, but it will be harder than it needs to be.
As mentioned above, none of the packages reviewed here is able to perform
any sort of future cash flow projection based on scheduled transactions.
Another missing feature, found in some proprietary packages, is the ability
to detect manual entry of (what appears to be) a regular transaction and
offer to create a schedule; this is not a feature that all users will miss,
Both GnuCash and KMyMoney have nice utilities for dealing with loan
payments. A series of dialogs collects the relevant information and sets
up an appropriate scheduled transaction. GnuCash displays a repayment
table when the loan is set up, but there appears to be no way to ever get
that table back later on. GnuCash also neglects to initialize the loan
account to the starting balance; the user must do that separately or the
loan balance will not be properly accounted. Both packages can handle
interest calculations and various add-on payments. Grisbi, instead, has no
functionality for dealing with loans.
No modern personal finance manager would be complete without providing the
ability to watch as one's money vanishes into the stock market. Both
GnuCash and KMyMoney have investment tracking capabilities, with similar
features. Grisbi, instead, lacks any sort of investment handling.
GnuCash and KMyMoney both treat stocks and mutual funds in a way similar to their
treatment of currencies: they are commodities which, at any given time, can
be exchanged for money at a particular price. Both of them can go to
online sites to update their idea of what stocks and funds are worth,
making it easy to get a snapshot of the value of a portfolio at any time.
The GnuCash way of dealing with stocks is borderline painful. The user
must create a "commodity" entry describing the stock, providing information
like the ticker symbol and where to get online updates. Then it becomes
possible to create a new account associated with that stock. Only then can
purchases and sales be entered. Sales are particularly obnoxious: one
might think that entering the number of shares sold in the "sell" column
would do the trick, but the Wrong Thing happens. One must, instead, enter
a negative number of shares. It is not clear why there are
separate columns, given this behavior.
KMyMoney is a little more straightforward, providing a set of dialogs which
hold the user's hand through the process of setting up a new investment.
The creation of individual accounts for each stock or fund is not required
(or, at least, is hidden from the user). "Buy" and "sell" operations are
easy to enter correctly. KMyMoney also has handling for brokerage
fees; GnuCash can do the same through split transactions, but the user must
take explicit action to make that happen.
KMyMoney has an explicit "dividend reinvest" operation, while GnuCash
forces the user to figure out how to get the same effect via the register.
GnuCash, instead, has an operation for dealing with stock splits.
KMyMoney makes do with "add shares" and "remove shares" operations, which
causes shares to arrive from (or disappear into) the void.
Both programs can generate reports showing the value of an investment
portfolio and return over a period of time. Neither, however, can handle
capital gains calculations - something that US users, at least, would
appreciate. Neither program can plot the value of a portfolio over time.
It does not appear to be possible to set up scheduled investment
transactions in either program.
Other notes and conclusion
Your editor imported one year's worth of financial transactions into all
three programs, and was able to make a couple of other observations. First
of all, the size of the resulting files varied considerably:
|Package||File size (KB)|
The interesting thing is that all three packages use (different) XML-based
file formats. KMyMoney compresses the file, however; when uncompressed,
the file weighs in at 725KB. Grisbi gains its space savings by using a
great many single-letter attributes.
The other observation is that KMyMoney is far slower to start up than the
other two packages.
As mentioned in the first part of this report, GnuCash has a whole set of
business-related features not found in the other two packages. These
include a database of customers, vendors, and employees, and the ability to
generate and track invoices. Job tracking is built in, and there is some
capability for dealing with tax tables. The business features have a bit
of an unfinished feel to them, however, and your editor suspects that very
few businesses are actually using them.
GnuCash also has a poorly-maintained ability to operate with
a back end. Sadly, this backend is unable to deal with business objects,
making it unusable by the group which would be most likely to want that
So which program would a grumpy editor recommend? One can start by
eliminating Grisbi. This application has reached a level of functionality
which, only a few years ago, would have placed it among the best available
in the free software community. At this point, however, it lacks too much
in the way of features, usability, and charm to be seriously considered by
Among the other two, GnuCash still comes out on top with regard to both
features and usability. Your editor hesitates to recommend GnuCash without
reservation, however. One of the most important things to do when
evaluating a free package is to come to a conclusion regarding the health
of the development community. Unless you plan to take over maintenance and
addition of new features yourself, it is nice to know that there is a
strong community behind the software.
The GnuCash development community appears, from the outside, to be stuck in
some sort of low point. The port to GNOME 2 has been ongoing for years,
but there still is little idea of when it will be complete; as a result,
distributors are considering dropping
GnuCash because the pain of maintaining GNOME 1, now used almost
exclusively by GnuCash, is getting
to be too much. Discussion on the development mailing list is muted, and releases are
increasingly scarce. GnuCash is at a bit of a crisis point. If its
developers do not resolve the GNOME 2 issue and get development moving
again in the near future, this outstanding application could be facing the
end of its active life.
KMyMoney, instead, is on a roll. The development community is active and
happy, features are being added at an impressive pace, and that 1.0 release
appears to be getting closer. At current rates, it will be a matter of
months, at most, before KMyMoney surpasses GnuCash in every area which
matters to most users - and keeps on going. For this reason, along with
the fact that KMyMoney 0.80 is nearly good enough already, your editor
would have to recommend KMyMoney to anybody looking for a free personal
finance manager at this time.
to post comments)