GnuCash Tax Invoice for Australia (Bug 695610)

Mike Evans mikee at
Wed Mar 13 07:13:44 EDT 2013

On Mon, 11 Mar 2013 19:28:12 +1100
alphamega <superarya at> wrote:

> 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
> 2012:
> 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
> available.
> 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
> files.
> 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
> "taxrate-val".   
> 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
> "Tax".
> 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:
> Cheers
> A.
> _______________________________________________

Dmitry's work in bug #670008 wasn't included in the 2.4.11 release
because it was based on the trunk code which, if I remember correctly,
wasn't back portable to 2.4.  This doesn't work when applied to trunk,
but is fine in 2.4.  See though my comments regarding some minor
issues with this in the bug report.

This could be applied against 2.4 but I'm not sure if 2.4.12 is ever
going to be released.  And may violate the rule against major changes
within a version.

Mike E

Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.

More information about the gnucash-devel mailing list