Sales Tax with GnuCash

Derek Atkins warlord at MIT.EDU
Thu Dec 17 10:01:53 EST 2009


Mike,

Mike or Penny Novack <stepbystepfarm at mtdata.com> writes:

>>Just a note: A Tax Table can have multiple entries, and each entry can
>>have its own account.  So for example you can have a Tax Table named
>>State-County-Town and have three taxes in it that each go to their own
>>account.  So for example your tax table could look like:
>>
>>  Sales Tax State-County-Town
>>    5%          Liabilities:Taxes:Sales:State
>>    2%          Liabilities:Taxes:sales:County
>>    1%          Liabilities:Taxes:sales:Town
>>
>>Then on the invoice you just use the "Sales Tax State-County-Town" Tax
>>Table and the appropriate taxes will be filed into the appropriate
>>accounts.
>>  
>>
> Am I missing something here? I have NEVER seen tax tables as simple as
> that. Almost all that I have ever seen involve complex rules for what
> happens if the tax owed based on that percentage does not come out to
> an intregal number of the lowest unit of currency. And that is not
> always/necessarily as simple as "round up to the next whole
> cent". Also there may be very complicated rules about "precedent" and
> which taxes would be computed just on the base price of the item and
> which would be calculated on the price of the item PLUS other taxes
> already added on.

Well, for one thing this was just an example, but really you've never
seen a tax table with multiple taxes??  That surprises me.  Perhaps
you've never seen them with integral tax rates, but I was just trying to
keep the example simple.  Obviously it can get more complicated that
that, but unless you have a variable tax rate you can handle everything
by precomputing.

When you have a 'tax on a tax' (e.g., Canadian VAT/PST) you can
precompute it and enter that as well.  For example, if you have a 7%
VAT and a 5% PST, but you have to pay VAT on the PST, then you can
precompute the additive VAT taxrate and still enter it.  For example,
if you spend $x then you can compute:

   PaidPST = x * PSTrate = x * .05
   PaidVAT = (x + PaidPST) * VATrate   = (x + (x * .05)) * .07
           = (1+PSTrate) * x * VATrate = 1.05 * x *.07

So now we want to compute the additive VAT rate, by dividing PaidVat
by x, so:
 
 RealVatRate = PaidVat/x = (1+PSTrate) * VATrate   = 1.05 * .07 = .0735
           
So you'd create a tax table:

   5%    ...PST (5%)
  7.35%  ...VAT (7%)

Voila, you now have you precendence handled in the tax table.  It's all
just very straighforward algebra.

> Michael D Novack, FLMI

-derek

-- 
       Derek Atkins, SB '93 MIT EE, SM '95 MIT Media Laboratory
       Member, MIT Student Information Processing Board  (SIPB)
       URL: http://web.mit.edu/warlord/    PP-ASEL-IA     N1NWH
       warlord at MIT.EDU                        PGP key available


More information about the gnucash-user mailing list