Once your customer has paid, you must then issue them with a real VAT invoice showing the actual rates and amounts of VAT on the date they paid. If the VAT rate has changed between pro forma and payment, you’ll be liable to pay the new rate to HMRC, so you may have to go back to the customer and collect or refund the difference.

To consider all these requirements when you’re designing a database, below is the minimum information that you’ll need to store to be able to calculate the correct VAT amounts:
TaxTypes | |||
PK | TaxCode | Char(2) | Not Null |
Description | Varchar(50) | Not Null |
TaxRates | |||
PK | TaxCode | Char(2) | Not Null |
PK | EffectiveDate | Date | Not Null |
Rate | Decimal(8,5) | Not Null |
It’s usual to use two-character tax codes as shorthand for the different categories of VAT. Here’s my usual list of codes. In addition to the five categories mentioned above, variants for the EU and rest of the world are included.
TaxCode
T0 – UK Zero Rate
T1 – UK Standard Rate
T2 – UK & RoW Exempt
T3 – Rest of World
T4 – EU Exempt
T5 – EU Standard Rate Sales
T7 – EU Zero Rate
T8 – EU Standard Rate Purchases
T9 – Non VATable
Amounts totalled from invoice lines, purchase order lines or expense lines during each quarter have to be reported in different boxes on the VAT return according to their tax code and whether they were sales or purchases.
Each product, product type or expense type should have a tax code, which should be copied to the invoice line, purchase order line or expense line as it’s recorded, and used to look up the last tax rate for the tax code that has an effective date on or before the date of the invoice, purchase order or expense.
Automate your VAT
This isn’t particularly difficult to do, but is tedious, which is why it’s good to have your computer system do it for you. However, when you’re designing and writing such a computer system, it’s very important to get it right.
One error that crops up with invoicing systems with monotonous regularity is the practice of adding up all the line subtotals and then calculating VAT on that final total figure. This is against the rules. You must calculate VAT line by line, because each line may have a different VAT rate, and also because doing it the other way may produce a slightly different figure because of rounding errors.
This may only be a matter of pence, but it could add up for an invoice with many lines. To avoid any doubt, HMRC has decreed that even if you’re printing modified VAT invoices where you don’t show the VAT for each line, you must still calculate the VAT for each line, then round the VAT for that line to pence or tenths of pence (whichever is your standard) and add up those amounts in their different tax categories.
As ever, there are exceptions. Retailers can avoid line-by-line VAT calculation, paying VAT on the proportion of goods they sell at a standard rate. However, they still have to tell you, the shopper, whether what you bought was subject to VAT or not.
Disclaimer: Some pages on this site may include an affiliate link. This does not effect our editorial in any way.