Managing Your Money with GnuCash
The simple example has covered most of what's needed to use GnuCash to track your expenses. You can go ahead and create expense, income, bank and cash accounts to meet your needs. However, if you conduct a lot of different types of transactions and end up with a bunch of accounts, there are going to be a lot of accounts for fairly similar types of transactions. Wouldn't it be convenient if you could somehow group these accounts? GnuCash lets you do just that. In fact, GnuCash is designed around the concept of a chart of accounts or account hierarchy, in which accounts are placed in a tree structure.
For instance, wouldn't it make sense to group together all the different sorts of utility bills, such as electricity, water and phone? GnuCash can do that. First, create a general Utilities expense account, just like you created the Phone Bill expense account. Next, create an Electricity expense account, but this time, in the “parent account” field of the dialog box, select Utilities rather than “New top level account”. Repeat the process to create a Water expense account under the Utilities account.
And now let's just add an account for phone bills...uh, wait, we already have one of those. What do we do now? Do we delete that account, make a new one and re-enter all those transactions? No, we can move the “Phone Bill” account to make it a child of the Utilities account. In the main window, click on the Phone Bill account, then either click on the “edit” toolbar button or right click on the highlighted main window entry, and select “edit account”. Either way, you bring up the “edit account” dialog box where you can change any properties of the selected account. Change the parent account to Utilities, and click “OK”. That's it!
So far, we've assumed that we've never used accounting software before. For many people that's not the case, and Quicken's QIF format is probably the most common way that people export data from their systems. Microsoft Money can also export QIF. Check the documentation of your particular system to find out whether your package can export QIF. Unfortunately, Quicken's QIF file has some rather interesting “features” and design decisions (including recording dates differently depending on your location), so importing your data into GnuCash requires a little manual intervention along the way.
GnuCash's on-line help system (accessible from the help menu) covers the importation process in detail. In fact, the on-line help system is a comprehensive guide to all of GnuCash's features and gives quite a lot of accounting background, not just the details of GnuCash's operation. To use the on-line help just select “help” from the main window. Many dialog boxes also have a help button available.
In any case, let's assume you have exported a QIF file with all your accounts, that you want to import to GnuCash. From the GnuCash main window, go to the File menu and select “import QIF”, which brings up the import dialog box. First, select the QIF file you wish to import, and select the default currency for this QIF file. Next, give a name to the default account, and specify the currency in which this QIF records transactions. Then, click on “load file”. If you have multiple QIF files you wish to import at once, repeat the process.
The QIF importer then examines the QIF files, creates an account structure that matches the original QIF categories and accounts with GnuCash accounts, and checks for any duplicate transactions. This is quite a complex process so don't be concerned if it takes a while and GnuCash doesn't respond to user input. It also guesses the appropriate account type for each category. While the QIF importer usually guesses correctly, it's wise to check. You can also add descriptions and change the parent of accounts. If you want to do this later, you can do it from the main window. Anyway, when you've checked everything just click OK, and importation will be complete!
You can also import QIF into existing GnuCash files. Use the same process as above, but this time you'll probably have to use the “accounts” and “categories” tabs of the QIF importer to tell GnuCash in which of your existing accounts to place various transaction categories. These days, many banks are able to provide QIF files representing all transactions in an account over a period of time. You can use the QIF importer to import those transactions automatically into the system.
GnuCash can also assist you in reconciling your records against your bank statement. When you receive a bank statement, just choose that account and then right click and select “reconcile”. Tell GnuCash the ending balance on the statement, and the reconcile window is displayed (see Figure 1).
You should then go through your bank statement, and check the uncleared transactions against the transactions on the statement. If they match (and the amounts are correct) click that transaction to clear it. When the process is complete, the difference field at the bottom of the window should be $0.00. If it isn't, there's a discrepancy between your record and the bank's. Either you've missed a transaction (have you checked the bank's fees and government charges?), an amount is wrong or the bank has made an error (possible, but unlikely).
|September 2015 Issue of Linux Journal: HOW-TOs||Sep 01, 2015|
|September 2015 Video Preview||Sep 01, 2015|
|Using tshark to Watch and Inspect Network Traffic||Aug 31, 2015|
|Where's That Pesky Hidden Word?||Aug 28, 2015|
|A Project to Guarantee Better Security for Open-Source Projects||Aug 27, 2015|
|Concerning Containers' Connections: on Docker Networking||Aug 26, 2015|
- Optimization in GCC
- Using tshark to Watch and Inspect Network Traffic
- September 2015 Issue of Linux Journal: HOW-TOs
- Problems with Ubuntu's Software Center and How Canonical Plans to Fix Them
- Concerning Containers' Connections: on Docker Networking
- A Project to Guarantee Better Security for Open-Source Projects
- Where's That Pesky Hidden Word?
- Firefox Security Exploit Targets Linux Users and Web Developers
- My Network Go-Bag
- Doing Astronomy with Python