2026-04-06·
8 min
How to Issue a ZATCA-Compliant E-Invoice: Steps and Requirements
E-Invoice
ZATCA
Billing
A ZATCA-compliant e-invoice is not just a PDF — it's a digitally signed XML file with specific specifications. This guide explains every required field and how to submit invoices correctly.
Types of Invoices in ZATCA
Tax Invoice (B2B)
For business-to-business transactions. Requires prior Clearance from ZATCA before sending to the customer.
Simplified Invoice (B2C)
For direct consumer sales. Issued first then Reported to ZATCA within 24 hours.
Mandatory Invoice Fields
- Sequential invoice number (ICV)
- Issue date and time
- Seller name and VAT number
- Buyer name and VAT number (for tax invoices)
- Item descriptions, quantities and prices
- VAT amount
- Total including tax
- QR code (Base64 encoded)
- ECDSA digital signature
- Previous invoice hash (PIH)
Invoice Submission Process
1
Generate XML
The system creates an XML file per ZATCA-modified UBL 2.1 specifications.
2
Digital Signature
XML is signed with the private key from the CSID certificate using ECDSA.
3
Add QR Code
A QR code containing Base64-encoded key data is generated.
4
Submit to ZATCA
XML is sent to the appropriate API (clearInvoice or reportInvoice).
5
Receive Response
ZATCA returns a UUID and signature — stored with the invoice.