Resources

VAT category and exemption reason codes on e-invoices

ZATCA complianceBy the alFatora team7 min read

Every line on an e-invoice carries a VAT category code, and some lines also carry an exemption reason code. It looks like a technical detail, but it is a tax statement: you are telling the Authority why the standard rate was not charged on that line. That is why the Zakat, Tax and Customs Authority treats any non-compliant use of the exemption reason code as a breach of compliance requirements, and it has pointed to four cases that keep recurring on invoices.

The four categories

The Authority accepts only four VAT categories on lines (BR-KSA-18):

CodeCategoryExemption reason
SStandard rate (15%)Never stated
ZZero rateRequired, from the zero-rate codes
EExemptRequired, from the exemption codes
OOut of scopeRequired, with text explaining why

The golden rule: the code must belong to the line's own category. An exemption code on a zero-rated line, or any code on a standard-rated line, is a contradiction the Authority does not accept.

The exemption reason codes

The codes are published in the e-invoicing implementation standard, and each comes with fixed text it must match.

Zero-rate codes (Z):

  • VATEX-SA-32 export of goods and VATEX-SA-33 export of services — covered in export invoices.
  • VATEX-SA-34-1 to VATEX-SA-34-5: international transport of goods and passengers, services connected to it, and supply of a qualifying means of transport.
  • VATEX-SA-35 medicines and medical equipment, VATEX-SA-36 qualifying metals, VATEX-SA-MLTRY qualified military goods.
  • VATEX-SA-EDU private education to a citizen and VATEX-SA-HEA private healthcare to a citizen — both require the buyer's national ID on the invoice (BR-KSA-49).

Exemption codes (E):

  • VATEX-SA-29 financial services and VATEX-SA-29-7 life insurance.
  • VATEX-SA-30 real estate transactions.

Out of scope (O): VATEX-SA-OOS, with text explaining why the supply is outside the scope of VAT altogether.

One invoice cannot carry two different reasons for the same category: each category on an invoice has one reason.

The four cases the Authority flagged

1. An exemption reason on a standard-rated line

A line categorised S is given an exemption reason code, although the supply is standard-rated and falls under no exemption. This usually happens when the system fills the field with a default for every line. The fix: an S line carries no reason, and the field is removed rather than left with a value.

2. An exemption code on a zero-rated line

A line categorised Z with a code meant for E exemptions, such as VATEX-SA-29 for financial services. Zero-rating and exemption are not the same thing: the first is a taxable supply at a rate of zero on which related input VAT can be recovered; the second is an exempt supply on which it cannot. So they behave differently for input VAT and on the return. The fix: settle the nature of the supply first, then choose the category, then the code from that category's list only.

3. An export code on an invoice not classified as an export

A Z line with a correct export code, while the invoice itself is classified as a regular invoice. An export invoice has a flag in the invoice type: the fifth position of the flag string is 1, not 0. An export code without the export flag makes the document say two contradictory things.

4. An export code on a supply inside the Kingdom

The most serious case: a line zero-rated with an export code, when the supply was made inside the Kingdom to a buyer there. The error is not only in the format but in the tax itself: a supply that should have carried 15% went out at zero. It happens often when the export code is the default for every zero-rated line.

Why it matters more than it looks

Exemption codes do not stay on the invoice. They decide where the line falls on the VAT return: domestic zero-rated sales in one box, exports in another, exempt sales in a third. A wrong code produces a return that does not match the e-invoicing data — exactly the difference between Fatoora and the return the Authority watches for. And a document already submitted is not corrected by editing it but by a credit or debit note.

A quick checklist

  • No default exemption reason in any system; the seller chooses the reason for each case.
  • S lines without a reason; Z, E and O lines with a reason from their own list only.
  • Export code = export invoice, and a buyer outside the Kingdom.
  • Education and healthcare to a citizen = the national ID on the invoice.
  • Review the period's codes before preparing the return, not after.

How this looks in alFatora

In the alFatora app, and through the alFatora Connect API as well, the same rules run on every document before it is sealed:

  • No default reason: a zero-rated or exempt line asks you to choose the reason, and a line without one is not issued.
  • A reason from the line's category only: a standard-rated line offers no reason list, and a code from another category is refused before submission.
  • The export code classifies the invoice: it sets the export flag automatically, and is refused for a buyer addressed in the Kingdom.
  • Education and healthcare to a citizen do not pass without the buyer's national ID.
  • The VAT return puts each line in its box according to its reason, with the documents behind every figure.

See also the most common Fatoora rejection errors and e-invoicing violations and penalties.

Frequently asked questions

Do I state an exemption reason on a standard-rated line?

No. A line categorised S at 15% never carries an exemption reason code, and entering one is among the cases the Authority treats as incorrect use.

What is the difference between zero-rated and exempt on an invoice?

Zero-rated (Z) is a taxable supply at a rate of zero, with related input VAT recoverable; exempt (E) is a supply on which it is not. Each has its own reason codes, never used for the other.

When do I use the export code VATEX-SA-32?

Only when exporting goods to a buyer outside the Kingdom, with the invoice classified as an export invoice. Using it for a supply inside the Kingdom wrongly charges zero instead of 15%.

Was this useful? Review alFatora on Google.

Zakat, Tax and Customs AuthorityFatooraCompatible with ZATCA Phase 2
e-invoicing requirements
Create your account