Saudi ZATCA e-invoice (UBL, KSA profile)
- Format id:
zatca-ubl - Countries: Saudi Arabia (SA)
- Status: in active use
- Parser:
ublfamily, converts to canonical JSON
FATOORA phase 2: standard (B2B/B2G, cleared) and simplified (B2C, reported) tax invoices, signed with XAdES in UBLExtensions. Detected by ProfileID reporting:1.0 (or clearance:1.0).
What is mapped
Section titled “What is mapped”- Identifier
ProfileID reporting:1.0: See below
See Beyond the EU for ZATCA and the validation limits of PINT.
Mapping notes for the ubl parser family
Section titled “Mapping notes for the ubl parser family”- Phase 1. Covers: Peppol BIS 3 + self-billing, XRechnung UBL, NLCIUS, CIUS-RO, CIUS-PT, HR-CIUS, OIOUBL 3, UBL.BE, PINT, BIS 2 (best-effort), OIOUBL 2. One parser, profile-specific rules on top. Invoice vs CreditNote element names differ (
InvoicedQuantity/CreditedQuantity). UBL 2.1 CreditNote has no rootcbc:DueDate: readcac:PaymentMeans/cbc:PaymentDueDate, and accept a rootcbc:DueDateonly as a fallback with a warning (it appears in some XRechnung test files).
The same parser family handles the formats listed in Build order and mapping notes.
Check it
Section titled “Check it”- Drop a Saudi ZATCA e-invoice (UBL, KSA profile) file into the browser converter to get canonical JSON; nothing is uploaded.
- Conformance checklist: fixtures, real samples, mapping source and validation for this format.
- Output shape: canonical-invoice.v1.schema.json.