Case Study: A Checkbook

The first program we wrote for other people to use was a checkbook program. It was the model for our accounting software, our advertising scheduling and billing software and our production software written in C. It was written in C, too, but distributed as freeware on the BBS we maintained. We learned very quickly how much more programming time was required by the user interface than the code.


The design for XBOOK, while a database programming application like the library catalog, requires a more sophisticated menu system. With one exception, each menu item has several options. And a few of those options have options themselves.

While the page layout resembles the catalog program (just because we like it), the menu system is entirely different.

It uses graduated backgrounds on the buttons (like the dividers) and embossed text along with small arrow icons to indicate submenus. Clicking on a menu with a submenu reveals that menu's options.


The menu system includes several submenus to explore.

Startup Page

The startup page displays the menu, the program name and a few vital statistics like version number, revision date, current database, number of records, last entry date and balance.

And, yes, the day's date, just in case you don't want to look somewhere else for it.

All of that is handy stuff for syncing with a handwritten register.


Everything you need to know to get started is right on the title page.

How It Works

XBOOK works like a checkbook register. You enter every transaction you have made in that account and when you get your statement, you reconcile it with XBOOK, using the same procedure outlined on your statement.

That means recording the balance you are starting with, canceling all the transaction listed on the statement, and calculating the new balance based on the new statement figure. The starting balance and the new balance should be identical.

XBOOK automates this for you so all you have to do is click a checkbox associated with each transaction.

If you're off, you can simply print a monthly report (which closely mimics your monthly statement) and compare it to your statement to find the discrepancy.

You can Edit any incorrectly entered transaction or just cancel any transaction you missed using the manual Cancel menu.


A monthly report sorts transactions by Date (note the dotted underline on the field heading).


That's simple enough and really doesn't need a manual. It's the way you've always done it.

But XBOOK does require some annual maintenance. And the Help system explains how to do it. In February, after you've canceled all the previous year's transactions, you can close the file on the previous year.

Using the File Open command, you can easily go back to it at any time and get any of the numerous reports XBOOK can provide (for taxes, say).

The Help system also highlights keyboard shortcuts and explains how to enter recurring deductions using the Utilities menu so XBOOK will make them automatically for you on the date you specify.


Closing the year makes it easy to report tax information.

Entering Transactions

There are six kinds of transactions XBOOK tracks. Actually, there are only two: debits and credits. But there are different kinds of debits and different kinds of credits.

When you select the specific kind of transaction you want to enter, XBOOK optimizes the entry screen for that transaction.

For example, some fields are hiddenbecause they are automatically entered for you. You don't have to worry about them.

If you make a mistake, you can Edit any transaction by searching for its record number, check number or description.

Your balance is always immediately available from the Title screen.


Transaction entry is optimized so you enter only what you have to enter.


There are two advantages to using a program like XBOOK. First, you always know what your balance is (and you can quickly spot any error you or your bank has made). Second, though, is the reporting available to you.

XBOOK has nine different reports, most available with four different sort options (Date, Category, Amount, Description).

The Monthly Report simply displays the most recent 45 days of activity (since the last transaction).

The Group Subtotals Report tallies subtotals for every category rather than showing you individual transactions.

A special Query report lets you manipulate your data with any MySQL command. That can be dangerous, but it's also very powerful.

Each report prints deposits and interest in black and expenditures in red with subtotals at the bottom, as well as a total. You can run the report on any year you have closed as well as the current data.


Subtotals and a total are displayed at the bottom of the report.

Back to the Home page