Managing Your Money with GnuCash

GnuCash developer, Robert Merkel, explains the functionality of the Quicken alternative.
Stocks and Other Investments

GnuCash has extensive facilities for tracking investments in stocks and mutual funds. When you purchase a new stock or open a mutual fund, you should open a stock or a mutual fund account, just like a bank account. When you open the account, make sure you enter the correct ticker symbol in the Security field, and select a source quote.

While automated, updating prices is done from outside GnuCash with the gnc-prices Perl script. When the script is run, all the available prices are updated.

Recording stock purchases and sales is performed using the stock account register, which works just like the other registers except you should enter a price and a quantity of shares/units instead of just one value.

What? You want to analyze the performance of your shares? For that, you need...


GnuCash has some very useful reporting capabilities that you can view directly or export as HTML for permanent storage or printing. Current CVS has direct printing support through gnome-print, but this has not made it into release versions yet.

One of the most basic reports is the “balance sheet”. This report summarizes your assets and liabilities, thus showing your net worth. To display the report, simply select “Balance Sheet” from the report menu. A report window will open and display the report. By default, it displays the balance sheet as of this moment, but that's adjustable. Click on the “parameters” button, which brings up a dialog box from which you can change options for the report.

An overview of your stock portfolio is also available, as well as the account balance tracker, a very useful report for tracking the growth of a specific stock or mutual fund. This report also supports graphing if you have gnuplot installed. Finally, the transaction report lists all transactions meeting a set of criteria. This flexible report is often useful for extracting specific information not available in other reports (see Figure 2).

Figure 2. The Transaction report can be used to display and subtotal transactions in a variety of ways.

If the current reports do not meet your needs, you can write your own. The “hello world” report is the GnuCash authors' test bed and serves as a basis for those who wish to write a custom report.

Future Plans

While GnuCash is stable and useful right now, Gnumatic and the rest of the GnuCash community have big goals for the future. Already, the development CVS tree has several new features, and many more are planned.

The coming 2.0 release is under heavy development, and plans are afoot for a Q1 2001 release. Some of the features that will be part of 2.0 include:

  • A new, XML-based file format that will be more compact and versatile.

  • Printable reports (courtesy of gnome-print and the gtkhtml widget).

  • Better graph capabilities through GUPPI (which will hopefully be widely adopted as the standard Gnome graph infrastructure). Development of GUPPI has been supported by Gnumatic.

  • Much improved report flexibility and customizability.

  • Much improved stock market reporting.

Further improvements to GnuCash's personal accounting abilities are planned in the long term. Some of these include:

  • Improvements to on-line stock quote gathering and currency quotes.

  • Interfacing to on-line banking, including OFX and other standards.

  • Interfacing to Palm PDAs.

  • Full documentation of the guile API to make writing extensions easy.

While GnuCash's current emphasis is on personal accounting, the large number of requests for business accounting functionality we receive on the mailing list are not being ignored. GnuCash will form the basis of a full-featured, multiuser accounting package with a database engine; CORBA bindings; and support for payroll, inventory, invoicing and the other features that larger businesses require from accounting systems. Gnumatic will be in the forefront of this, offering its services to customize and support GnuCash for specific customers, industries and countries.

Robert Merkel started hacking on GnuCash because he was sick of supporting his father's Windows box. Robert is now a full time GnuCash developer and an employee of Gnumatic, Inc.