agenttoolworks

Reference

VAT category codes, UNTDID 5305.

Every invoice line carries a VAT category in business term BT-151, and the category constrains the rate that may sit beside it. Most rejections on this field are a category and a rate that contradict each other.

The codes

The 10 codes EN 16931 allows, rendered directly from the module our validator uses. Verified against Peppol BIS Billing 3.0 published code lists on 2026-08-03.

CodeOfficial nameNotes
SStandard rateIn the published Peppol list
ZZero rated goodsIn the published Peppol list
EExempt from taxIn the published Peppol list
AEVAT reverse chargeIn the published Peppol list
KVAT exempt for EEA intra-community supply of goods and servicesIn the published Peppol list
GFree export item, VAT not chargedIn the published Peppol list
OServices outside scope of taxIn the published Peppol list
LCanary Islands general indirect taxIn the published Peppol list
MTax for production, services and importation in Ceuta and MelillaIn the published Peppol list
BTransferred (VAT), in ItalyIn the published Peppol list

The rate each category requires

This is where documents actually fail, and the failure is usually a copy of a line that was correct in another context.

Choosing between Z, E, K and O is a tax question, not a formatting one. A validator can tell you that the category and the rate disagree; it cannot tell you which supply you actually made.

How categories become the VAT breakdown

EN 16931 requires the document to carry a VAT breakdown: one group per combination of category and rate, each with its own taxable amount and tax amount, and the sum of those groups has to reconcile with the document total to the cent.

That reconciliation is a frequent source of rejections when totals are carried over from another system. Our generator sidesteps it by recomputing the breakdown from the lines rather than accepting a stated total, so the document cannot disagree with itself.

Questions people actually ask

Which VAT category code do I use for reverse charge?
AE. The rate must be zero, because the buyer accounts for the VAT rather than you. A line marked AE carrying a positive rate is a contradiction and gets rejected.
What is the difference between Z, E and O?
Z is zero rated, meaning the supply is taxable but at a rate of zero. E is exempt, meaning it is within the scope of VAT but not taxed. O is outside the scope of VAT entirely. All three require a rate of zero, and which one applies is a tax question rather than a formatting one.
Which code covers an intra-community supply?
K, VAT exempt for EEA intra-community supply of goods and services. Rate zero, and the counterparty's VAT identifier normally has to be present and valid for the exemption to hold.
Why does my standard rated line fail?
A line marked S must carry a rate above zero. If you meant a zero rated supply, the category is wrong rather than the rate: use Z, E or whichever category actually describes the supply.
What are L, M and B?
Regional codes. L is the Canary Islands general indirect tax, M covers production, services and importation in Ceuta and Melilla, and B is transferred VAT in Italy. You will not need them unless you are invoicing in those territories.
Can one invoice mix categories?
Yes, and it is common. Each rate and category combination becomes its own VAT breakdown group, with its own taxable amount and tax amount. Our generator computes those groups from the lines rather than trusting a stated total.