March 22, 2004

CBTracker: a checkbook manager for the rest of us

Author: Joe Barr

Do you want to balance your checking account on your Linux desktop, but don't want to have to learn double-entry accounting in order to do it? Join the crowd. GnuCash is the best known personal finance manager for Linux. It's a dandy, but many shy away from it because they can't (or won't) cope with the complexity of real accounting just to balance their checkbook. If that's you, check out Tony Maro's GPL'd CheckBook Tracker. It might just be the answer to your reconciliation blues.Getting started

After downloading the tarball of your choice (with or without the source code), installation is as easy as decompressing and moving the executable and help directory to the proper place. On my system, that was /usr/local/bin. Here's how I did the install.

tar xzf cbtracker-1.0b.tar.gz
cd cbtracker
mv cbtracker /usr/local/bin
mv help /usr/local/bin

First time

The first time you start CBT, you're greeted by an empty window. There's nothing in it but a toolbar along the top. The appearance changes once you set up an account. To do so, click on File->New, and enter a name for the account you're going to track. Just like that, the window becomes a check register. A smaller window appears and prompts you for a starting balance and a state date. Once those items are entered, the second window disappears. You're ready to enter transactions.

Categories, not accounts

Accounting make you crazy with those debits and credits? CBT uses categories, not accounts, to group related income and expense. It comes with a standard set of categories for the most common ways we make and spend our money. If you have special needs, you can edit the category list by clicking on the categories icon beneath the toolbar. If you need to track various livestock costs, for example, you would first create a major category for livestock, and then a number of sub-categories for feed, vet bills, equipment, and so on. If your new accounts are tax-related, click on Show on Tax Reports.

Entering transactions

Click to enlarge

To enter a deposit, you can select Transaction->New Deposit from the toolbar, or click on Deposit and New on the transaction panel beneath the check register in the window, or simply press Ctrl-D to achieve the same thing. To enter a check, you can select Transaction->New Withdrawal, or click on Withdrawal and New on the transaction panel, or press Ctrl-W.

As you enter a withdrawal, the check number is automatically incremented by CBT, but of course you may override it. You can view a monthly calendar to select the transaction date; I found this easier to do than typing the date in manually. You can select a category by means of a scroll down window. You can split a check between as many as four different accounts by clicking on Split instead of scrolling for the category. CBT does name completion for the payee if it can, and the last payment amount becomes the default for the current payment. That's a handy feature when entering mortgage and other bills that stay the same each month. To edit a transaction once you've entered it, double-click on it in the check register window. It reappears in the transaction panel so you can make whatever changes you need.


Click to enlarge

CBT does not overwhelm you with reports, but it does a good job on making those it provides fast and easy. Select Reports from the menu bar and then one of the following: Balance History Chart, Category Pie Chart, All transactions, or Tax transactions. The charts are nice, but the transaction reports are even nicer. They are written to disk as XML files and then viewed from your default browser. Both look as if they were designed to be printed and used as worksheets. That's a nice touch.

CBT development

I exchanged email with program author Tony Maro about CBT during my review. When I explained that my motivation for the review came as a result of a good friend throwing up her hands and saying "No mas!" after trying GnuCash to balance her checkbook, he said, "I had the same problem with GnuCash after years of using MS Money and Quicken."

Tony told me CBT was written in Free Pascal using the Lazarus IDE. Free Pascal supports object-oriented programming, while Lazarus adds Delphi-like extensions to Free Pascal. "For me, it was almost the same as programming in Delphi for Windows, just ... in Linux," Tony said. He noted that "Lazarus is beta, and as such ... well, let's just say I've had to bend things a few times to get them to work." He also said that even so, it's much closer to being a Linux version of Delphi than Kylix.

Tony concluded with this update on CBT development:

It looks like there hasn't been a lot of development going on with CBT lately. Actually, I have pretty much stabilized release version 1.0 as far as it's going to go and I'm currently working on a rewrite of some of the underlying code and going to release it as version 2.0 in the coming months. Well, maybe 8 months, who knows? Features I've integrated include currency support for more than 100 countries and multiple accounts. Currently it's in early alpha stage and doesn't do much that's useful.


I was pleasantly surprised with CBT's performance and more so with its ease of use. It comes with a built-in Help function available from the menu for those times when you need it. If your bank provides your checking account information in QIF format, you can import the data directly into CBT. You can also import from CBB files, if that's what you are currently using. CBT will export your files in QIF format and provides for easy backup.

If GnuCash is more than you want or need in a checkbook manager, you'll definitely want to give CBT a try.


  • Linux
Click Here!