Joe Barr

Subscribe to Joe Barr: eMailAlertsEmail Alerts
Get Joe Barr via: homepageHomepage mobileMobile rssRSS facebookFacebook twitterTwitter linkedinLinkedIn


Balancing your books? GnuCash is the answer

The only thing Joe Barr regrets about this personal-accounting software is that he didn’t praise it sooner

I’ve been remiss in not writing about GnuCash earlier. With all the wailing and gnashing of teeth I’ve done over the years about the lack of personal/small-business accounting software for Linux, there is no excuse for not having taken a good, long look at GnuCash before now.

GnuCash began life as X-Accountant, written for Motif by Robin Clark in 1997. Linas Vepstas liked the GPL’d project and rewrote most or all of it over time. Along the way, the name got changed temporarily to GnuMoney, and then later to GnuCash. It also picked up a goodly number of users and contributors.

In 1998, Vepstas founded a commercial enterprise called Gnumatic to provide a commercial boxed (and supported) version of GnuCash. Gnumatic has since gone bankrupt. Vepstas told me that promised venture capital never arrived, so they really never had a chance to get Gnumatic off the ground. In spite of Gnumatic’s failure to become a commercial success, the GnuCash project continues.

Poco Loco Farm puts GnuCash to the test

In order to exercise the GnuCash 1.6 that came as part of my RH 7.3/Ximian Gnome desktop, I decided to create a mythical company for the task. Please note that business accounting is not a design goal for the current version of GnuCash. Version 1.6 is all about personal — not business — accounting.

GnuCash provides a number of different sets of accounts you can start with: one is for tracking CD and money-market investments, another focuses on automobile expenses, yet another set is for an education loan. There are many more. Most people (according to the documentation) choose "Common Accounts." That’s what I did when I set up GnuCash for my miniature-donkey operation called "Poco Loco Farm."

The GnuCash setup druid guided me through the process. When it was finished, I began hacking the accounts in the chosen set to match what the farm actually needed. I only needed "sales" as other-as-income accounts, so I deleted all the others. I trimmed the list of assets and expenses as well, adding a few things I felt were needed to account for normal operation of the farm. You don’t have to get it perfect; you can always come back later to add, edit or delete accounts. The image below shows the account list I had before I started to enter transactions.

Kylix 3 IDE

I was now ready to begin entering transactions. I opened up the checkbookaccount by double clicking on it in the accounts window. A transaction register appeared, primed with today’s date. Using the calendar controls attached to the date entry column, I set the date back to the first of June. Then I entered a little more than three months of expenditures and receipts.

Double the entries, double the fun

GnuCash is based on double-entry accounting. Every transaction has both a debit side and a credit side, and the debits always equal the credits. The docs, by the way, give a very clear explanation of all of this, so if I am only managing to confuse you, turn to them to clear the fog.

Double-entry accounting in GnuCash is easy. In the example above, I am working on one side of equation already: the checking account. By clicking on the transfer field of the check-register transaction, I bring up a menu of accounts from which I can choose the other side. If I pay the water bill, for example, it would be "expense account for utilities or water." The dollar amount of the transaction can be entered as a deposit or a withdrawal. In this case, it is a withdrawal from checking, so that is the column I use. The deposit shows up in the expense account. The transaction balances and the books stay in balance.

You can also "split" one side or the other of a transaction so that multiple accounts on the debit or credit side can be included in the transaction. Say you went to Best Buy and picked up 5 CDs and some software and paid for everything with a check. GnuCash would allow you to enter a single transaction to credit your checking account with the total amount and split the debit so that your separate expense accounts for CDs and software are correct.

Too much profit is a problem?

After entering three months’ worth of transactions, including several purchases and sales, I realized something wasn’t right: I was showing too much profit. It was my fault, of course, and not GnuCash’s. When I recorded a sale, I had debited my bank account and credited sales. That’s fine, so far as it goes, but it did nothing to reflect the cost of the goods sold. Once I realized what the problem was, I added a transaction to each sale to reduce my inventory account and increase the cost of goods sold: not with the sales price, but with the purchase price. That brought my profits down to where they should have been. The image below shows my checkbook account transaction register.

Checkbook transaction register

Speaking of profits, one of the many reports GnuCash can generate is a Profit-and-Loss statement. The one below is what it generated for Poco Loco Farm based on the transactions I fed it. GnuCash can also generate balance sheets, average balance, tax reports and a whole slew of pie, bar and scatter charts.

Poco Loco Farm Profit & Loss

The are rumors of a 1.8 release of GnuCash being available in a few months, although Vepstas cautions it may be an optimistic timetable for the next release. Among other things, 1.8 will include enhanced business models to make it even more suitable for use by business. The pace of development may not be as quick as it was before, but it is still ongoing.

I want to mention one of the many GnuCash features that is not illustrated in my simplistic example: importing QIF files. Not only have I learned that I’m able to download my bank-account data (Bank of America) in QIF format, but that GnuCash can import them. Granted, the lack of payee information on checks I have written leaves me with some work to do, but it is a start on getting my personal finances on GnuCash.

It is very encouraging to me to see a project like GnuCash survive the failure of a commercial endeavor around it. Vepstas told me that after years of experience he is ready to admit he’s a much better geek than he is a businessman.

For personal financial bookkeeping, I enthusiastically recommend GnuCash. I would hesitate to recommend it as a small-business accounting solution. Of course, GnuCash has never claimed to be that. That may change with the arrival of release 1.8. That said, I do intend to use it to keep my own one-man operation on it. It just has to be better than the spreadsheets I’ve been using.

More Stories By Joe Barr

Joe Barr is a freelance journalist covering Linux, open source and network security. His 'Version Control' column has been a regular feature of Linux.SYS-CON.com since its inception. As far as we know, he is the only living journalist whose works have appeared both in phrack, the legendary underground zine, and IBM Personal Systems Magazine.

Comments (0)

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.