GnuCash Tax Invoice for Australia (Bug 695610)

alphamega superarya at
Mon Mar 11 04:28:12 EDT 2013

Hi there,

Australia has some unique requirements for businesses preparing tax invoices.
I've searched through the archives and this keeps coming up again and again and
again. People submit patches and fixes again and again, but these changes don't
seem to actually make it to the release versions of GnuCash. 

GnuCash 2.4.11 was released in July 2012. Here is a summary of previous bug
reports on this issue, which should have made it into this release, but didn't:

Dmitry Smirnov reported this and even submitted a patch back in 2012-02-13. See
this bug, which was closed 31/03/2012 with patches committed:

Another invoice template was supplied in response to this bug report in April

And this guy gave up completely!

Anyway, I incorporated all of the patches and changes I could find (thanks
Dmitry), put myself through a crash course in guile/scheme programming, added a
bunch of enhancements of my own, and came up with... well.... this patch. Now,
I'm not really a developer, so I did the best I could with the time I had

So here's a summary of the files attached to bug 695610:
1. taxinvoice-australia-v1.2.patch: A patch that can be applied to the
taxinvoice.scm / taxinvoice.eguile.scm / taxinvoice.css files (in the
guile-modules/gnucash/report directory). Note that I didn't check out the svn
repo, I just made my changes to the version that comes with 2.4.11.
2. The resulting taxinvoice.scm, taxinvoice.eguile.scm and taxinvoice.css
3. A sample invoice PDF that's created if you just use the defaults.

Things you should know:
1. I needed a way to print the company's bank details so that my customers can 
pay the invoice via bank deposit. There is no field for this, nor is there a way to
nominate an asset account as the primary bank account for invoices, nor a way
to nominate an asset account for a customer to pay into. So I'm using the
company address field instead.
2. Because of point 1, I'm using the company website field as the company
address field.
3. The tax rate is an invoice entry specific item, but in Australia, most
invoices I see have the tax rate as a "subtotal row". I'm sure there's a better
way to do this, but if you select the "row: Tax Rate" option, you'll get a
hardcoded "10%". Change this in taxinvoice.eguile.scm, search for
4. I got tired of changing the default labels to suit Australia each time I
wanted to generate an invoice, so I changed the defaults to suit Australia. To
undo this, just change taxinvoice.scm so that all occurrences of "GST" becomes
5. Many columns are now unchecked by default. Again, this was my preference,
but you can undo this in taxinvoice.scm. Search for "Elements page options",
then change #f to #t for each one you want checked by default (and vice versa).

Here's link to the bug report:


More information about the gnucash-devel mailing list