Do not calculate it. Save it!
HMRC is very fussy about paying the right amount of VAT. The rounding of VAT calculations is somewhat vaguely indicated in the user guides, and leaving it to future performers to understand this may pose problems. By saving the amount when entering an account / position, this problem can be avoided.
It seems like a waste of memory and a violation of the principles of redundancy, but the amount of storage used is tiny, and this can save a lot of trouble in the future. Of course, it goes without saying that currency amounts (and possibly even VAT rates with fractional parts) should be stored as a multiplied integer to avoid rounding errors of the binary representation, which is also creeping.
Central storage speed
You must absolutely use the central betting repository. However, I would recommend that this only provide the current default rates used when entering new invoices. They can be stored with start and end dates to automatically switch if necessary. These rates can be saved for each invoice (or invoice line) along with estimated VAT amounts at the time of invoicing, to give an absolute snapshot of the situation at that time.
Do not forget to take into account various VAT rates (for example, standard, reduced, zero, without VAT) and the possibility of trading with persons registered with VAT in other EU countries, where you may be required without VAT and an account that is usually taxed with VAT.
As a result, you can get a table similar to this one (example):
id | Rate name | VAT rate | Start date | End date
-------------------------------------------------- -
1 | Standard | 1750 | 01/01/1991 | 11/30/2008
2 | Standard | 1500 | 12/12/2008 | 12/31/2009
etc
The above table is just an example. The VAT rate is stored as an integer of “basis points” (for example, hundredths of a percentage point), but it assumes that the VAT rate will never be more than 2 decimal places. Obviously, you can expand it with an extra column to alleviate this problem, but it looks like it will be too far!
Mark Hatton Nov 25 '08 at 10:43 2008-11-25 10:43
source share