BR-KSA-68: Tax Currency Code Must Exist and Be 'SAR'
BR-KSA-68: رمز العملة الضريبية إلزامي ويجب أن يكون 'SAR'
Tax currency code (BT-6) must exist in an invoice and must equal 'SAR' as per BR-KSA-EN16931-02.
/ubl:Invoice/cbc:TaxCurrencyCode 📌 Overview & Impact
Tax currency code (BT-6) must exist in every invoice and be explicitly set to 'SAR' (Saudi Riyal) under EN16931 rules.
⚠️ Common Causes for Rejection
- ✕ Omitting the <cbc:TaxCurrencyCode> element
- ✕ Setting TaxCurrencyCode to foreign currency (e.g. USD, EUR) instead of SAR
- ✕ In foreign currency invoices, failing to provide the SAR TaxTotal conversion
✅ How to Fix & Resolve
Always Set TaxCurrencyCode to SAR
Place <cbc:TaxCurrencyCode>SAR</cbc:TaxCurrencyCode> in the invoice header.
Include Second TaxTotal in SAR for FX Invoices
If DocumentCurrencyCode is USD, include a second TaxTotal element without subtotals showing total VAT in SAR.
💻 Code Comparison: Invalid vs Compliant UBL 2.1 XML
<cbc:DocumentCurrencyCode>USD</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode>USD</cbc:TaxCurrencyCode> <!-- Error: Must be SAR --> <cbc:DocumentCurrencyCode>USD</cbc:DocumentCurrencyCode>
<cbc:TaxCurrencyCode>SAR</cbc:TaxCurrencyCode> 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 bill my international clients in USD or EUR?
Yes! You can set <cbc:DocumentCurrencyCode> to USD/EUR, but Saudi VAT law requires the tax accounting currency (<cbc:TaxCurrencyCode>) to be reported in SAR.
Stop Fighting Cryptic ZATCA XML Errors
Qeemah handles Phase 2 e-invoicing, cryptographic signing, and real-time clearance automatically. Integrate in minutes.