User changed a supplier vat code to 8, which is an out of scope code shipped with the ASC system, but when creating a purchase order for this supplier, the system assigns a vat code of 8 plus the second digit from the vat code held against the stock code being purchased.
The in built VAT code 8 Out of scope, is what is required to be used. If the user creates vat codes 8V and 8Z to cover the possable combinations, will they act exactly as the current 8 code?
Does the code 8 which is shipped with ASC have any special features?
When a purchase order is raised, the VAT code against the line will show as 8V, with the V from the stock code, and, therefore, the operator cannot save the line as it has an incorrect VAT code, as VAT code 8V does not exist.
When a supplier is part of your VAT group and shares the same VAT registration number, any transactions between you are "outside the scope of VAT." This means no VAT is charged, and the transactions do not appear on your VAT return. To handle this correctly in the system, you need to assign VAT Code 8 ("Outside Scope of VAT") to that supplier.
Step-by-Step Guide
1. Open the Supplier Record
2. Navigate to the supplier you want to update and open their record.
3. Go to the Settings Tab
4. Click on the Settings tab within the supplier record.
5. Set the Export Code (VAT Status)
6. Find the field labelled Export Code.
7. Select GB VAT / Home Tax from the drop-down list.
8. Set the Default VAT Code
9. Find the field labelled VAT Code.
10. Enter or select 8 (this is the "Outside Scope of VAT" code).
11. This ensures that every time you create a transaction for this supplier, the system will automatically use VAT Code 8.
12. Enter the VAT Registration Number
13. Find the VAT Registration Number field.
14. Enter your shared VAT registration number.
15. Save the Record
16. Click Save to apply your changes.
What this does:
From now on, any invoices or credit notes you process for this supplier will default to VAT Code 8. This means no VAT will be calculated on the transactions. The transactions will not appear on your VAT return. This is the correct treatment for supplies between companies in the same VAT group.
Note: If you are unsure whether your company and this supplier are formally registered as a VAT group with HMRC, please check with your finance team or accountant before making this change.
How the PO line VAT code gets built
When a purchase order line is created, the system does not simply copy the supplier's VAT code. It concatenates two parts:
The supplier VAT code (
SUP-TAX→W-SUP-VAT)The stock item's VAT indicator (
PMA-VAT-IND→W-PMA-VAT)
The supplier code contributes its first character (W-LEN = 1 in the normal, non-USA case) and the stock's VAT indicator is appended.
So supplier 8 + stock indicator V → 8V. This is exactly the designed behaviour you're seeing, not a bug.
Does the shipped code 8 have special features?
Yes. Code 8 ("Outside Scope of VAT") is shipped with rate 0, blank EC_TYPE, and VAT_SYSTEM = 3;the same category as Zero-Rated. More importantly, the literal string '8' is hard-coded in two critical places:
1. Tax code validation (AA_CHECK_TAX_CODE_S) exempts '8' from EU/EC-type validation rules, e.g. @PS_VAT_Code not in ('8','FV') and @PS_VAT_Code = '8'.
2. VAT return calculation (VatReturnForDates) treats '8' as outside-scope and excludes it from the return boxes: if @LS_VATCODE_TEMP not in ('0','8') (VAT boxes) and if @LS_VATCODE_TEMP <> '8' (net-value boxes).
Will 8V and 8Z behave exactly like 8?
No. The VAT-return categorisation first normalises the code.
A two-character code like "8V" is not between '0' and '8' in string terms ('8V' > '8'), so it collapses to '9';which is not excluded from the VAT return. The special outside-scope exclusion applies only to the literal '8'. So 8V/8Z transactions would be pulled into the VAT return, unlike 8. The same literal-'8' dependency means the validation exemptions in AA_CHECK_TAX_CODE_S also would not fire for 8V/8Z.
How to correct it
The concatenation is by design; the second character always comes from the stock item's VAT indicator (PMA-VAT-IND). To get a plain 8 on the PO line, the practical option is to blank the VAT indicator on the stock item(s) purchased from this supplier, so nothing is appended and the line resolves to 8. Note the stock VAT indicator is validated against the V-type CDS records, so a blank/valid combination must exist.
Creating 8V and 8Z as new VAT records will make the codes valid (so no validation error), but they will not inherit the outside-scope VAT-return exclusion that the hard-coded '8' receives. If your requirement is that these purchases stay outside the VAT return, the 8V/8Z approach would misreport them unless the hard-coded logic in VatReturnForDates (and the update procedure AA_SYS_VAT_RETURN_UPDATE_S) is also changed to recognise them.
