BR-KSA-31 📑 Invoice Types & Structure error

BR-KSA-31: Unsupported Subtype on Simplified Tax Invoice

BR-KSA-31: نوع معاملة غير مسموح به في الفاتورة المبسطة

Official ZATCA Specification:

For simplified tax invoices and associated credit notes and debit notes (KSA-2, position 1 and 2 = 02), only third party, nominal supply, and summary transactions are accepted. Export invoices (position 5 = 1) and Self-billed (position 7 = 1) are strictly rejected.

XPath Context: /ubl:Invoice/cbc:InvoiceTypeCode/@name

📌 Overview & Impact

For simplified tax invoices (KSA-2 starting with 02), only third party (pos 3), nominal supply (pos 4), and summary transactions (pos 6) are allowed. Exports & self-billing are forbidden.

الوصف بالعربية: بالنسبة للفواتير المبسطة (02)، يسمح فقط بمعاملات الطرف الثالث والتوريد الاعتباري والفواتير المجمعة، ويحظر التصدير والفوترة الذاتية.

⚠️ Common Causes for Rejection

  • Setting export flag (pos 5 = '1') on a simplified invoice ('0200100')
  • Setting self-billing flag (pos 7 = '1') on a simplified invoice ('0200001')

How to Fix & Resolve

1

Use Standard Tax Invoice for Exports

Switch invoice subtype from '02' to '01' (e.g. '0100100') when exporting goods or services outside KSA.

2

Correct Subtype Code

For normal simplified sales, use '0200000'.

💻 Code Comparison: Invalid vs Compliant UBL 2.1 XML

❌ Invalid XML (Rejected by ZATCA) Invalid Payload
<cbc:InvoiceTypeCode name="0200100">388</cbc:InvoiceTypeCode>
✓ Valid XML (Compliant UBL 2.1) Valid Payload
<cbc:InvoiceTypeCode name="0100100">388</cbc:InvoiceTypeCode>

Verify Your Invoice XML Online

Use Qeemah's free developer tools to inspect transforms, C14N digests, and Phase 2 QR codes.

Frequently Asked Questions

Can I export goods to GCC using a simplified tax invoice?

No, all export transactions (whether to GCC or international) must be issued as Standard Tax Invoices (0100100) and cleared in real-time through ZATCA Fatoora portal.

Stop Fighting Cryptic ZATCA XML Errors

Qeemah handles Phase 2 e-invoicing, cryptographic signing, and real-time clearance automatically. Integrate in minutes.