ERROR
ZATCA-00021 Invalid Currency Code
The currency code in the invoice does not conform to ISO 4217 standard or is not supported by ZATCA.
⚠️ What Causes This Error?
Common reasons why you might see ZATCA-00021
- ✗ Using lowercase currency codes (e.g., 'sar' instead of 'SAR')
- ✗ Using a non-existent or invalid ISO 4217 currency code
- ✗ Using a currency symbol (﷼) instead of the ISO code (SAR)
- ✗ Missing DocumentCurrencyCode element in the XML invoice
✅ How to Fix This Error
Follow these steps to resolve ZATCA-00021
1
Verify ISO 4217 Format
Use uppercase three-letter codes: SAR for Saudi Riyal, AED for UAE Dirham, USD for US Dollar.
2
Check All Amount Fields
Ensure all monetary amounts in the invoice use the same currency code consistently.
3
Validate XML Element
Verify the cbc:DocumentCurrencyCode element exists and contains a valid ISO 4217 code.
Fix ZATCA Errors Automatically
Qeemah validates invoices before submission and prevents ZATCA-00021 errors from happening.