Tax support in GnuCash

Martijn van Oosterhout Martijn van Oosterhout <>
Wed, 13 Feb 2002 22:12:46 +1100

[Please CC any replies as I'm subscribed no-post]

[Basically, this is a discussion about applying tax amounts to each
individual transaction. If you're not interested, skip to next message.]

I've been wondering about tax support in GnuCash. At the moment it seems the
only thing is this TXF stuff which basically works by getting the total of
any income and expense accounts and reporting them. While this is
appropriate for some taxes (like income tax) it doesn't work for others. As
an example I'll use the GST (Goods and Services Tax) we have here in
Australia. Basically it's 10% on almost anything.

There was a mention over a year ago on this list about flexable features
being added related to this but I certainly don't see any.

At the moment it's something you have to do manually. It would be nice if
each transaction could have a tax code and tax amount associated with it.
That's the way it's handled in MYOB, an accounting package that's sold here.
So you get transactions that look like this:

(N-T = No-Tax, GST = 10%, TAX = All-Tax)

Expense        120.00   GST  -12.00
Bank Account  -132.00   N-T    0.00
Tax Paid        12.00   TAX   12.00

Income        -120.00   GST   12.00
Bank Account   132.00   N-T    0.00
Tax Collected  -12.00   TAX  -12.00

See how always both the total amounts and tax total balance? Anyway, I was
thinking that since every country does this stuff differently it probably
appropriate to handle this with simple scheme plugins that can be loaded.
Each individual tax (generally) is simple, it's the whole setup that's

Each account has a default tax code, though it can be changed on a per
transaction basis. You also have to be able to fill in the tax amounts
manually for some types as the GST is not necessarily 1/10th of the invoice.

Is this feasable?

I don't actually like the scheme above, it adds too many transactions to the
Tax Collected account and also turns every transaction into a split
transaction which is ugly. So I would prefer to not require the tax amounts
to balance and have reconciliation transfers as separate transactions (such
as at the end of the month). Keeps each transaction between two accounts and
seperates out the tax payments. So you get:

Income        -132.00   GST   12.00    Payment from customer
Bank Account   132.00   N-T    0.00
Income          12.00   TAX  -12.00    Tax transferred as liability
Tax Collected  -12.00   TAX   12.00
Bank Account   -12.00   N-T    0.00    Pay Tax Office
Tax Collected   12.00   TAX  -12.00

Keeps the amounts in the income account including tax, which I like, though
the end result is the same. It does mean that the current amount of tax
would have to be list as the balance is.

Am I making sense here? Obviously you'd need some reports to take advantage
of the details but it would be kind of nice.
Martijn van Oosterhout <>
> Terrorists can only take my life. Only my government can take my freedom.