# UK VAT category codes in Peppol: S, Z, E, AE and O explained

> Which Peppol VAT category code to use for UK standard, reduced, zero-rated, exempt, outside-scope and reverse charge supplies, and the rules each triggers.

- Canonical URL: https://einvoices.uk/news/uk-vat-category-codes-peppol
- Published: 20 October 2026 (2026-10-20)
- Last updated: 20 October 2026 (2026-10-20) (not updated since publication)
- Author: Floris Lindenaar, Editor, e-invoicing expert (https://einvoices.uk/authors/floris-lindenaar)
- Publisher: einvoices.uk (https://einvoices.uk)
- Type: Guide
- Topics: VAT, Peppol, Technical, Validation
- Language: en-GB (UK English); covers the United Kingdom

## Sources

- [Duty or tax or fee category code (Subset of UNCL5305) – Peppol BIS Billing 3.0](https://docs.peppol.eu/poacc/billing/3.0/codelist/UNCL5305/)
- [Peppol BIS Billing 3.0 (May 2026 release, version 3.0.21)](https://docs.peppol.eu/poacc/billing/3.0/bis/)
- [EN16931 model bound to UBL – Peppol BIS Billing 3.0 rules](https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/)
- [VATEX code list – Peppol BIS Billing 3.0](https://docs.peppol.eu/poacc/billing/3.0/codelist/vatex/)
- [ConnectingEurope/eInvoicing-EN16931 validation artefacts](https://github.com/ConnectingEurope/eInvoicing-EN16931)
- [Charge, reclaim and record VAT: Charging VAT – GOV.UK](https://www.gov.uk/vat-record-keeping/vat-invoices)
- [VAT rates on different goods and services – GOV.UK](https://www.gov.uk/guidance/rates-of-vat-on-different-goods-and-services)
- [Promoting electronic invoicing across UK businesses and the public sector: consultation response](https://www.gov.uk/government/consultations/promoting-electronic-invoicing-across-uk-businesses-and-the-public-sector/outcome/promoting-electronic-invoicing-across-uk-businesses-and-the-public-sector-consultation-response)

---

In a Peppol invoice, UK standard-rated and reduced-rated lines both use VAT category code **S** (with a rate of 20 or 5), zero-rated lines use **Z**, exempt lines use **E**, reverse charge lines use **AE** and supplies outside the scope of VAT use **O**. Each code switches on its own set of EN 16931 validation rules, and most UK validation errors about VAT come from choosing the right code with the wrong rate, reason or VAT number.

This guide maps every common UK VAT treatment to a code, shows the rules that fire, and flags where the UK mandate may end up doing things differently.

## Where the code goes

The code appears in three places in a UBL invoice, and the values must line up:

- each invoice line: `cac:Item/cac:ClassifiedTaxCategory/cbc:ID` (BT-151)
- each document-level allowance or charge: `cac:AllowanceCharge/cac:TaxCategory/cbc:ID` (BT-95, BT-102)
- each VAT breakdown: `cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID` (BT-118)

Peppol BIS Billing 3.0 says one VAT breakdown must be given "for each distinct combination of VAT category code and VAT rate". So an invoice with 20% lines and 5% lines has two `S` breakdowns, one per rate. Trailing zeros do not matter: 20 and 20.00 are the same rate.

## The UK mapping

| UK treatment | Code | Rate (BT-152 / BT-119) | Exemption reason | Key rules |
|---|---|---|---|---|
| Standard rate (20%) | S | 20 | Not allowed | BR-S-05, BR-S-08, BR-S-09, BR-S-10 |
| Reduced rate (5%) | S | 5 | Not allowed | Same as above, separate breakdown |
| Zero rate (0%) | Z | 0 | Not allowed | BR-Z-05, BR-Z-09, BR-Z-10 |
| Exempt | E | 0 | Mandatory (code or text) | BR-E-05, BR-E-10 |
| Domestic reverse charge (for example construction) | AE | 0 | Mandatory ("Reverse charge") | BR-AE-02, BR-AE-05, BR-AE-10 |
| Outside the scope of UK VAT | O | Must be absent | Mandatory | BR-O-02, BR-O-05, BR-O-11 |
| Export of goods outside the UK | Z or G | 0 | G: mandatory | BR-G-10 (if G), see below |

The UK has three rates: standard (currently 20%), reduced (currently 5%) and zero, plus supplies that are exempt or outside the scope of UK VAT, according to GOV.UK. Peppol's code list (a subset of UN/CEFACT 5305, version D.16B) offers AE, E, S, Z, G, O, K, L, M and B. L and M are Spanish (Canary Islands, Ceuta and Melilla) and B is Italian, so a UK business will not use them. Any other code, such as the UN/CEFACT "AA" lower rate, fails with **BR-CL-17** (breakdowns, allowances and charges) and **BR-CL-18** (lines), which share the same text: "Invoice tax categories MUST be coded using UNCL5305 code list".

## Standard and reduced rate: S

Rule **BR-S-05** says that where the line category is "Standard rated", "the Invoiced item VAT rate (BT-152) shall be greater than zero". If your system sends a zero-rated item as `S` with 0%, this is the error you get. Use `Z` instead.

**BR-S-10** stops you adding an exemption reason to an `S` breakdown. Some ERP exports fill the reason field with "Standard rate" by default, and that alone is enough to reject the invoice.

A correct invoice with a 20% line and a 5% line needs two breakdowns:

```xml
<cac:TaxTotal>
  <cbc:TaxAmount currencyID="GBP">176.00</cbc:TaxAmount>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">865.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">173.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>20</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
  <cac:TaxSubtotal>
    <cbc:TaxableAmount currencyID="GBP">60.00</cbc:TaxableAmount>
    <cbc:TaxAmount currencyID="GBP">3.00</cbc:TaxAmount>
    <cac:TaxCategory>
      <cbc:ID>S</cbc:ID>
      <cbc:Percent>5</cbc:Percent>
      <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
    </cac:TaxCategory>
  </cac:TaxSubtotal>
</cac:TaxTotal>
```

We validated a full invoice containing this block against the EN 16931 UBL rules and the Peppol BIS Billing 3.0 rules with no errors.

## Zero rate: Z

Zero-rated is still a taxable supply in UK law. GOV.UK puts it this way: "Zero rate means you must still account for and charge VAT … but the rate you use is 0%." In Peppol, use `Z` with `<cbc:Percent>0</cbc:Percent>`. Do not add an exemption reason: **BR-Z-10** says a "Zero rated" breakdown "shall not have a VAT exemption reason code (BT-121) or VAT exemption reason text (BT-120)".

## Exempt: E

Exempt supplies (for example many insurance, finance and education supplies) use `E`, rate 0. **BR-E-10** requires "a VAT exemption reason code (BT-121) or a VAT exemption reason text (BT-120)".

The VATEX code list used for BT-121 is built around articles of the EU VAT Directive (codes such as `VATEX-EU-132-1I`). It contains no UK-specific codes. Until UK guidance says otherwise, the safer option for a UK exempt supply is the free-text reason:

```xml
<cac:TaxCategory>
  <cbc:ID>E</cbc:ID>
  <cbc:Percent>0</cbc:Percent>
  <cbc:TaxExemptionReason>Exempt from VAT</cbc:TaxExemptionReason>
  <cac:TaxScheme><cbc:ID>VAT</cbc:ID></cac:TaxScheme>
</cac:TaxCategory>
```

Make the text describe the actual exemption where you can. HMRC's VAT guide also requires zero-rated and exempt items on a VAT invoice to "show clearly that there's no VAT payable" with "a separate total for their values". Separate breakdowns per code do that.

## Reverse charge: AE

For the UK domestic reverse charge, use `AE` with rate 0, tax amount 0 and the reason "Reverse charge" (or code `VATEX-EU-AE`). **BR-AE-02** also requires both the seller's and the buyer's VAT identifiers. Construction has a twist: HMRC wants the VAT amount or rate shown, but EN 16931 forces the rate field to zero. See our full guide to [reverse charge construction e-invoices](https://einvoices.uk/news/domestic-reverse-charge-construction-e-invoice).

## Outside the scope: O, and why it is awkward

`O` ("Not subject to VAT") is the strictest code in EN 16931:

- **BR-O-02**: an invoice with an `O` line "shall not contain the Seller VAT identifier (BT-31), the Seller tax representative VAT identifier (BT-63) or the Buyer VAT identifier (BT-48)".
- **BR-O-05**: an `O` line "shall not contain an Invoiced item VAT rate (BT-152)".
- **BR-O-11**: an invoice with an `O` breakdown "shall not contain other VAT breakdown groups".

So a VAT-registered UK business cannot put an outside-scope disbursement on the same Peppol invoice as its standard-rated fees, and cannot show its own VAT number on an `O`-only invoice. We tested this: one `O` line on an otherwise standard invoice triggered BR-O-02, BR-O-11, BR-O-12 and BR-O-14. In practice, outside-scope items either go on a separate invoice or are handled another way agreed with the buyer. **How the UK mandate will treat outside-scope items on VAT invoices is not yet confirmed.**

## Exports and Northern Ireland

For goods exported outside the UK, UK law zero-rates the supply. Both `Z` and `G` ("Free export item, VAT not charged") pass validation. `G` needs the exemption reason code `VATEX-EU-G` or the text "Export outside the EU" (BR-G-10), which reads oddly for a UK seller. Which code the UK will expect is **not yet confirmed**.

Code `K` (intra-community supply) is for EEA intra-community supplies of goods. It may be relevant to goods moving from Northern Ireland to the EU, but treat that as unconfirmed until UK guidance is out. See [Northern Ireland and XI VAT numbers](https://einvoices.uk/news/e-invoicing-northern-ireland-xi-vat).

## What the UK mandate may change

All of the above is Peppol BIS Billing 3.0 as it stands (May 2026 release). Peppol is confirmed as the UK's network, but the data standard is not. In its consultation response the government said it "will work closely with stakeholders to review the risks and benefits of adopting an existing standard or designing a UK-specific standard". A UK specification (a [CIUS](https://einvoices.uk/glossary#cius)) could add UK exemption codes, UK reverse charge wording or a different treatment of `O`. Watch the roadmap due at Budget 2026 on 28 October 2026, and the [timeline](https://einvoices.uk/timeline).

## What to do now

- Export your VAT codes from your accounting system and map each to S, Z, E, AE or O using the table above.
- Check that zero-rated items are not coded as S at 0%.
- Make sure exempt lines carry a reason and standard-rated lines do not.
- Find any invoices that mix outside-scope items with taxable items. These will need a decision.
- Read [common Peppol validation errors](https://einvoices.uk/news/common-peppol-validation-errors) and take VAT treatment questions to [HMRC guidance](https://www.gov.uk/guidance/rates-of-vat-on-different-goods-and-services) or your adviser.

## Frequently asked questions

### What VAT category code do I use for 20% VAT in Peppol?

Use S (standard rate) with a VAT rate of 20. The same code S is also used for the UK reduced rate, with a rate of 5.

### Is there a separate code for the UK 5% reduced rate?

No. Peppol BIS Billing 3.0 has no reduced-rate code. You use S with 5 as the rate, and the invoice gets a separate VAT breakdown for the 5% lines.

### What is the difference between Z and E?

Z is zero-rated: a taxable supply at 0%, with no exemption reason allowed. E is exempt: the rate must be 0 and a VAT exemption reason code or text is mandatory.

### Has HMRC published its own VAT category codes for e-invoicing?

Not as of 20 October 2026. The government has said it will decide whether to adopt an existing standard or design a UK-specific one, so any UK-specific coding is not yet confirmed.

---

How to cite: "UK VAT category codes in Peppol: S, Z, E, AE and O explained", einvoices.uk, 20 October 2026, https://einvoices.uk/news/uk-vat-category-codes-peppol

einvoices.uk is an independent publication and is not affiliated with HMRC or the UK Government. Nothing here is tax advice; check the sources and official GOV.UK guidance before acting.
