GNU Cash Business Quick Start Guide

For GNU Cash Version 1.8.2

Herman Oosthuysen
Aerospace Software Ltd.
28 May 2003

Get the latest copy of this guide at

Copyright reserved, 2003, Herman Oosthuysen, GPL.


For many years, I wanted to run all our business processes exclusively on GNU/Linux, since our servers run GNU/Linux and all our embedded software work uses GNU/Linux.  Thanks to, Mozilla and Eagle PCB, I was well on my way to do that, but accounting was a sore point.  I actually had Quickbooks Pro running on wine/cxoffice for a few years, since the days of Corel wine and I was probably the first person who managed that feat, but with the recent addition of basic business features, GNU Cash became a worthy replacement.  A great attraction of GNU Cash is that it is highly configurable and can handle multiple currencies and tax rates, something which my older version of Quickbooks Pro cannot do.

A major problem remains the lack of documentation on the business features, so I found myself stumbling around and spending a lot of time searching for information on the simplest things.  Getting the Accounts Receivable and Payable configured wrong did not exactly help either...

An appeal to Derek Atkins, the designer of the business extensions, resulted in some good comments which were worked into this guide.

The purpose of this guide is to document the configuration and execution of the common business actions.   I assume that you are comfortable with small business accounting and just want to know how to get going.


It is well nigh impossible to compile and install GNU Cash yourself.  Rather get a modern Linux distribution and install that.  Mandrake 9.1 comes with GNU Cash 1.8.2.  I tried doing it myself, descended deep into shared library hell and eventually gave up - there was no point in being a damn fool about it... ;-)


The important thing is to create a standard Chart of Accounts and to enter all the tax codes for your country and state.  Each account can have both a text description and a number. To keep tax time simple, I use the Canadian GIFI codes as the account numbers.  Tax time then becomes a simple transciption of numbers from one program to another.  Intuit recently promissed that future versions of Quick Tax will not have its current copy protection schemes, so it just might run on wine/cxoffice in future. Maybe next year, corporate taxes can be handled with Linux too, without the need for a Windoze machine at all.  That would be a happy day indeed.

You can use this file: chart-of-accounts to get you started.  It defines both USD and CAD accounts for a small consulting business.  Save the file where you want to have your company data, rename it to your company name and open it with GNU Cash from the File, Open menu.

If you live in Canada, then that will do to get you going.  If not, then you have a little bit of work to do, to enter your country's account codes.  Once you are happy with the Chart of Accounts, export it to save a copy of the account setup from the File, Export menu.  That is how I created this example file.

Note that there are a few important relationships that must be configured properly.  One thing that tripped me up initially was the Account Type configurations.
If those types are wrong, then the bill and invoice payment dialogues will not work correctly.

On the Chart of Accounts, you can right click on an account name and select Edit, to view the account configuration data.  If the Account Type scroll box is too small to navigate it, either maximize the dialogue or click and drag the bottom corner out till things are large enough, so that you can see the list of account types - highlight the relevant account type and click OK.

The sample Chart of Accounts is configured for two sets of bank accounts denominated in CAD and USD.  Always ensure that you use the correct accounts when you post transactions.

Add your Business Name, Address and GST number:

Create an Invoice

Creating an Invoice is easy and the invoice editor works decidedly better than that of Quickbooks Pro, but by default, the top part of the invoice doesn't look very good. You would probably want to use a pre-printed letter head, or redesign the invoice style sheet to add your company information at the top of the invoice:

Derek Atkins:
One of the design goals was to allow different processes to get to the same state, so you can reach an invoice from different directions based on the way you think about the problem:

In other ways:

The whole idea was to allow different processes to co-exist.

You want to click the "Post" button to record the invoice in your Accounts Receivable account. The "Enter" button just records the current item (in lieu of tabbing off the end or hitting the enter key).

Print Invoice

Once you have created the invoice, printing it is a matter of clicking the Print button, provided that you clicked the Post button first.  Also ensure that  the Account Type of the Accounts Receivable is set to A/Receivable as described above under Configuration.  You can print from the New Invoice dialogue as descibed above, or from the Process Payment dialogue:

Receive Payment

The first time I tried to receive a payment, I had a terrible time to figure out what to enter into the Post To text box, since it came up blank and the system just wasn't co-operative at all.  If that happens to you, check the Account Type of your Accounts Receivable as described under Configuration above. 

A payment is received as follows:

Deposit Money in Bank

You could receive payment for an invoice and  transfer the payment directly to a bank account.  In some cases though, you may receive multiple payments and only go to the bank later, or the next day.  If you would make all deposits directly to the bank account, then you may have a somewhat more difficult time doing the bank reconciliation after the end of the month, since the amounts in your ledger will be different from the amounts on the bank statement and you may need to use a calculator to figure out what is going on. 

This state of affairs can be avoided by consolidating payments in an intermediate account called Undeposited Funds, until such time as you actually go to the bank, then do a transfer so that the amounts entered into your ledger will correspond exactly with the amounts on the bank statement, thus making reconciliation easy.

So, you have money in Undeposited Funds, and need to deposit it into your Chequing account:

Assign Your Starting Invoice Number

There is no easy way to assign an automatic starting invoice number.  GNUCash will start with number 1 and increment from there.  You can override the invoice number by typing an invoice number into the text box each time you create an invoice, but this is bound to get tiring and will sooner or later lead to duplicate numbers.

Derek Atkins:
Unfortunately there is no UI interface to do it.  You can do it by editing your XML data file by hand (it should be right at the beginning of the file in the "counters" section).  I never really could figure out how important it was to set the invoice number, or perhaps to recompute it from an input number.

Prettifying Your Invoices

The default Invoice style seems to leave the top part of the form blank, so that you can use pre-printed stationery.  If you go to File, Properties, then you can enter your company name and address, which will then be printed on the righthand side of the invoices.   If you do not want to go to the expense of using pre-printed stationery, then you can modify the style sheets and add a Background, Heading Banner and Logo.  So, run the Gimp and create some graphics.  I tried GIF and PNG images, both worked with GNU Cash.  Remember to keep it simple...

I found that when using the Default style sheet, it prints the company name and address  (See Configuration above) a bit too far to the right, which does not look good.  When using the Technicolor style sheet, the company name and address prints with better allignment, but then you have to select it every time you want to go and print an invoice. 

The solution to this conundrum is to create a new style sheet and name it Default.  Note that the default style sheet cannot be deleted, but you can make a new one with the same name.  When you create the new default style sheet, select the fancy type, which is the same as the technicolor style sheet and then add the logo and banner graphics as detailed below.

When playing with the graphics, I had a terrible time to get things to work right.  Eventually, I found that the graphics resolution is required to be some unknown, magic quantity which probably has something to do with the resolution of your printer.  A high resolution of 600dpi graphic - same as the printer - does not work.  A low resolution of 72dpi looks good on screen but prints too small, while 150dpi looks too big on screen but prints better.  Oodles of patience is required with this feature...

The idea seems to be that the Logo will print in the left top corner.  This graphic should be small, about a square cm or so.  The banner, will print accross the top of the page and should be about 6 inches wide and 0.5 inch high.  Don't bother trying the background feature.  I found that if there is no logo, I get a faint square on the invoice.  If I make an empty transparent square logo of .25 by .25 inches, then this faint outline may/may not go away.  It seems that the only reliable way to make this outline go away, is to create a real logo and use it.  Text in the banner prints fuzzy and small text is unreadable, so keep text large for best results. 

Now click Edit, Style Sheets and select your graphics, then go and try it, to see what it looks like.  Quite a bit of experimentation will be required.  When you print the invoice, you can select the style sheet to use from the Options menu.  Whatever you do, it remains kind of unsatisfactory, but at some point you have to give up and live with it.  If it really annoys you, use pre-printed forms.

Cleaning things up:
After all of the above experimentation, you may have a bunch of unwanted test invoices.  There is no way to completely get rid of them, but you can make them disappear.  To remove an invoice from accounts receivable, you have to edit the invoice and then click the Un Post button.  To make a test vendor or invoice disappear from searches, you have to unmark the Active flag.  The data will still be in the accounting file, but it won't bother you anymore.

Paying Yourself

If you are used to working for a salary on somebody else's payroll, then this is a rather mystifying question.  In general, if you are the only, or a major shareholder of a small company, then don't pay yourself a salary, or a commission, or a management fee, or a director's fee, or anything that can be construed to be a salary, since it will attract payroll taxes.  So how now brown cow?

The solution is to ensure that the company makes a profit, so that you can pay yourself a dividend.  Dividends can only be paid from after tax profit, so this is the way the government ensures that small businesses remain healthy - if you want to get paid, you better pay your corporate taxes and make a profit...

You declare a dividend at the end of the year (or the start of the next year) once you know how much money you made.  In Canada, a dividend must be declared on a T5 to the CCRA and this form must be filed before 1 March.  I prefer to run a company's tax year from January to December, since that keeps all the filing dates standard.  So, how do you survive the rest of the year?

In the sample Chart of Accounts, I added shareholder's loan accounts.  As you need money, you draw money from your loan account. Then in January, you do the profit and loss statement for Jan to Dec of the previous year, figure out how much tax should be paid, and pay out the rest as a dividend, to top up your shareholder's loan account.  You are supposed to do this in December, but since I only get the December bank statement in January, I rather back date the dividend transactions.

In summary:
Just to keep things clear in the registers, I declare the dividend dated Dec 24, Pay it out dated Dec 26 and Amortize the Capital Equipment Dated Dec 28.

After paying out the dividend, your shareholder's loan should be zero or in Credit, else you will eventually run afoul of the loan tax rules.  After two years of having a loan, the amount will be deemed as personal income and payroll taxes will become due, which could be a painful experience.

So, why jump through all these hoops?
In Canada, the first $24000 or so, in dividends, will not attract any personal tax in your hands and up to about $40000, it will attract very negligible tax, while the corporate tax rate is very low, effectively about 12% to 14%.  So, the advantage of all this accounting work is self evident.

Paying your taxes:
Squirrel away about 20% of your earnings, in order to pay GST and corporate taxes.  I use a brokerage account and buy a few blue chip stocks with the tax money, but for heaven's sake, don't put it all in stocks.

Paying Bills

Paying a bill must be done through the Business Process Payment Interface, otherwise the transaction will not show up in the Vendor Report.  To pay a bill, you first have to enter the bill and to enter the bill, you have to enter the Vendor information...

New Vendor:
New Bill:
Pay a Bill:

Paying Salaries

It has been said that Canada is a part of the USA with the good sense not to pay taxes to Washington.  However, we pay taxes to Ottawa, so it comes out even in the end, especially since Ottawa doesn't do anything useful for us either. ;-)

GNU Cash doesn't have an integrated Payroll system.  In a small business with one or two employees, the payroll transactions can be handled manually quite easily though.  In Canada, the CCRA is actually very nice about it and provides a dinky little program that you can download off their web site, called Windows Tables On Disk.  This program can be used to prepare pay slips, so you are spared the ordeal of looking CPP, EI, Federal and Provincial taxes up in dead tree tables.  Be sure to get this program and update it twice a year from the CCRA web site.  The CCRA WTOD program can run on wine/cxoffice - I think - haven't tried that.  Where to get it? will find it.  It is free, which is about the only good thing about it.

In order to do a payroll manually, you have to understand the basics about Canadian payroll taxes.  If you don't live in Canada, then don't worry, your system can only be simpler, so it will be easy to adapt this description.

These are the Payroll Tax Tracking Accounts in the sample Chart of Accounts:
Under the Taxes accounts, you'll notice another pair:
which balance their counterparts above.  Once you write a cheque you'll see what happens.  Don't worry, it really is quite confusing. ;-)

Lets say you have run WTOD, entered a monthly Gross Salary amount for your secretary and clicked Print Screen to get a paper copy of the pay slip, with the following results:
Don't forget the stealth payroll tax that doesn't appear on the pay slip:
Now, we can write the secretary a cheque.  We do this with a huuuuge split transaction.  We enter her Gross Salary, then subtract all the payroll taxes, then subtract the company part of the payroll taxes and then add the company part of payroll taxes back in again, since the company is supposed to pay it, not the secretary - confused? Good. 

The above ins and outs sound like a cricket game, but it allows us to create double entries for everything, right from the cheque writing dialogue.  Then when we pay the witholding taxes, all the amounts are already visible and you can write a cheque to the Receiver General for the total.

Here we go:
Whee, we are on a roll now - I hope I got that right, but it should give you the idea.  This is probably the most complicated transaction you will ever need to do in business accounting.

Have fun!