Guide

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.

Published 6 min readBy

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:

<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:

<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.

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.

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) 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.

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 and take VAT treatment questions to HMRC guidance 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.

Spotted a mistake? Report an error. einvoices.uk is an independent publication and is not affiliated with HMRC. Details of the mandate may change; check the sources and official GOV.UK guidance before acting.