With GNUCash and a bit of discipline, you can quickly begin to manage your money and accounts for a variety of financial needs.
One of the final frontiers for users, and open source programmers, is the dark realm of the financial application. Plenty of office suites, customer relationship managers, IDEs, and various groupware packages abound, but a dearth of solid and usable financial programs are available. GnuCash fills the void of a financial package for Linux users but GnuCash, contrary to what some believe, will not replace Quickbooks although it does have some very advanced features. It is more of a competitor with Microsoft Money or Quicken for personal account or small business accounting. It may fill the need, however, for a large number of you who feel stuck with a Windows-only financial application solution.
GnuCash is a rich application with the ability to manage your money and accounts for a variety of financial needs ranging from personal checking account, to mutual funds, retirement accounts, home loan, business accounts, and even spousal income. Some of its features that make it well worth investigating — especially for small businesses — are listed on the Web site.
Listing 1: GnuCash 2.2.1 Features
- Double-Entry Accounting
- Stock/Bond/Mutual Fund Accounts
- Small-Business Accounting
- Customers, Vendors, Jobs
- Invoices, Accounts Payable, Accounts Receivable
- QIF/OFX/HBCI Import, Transaction Matching
- Reports, Graphs
- Scheduled Transactions
- Financial Calculations
Users familiar with accounting terminology will understand the entries in the list above. Double-entry accounting is often confusing to non-accountants, and refers to the type of transaction tracking that has to do with subtracting money from one (or more) accounts and posting those funds to other accounts.
It is sometimes referred to a multiple entry accounting since the transactions may involve more than one account. This type of accounting refers to something called the Principle of Balance and is common in the financial world. GnuCash is built around this principle so your understanding of it is essential to your success in using the program.
You may also manage your personal investment accounts, dividends, depreciations, amortizations, and other complex calculations with GnuCash. By entering data and variables into your account sheets, you can even produce projections and graphs based on the information given.
To get the latest stable release, go to the download links, which will redirect you to the GnuCash project site at SourceForge (http://sourceforge.net/projects/gnucash). Other stable releases are available, via
yum, as packages from your favorite distribution’s repository. Once installed and started for the first time, you are presented with the Welcome screen shown in Figure 1. This dialog will walk you through creating a new set of accounts, importing Quicken files, or to open the new user tutorial.
Figure One: The GnuCash Welcome Screen File
Selecting “Create a new set of accounts” presents you with a blank Accounts screen titled ‘no file’ and the “New Account Hierarchy Setup” screen shown in Figure 2.
Figure Two: The New Account Setup Screen File
The number one reason to use GnuCash is that it’s simpler than a paper register, because auto-completion and other entry shortcuts, not only do work for you, but reduce data entry errors.
GnuCash also uses a set of Druids, instead of Wizards, to assist you with various activities in the program such as setting up a new account, investment portfolio, or online banking. In fact, just about everything you need to do is accompanied by a Druid for assistance.
The first step in the new accounts setup process is to choose the currency type you use most often. It is possible, once your accounts are initially setup, to use multiple currencies. The next step, shown in Figure 3, is a complex screen displaying a list of account types and their subcategories.
Figure Three: Choose Accounts to Create File
You may choose more than one account type in the list. The default is Common Accounts, which includes your basic family home expenses and assets. For most non-business users, this may be the only account type you will ever need. For assets and liabilities that need more in-depth accounting, you may select from one or more of the following:
Listing 2: GnuCash Account Types
- A Simple Checkbook
- Business Accounts
- Car Loan
- CD and Money Market
- Childcare Expenses
- Common Accounts
- Education Loan
- Fixed Assets
- Home Mortgage Loan
- Homeowner Expenses
- Investment Accounts
- Other Loans
- Renter Expenses
- Retirement Accounts
- Spouse Income
- Spouse Retirement Accounts
The most basic of all the Account Types is the Simple Checkbook. To set up your own Checkbook in GnuCash:
Listing 3: Checking Account Setup
- Select File –> New –> New File and the New Account Hierarchy Druid launches.
- Click Forward.
- Deselect Common Accounts, then select A Simple Checkbook, and click Forward.
- Make changes on this screen, if any, then click Forward.
- Click Apply.
You are now presented with your new Simple Checkbook. To begin entering data into your register:
Listing 4: Entering Transactions
- Click (+)Assets, (+)Current Assets, and double-click Checking Account. The check register opens with the current date selected in the first entry.
- Pick a date with the Date Picker for the first entry. Your first entry should probably be a balance or a check so that you will have something to draw funds from.
- Enter a check number into the Num field. TAB to the Description field.
- Enter a description of the transaction. TAB to the Transfer field.
- Use the Choice List button to select from the list of Expenses, Assets, or Income categories to further describe your transaction. TAB to the Deposit or Withdrawal column. You can select from existing options or create your own if you don’t find one that works for you. Use the Accounts tab to add new options to this list.
- Enter the amount of the Deposit or Withdrawal in the appropriate column. TAB or ENTER to advance to the next line in the Register.
The R column stands for reconcile when you check your entries against your monthly bank statement. To reconcile, click into the R column for the transaction then click the Reconcile button.
Figure 4 shows a list of sample entries for a Checking Account.
Figure 4: Sample Checking Account Register File
Select the type of account(s) you need and proceed through the Druid until the Accounts screen appears by itself showing all of your new Account Names, Descriptions, and Totals. This is the screen with which you will interact when dealing with your accounts and is the file that opens by default every time you launch GnuCash.
One of the most impressive, but complicated, aspects of GnuCash is the ability to connect to your online bank accounts. You may access this Druid by selecting Tools –> Online Banking Setup. You will probably have to contact your bank concerning some of the entries that are required to make this connection and please realize that not all banks will support this type of connection. To make the connection to your bank, you must first choose the backend you need to connect to your online account.
Listing 5: Online Banking Backends
- DTAUS backend using AqDTAUS
- HBCI backend using AqHBC/li
- Dummy backend
- OFX-DirectConnect backend
In Germany, or when using a German bank, you have to use the HBCI backend. For just about everyone else, you should try OFX first.
Beep Beep Beep
Like other parts of GnuCash, you’ll find that backup and restore are pretty sophisticated and well thought-out. Each time GnuCash is opened, your Accounts file is opened along with a copy of the Accounts file with the same filename as your original with the extension of .xac, and a corresponding log (Accounts filename.log) file. The .xac file is an exact copy of your original Accounts file. The log file is a transaction-only file since the last successful save. Save often if you have a version older than 2.2.0 or setup the Autosave feature under Edit –> Preferences –> General. The default auto-save interval is five minutes, which will be sufficient in most cases. Your level of paranoia should dictate your auto-save interval.
Should your original Accounts file become corrupt, it is fairly simple to recover most, or all, of your data.
Listing 6: Corrupt Accounts File Recovery
- Rename the original file.
- Copy your backup file (.xac) to a new file without the .xac extension.
- Locate your latest log file (Filename.YYYYMMDDhhmmss.log where YYYYMMDDhhmmss is the timestamp).
- Open GnuCash, File — > Import –> Replay GnuCash .log file…
- Browse to the latest log file, select, and open it.
The default location for your Accounts file, backup, and log file is your home directory. Your last good backup file and latest log file should get you within a transaction or two before the incident that caused the corruption. In some cases, your Accounts file will be completely restored. This is a very advanced feature that is generally associated with high-end accounting packages that use backend databases to manage transactions.
It’s a Hit
The online help files that come with GnuCash, as well as the documentation provided on the gnucash.org Web site, is some of the very best available with any open source application. The new user tutorial is well-written and complete. You may need no other references to get you up and running quickly with GnuCash.
Although there is no Quick Start Guide, you will find that GnuCash uses familiar financial nomenclature, account types, and controls. If you have ever used another money management or financial package like Microsoft Money, Quicken, or Quickbooks, you will be GnuCash proficient almost immediately.
GnuCash is also very flexible for you old pros out there as most every aspect of your accounts is customizable via the menu bar Edit option or the context sensitive right-click menu. The right-click menu is available for every account and entry type.
GnuCash is a great financial application and one that is ready to add to your Desktop repertoire. It is like any other financial application though; you have to have the discipline to enter your information accurately and keep it updated regularly.