Gnucash is an excellent piece of open source accounting software for individuals with complex accounting needs or for small businesses.

It would appear at first glance to be unsuitable for Australia, New Zealand, or the UK (and possibly other countries) because of restrictions in the reports. However, Gnucash has customisable reports using a mixture of the Scheme programming language and Guile library.

It is very straightforward to take an existing template and modify it, provided that you have basic web programming skills (html and css) and are able to grasp new language constructs reasonably quickly. It took me less than an hour to create a custom invoice for ST Enterprises.

I'll go into more detail on how to create a new Gnucash report here shortly!