Skip to main content
1 of 3
Daniel
  • 5.3k
  • 1
  • 20
  • 20

That is not how VAT usually works.

To my knowledge (IANAL, but have coded quite a few systems to handle VAT)

  • VAT is always to be calculated on the total sum of an invoice (if you have different rates, you have to calculate one sum for every rate)

  • VAT is always rounded up.

Example:

This is simple: So let´s say you have an item that costs just 7 cent´s. That makes 1.4 cent rounded to 2 cents of VAT.

Now you have a customer ordering 100 of these for $7. The total VAT is $1.40

You give a 10% discount to $6.30, VAT is $1.26. -> Tax per piece would be 1.26 cent

But this: Customer changes his order to 103 for $7.21. Tax would be $1.45 (1.442 rounded up)

You give discount again $6.49. VAT is $1.30. Now if you calculate $6.49 / 103 pcs * 20% you get tax per piece of 1.26019417475728 cent

If you calculate $1.30 tax/ 103 pcs you get tax per piece of 1.26621359223301 cent

Makes for a total difference of 0.2 cents already for the 103 pieces. So what is correct, 20% on the individual rebated price or the 1.26621359223301 cent out of the $1.30?

Answer: Neither, VAT is a transaction fee - it is added to the value of the transaction (the invoice) not the item.

You can try to calculate back the per-item VAT then as a statistical value, but it may not be exactly 20% anymore. Don´t get that mixed up or you will acquire a lot of rounding errors down the road.

Daniel
  • 5.3k
  • 1
  • 20
  • 20