Linux Finance Programs Review

We continually hear “I would only use Linux except I need to ...”. One of those missing pieces has been to run Quicken. Find out what programs are available for Linux that offer an alternative to Quicken.

As Linux finds its way onto more and more computers, the need for a broader range of applications increases. One popular request is a Quicken-like program for managing finances. There are several financial programs available for use on Linux, and I present some of them in this article. The programs covered are cbb, QHacc, GnuCash, Moneydance and gAcc.

All of these programs can keep track of basic financial information such as checking and savings accounts. Almost all of them also offer some type of reporting and graphing functions. Most of them can import files saved in the QIF format with varying degrees of success.

Most of these programs are not up to version 1.0 yet, and lack some features and polish. The authors are busy improving them and adding functionality, so, while there is not an exact replacement for Quicken or Money, you might find one of these programs to be suitable for you.


I installed cbb version 0.8.1 for this article. Written entirely in Tcl/Tk and Perl, installation was accomplished by simply typing make install. cbb contains no compiled code, so it should run on the majority of Linux systems.

cbb keeps account information in individual files, one .cbb file for each account. A list of accounts and their current balances is displayed at the bottom of the screen, and the account's entries are shown when you select it (see Figure 1).

Figure 1. cbb

Entering transactions in cbb is straightforward. The transaction fields are between the ledger and the account list. You enter the particulars of a transaction, such as date, amount and category, then press ENTER or click on the “Accept” button to add it to the ledger. cbb allows you to easily change the current check number via the “+” and “-” keys, and includes a tab-completion feature for the payee and category fields.

Data entry is made simpler by the use of keyboard shortcuts, the ability to tab through all the fields and the ability to accept a transaction simply by pressing the ENTER key. If you enter a lot of transactions, you will find these features very useful.

While you can use categories to group your transactions, cbb does not allow you to specify whether a category is an expense or an income, and you cannot create sub-categories. A workaround for sub-categories is to use a naming convention such as Utilities, Utilities-electric and Utilities-gas. cbb can display the category list while editing transactions so that you can select the category you want.

cbb offers the following reports: transactions, transaction list by category, uncleared transactions, missing checks, average monthly expenses by category and transactions listed by payee. Graphs are available showing running balances, movements by categories, expenses by categories, expenses pie chart and categories by description pie chart. You can specify beginning and ending dates for reports and graphs and select the accounts to include.

Account reconciliation is accomplished by clicking on the “balance” button. Before doing this, however, you must enter any interest or service charges. When the balance window is displayed, enter the beginning and ending balances from your bank statement and start clearing transactions. If you notice a mistake, you can fix it in the ledger without closing the reconciliation window.

cbb allows you to import QIF files, so that you are able to use your existing data. Unfortunately, the import function did not work correctly on the QIF file I created in Quicken 99. While I did get transactions, there were no dates for them, and I could not edit them after I imported them. There were also some lines at the beginning of my ledger that contained data cbb apparently could not decode from the QIF file.

cbb is a good program for keeping track of checking and savings accounts. It allows you to enter transactions quickly and easily with the use of keyboard shortcuts. The reports and graphs provide useful information, and the ease of installation is a real bonus.


Moneydance is a shareware program written in Java. Of all the programs reviewed here, it is the most Quicken-like in appearance (see Figure 2), and it did the best job of importing my QIF files. I used Moneydance 2.0.4.

Figure 2. Moneydance

Installing Moneydance is very easy: simply unpack the tar package and modify the Moneydance file so that it points to the required .jar files. Then, place it where it can be found in your path (e.g., /usr/local/bin) and you are ready to go. If you are using an older Linux distribution, you might need to upgrade your Java environment.

Each transaction in Moneydance must contain a source account and a destination account. This is called double-entry accounting. Each type of income (e.g., salary) and expense (e.g., mortgage, fuel, credit card) appears on the chart of accounts, and all transactions are really transfers between accounts. For example, when you pay the electric bill, you transfer the money from your checking account to your Utilities:Electric account.

Moneydance provides a useful auto-completion feature which completes the payee name and displays the amount and accounts that you previously entered for that payee. Navigation through the ledger fields is easily done using the TAB key. When entering check numbers, you can either type the number or use the mouse to select actions such as “Next Check #” or “Print”. When you are done with the transaction, save it to the ledger by pressing CTRL-R or by clicking on the “Record” button. If you have to enter many transactions, you might find it a bit tedious to use the mouse for the check numbers plus two keys or the mouse to record each transaction.

Account reconciliation is done by selecting “Reconcile” from the Actions menu. You can add, edit and delete transactions from the reconciliation window.

Moneydance provides both reports and graphs. There are reports for transactions, account balances, income and expenses. You can customize a report by selecting beginning and ending dates, a specific account and the method of sub-totaling. Printed reports look sharp and contain titles and date ranges across the top of the page. You can graph the following information: Income, Expenses, Income and Expenses, and Account Balances. I could not get the graphs to print on my system for some reason.

You can print checks from Moneydance by selecting “Print” for the check number, then selecting “Print Checks” from the Actions menu. Moneydance supports standard checks and checks with stubs and allows you to print test checks to calibrate your system.

Another nice feature is the ability to search for transactions. Selecting “Find Transaction” from the Actions menu or pressing CTRL-F brings up the Find window. You can search for a specific Payee/Description, Memo or Check #. Selecting “Find Again” or pressing CTRL-G allows you to find the next matching transaction.

If you are used to Quicken, you will find Moneydance very easy to use. The only problems I found with it were minor ones. The help file does not provide much information, but it does cover basic account editing and double-entry accounting. On my machine, Moneydance ran somewhat sluggishly, but I think this is due to the fact that I am running an older version of Java on a slow Pentium.


Geek Guide
The DevOps Toolbox

Tools and Technologies for Scale and Reliability
by Linux Journal Editor Bill Childers

Get your free copy today

Sponsored by IBM

Upcoming Webinar
8 Signs You're Beyond Cron

Scheduling Crontabs With an Enterprise Scheduler
11am CDT, April 29th
Moderated by Linux Journal Contributor Mike Diehl

Sign up now

Sponsored by Skybot