L'Arabia Saudita ha introdotto la fatturazione elettronica obbligatoria in due fasi tramite ZATCA (Zakat, Tax and Customs Authority), con il nome Fatoorah. La Fase 1 (da dicembre 2021) richiedeva già di generare e conservare fatture elettroniche strutturate. La Fase 2 va molto oltre: integrazione tecnica diretta con la piattaforma dell'autorità.
Chi riguarda: ogni azienda registrata ai fini dell'IVA saudita. ZATCA raggruppa i contribuenti in waves in base al fatturato annuo e li avvisa con almeno sei mesi di anticipo. Le waves 23 e 24 corrispondono alle PMI con soglie di ricavi più basse, che si integrano nel corso del 2025-2026.
Che cos'è esattamente la Fase 2 (Integration Phase)
La Fase 2 è nota come Integration Phase. Non basta più generare la fattura: il tuo sistema di fatturazione deve collegarsi via API alla piattaforma di ZATCA (Fatoora) e seguire un formato e un ciclo di validazione precisi.
ZATCA distingue due tipi di documento con flussi diversi:
- Standard Tax Invoice (B2B/B2G): richiede il clearance. La fattura viene inviata a ZATCA prima di consegnarla al cliente; ZATCA la valida, la sigilla con un sigillo crittografico e la restituisce autorizzata.
- Simplified Tax Invoice (B2C): richiede il reporting. Viene consegnata subito al cliente con il suo QR e comunicata a ZATCA entro le 24 ore successive.
Requisiti tecnici imprescindibili
- Fattura in formato XML UBL 2.1 (o PDF/A-3 con XML incorporato) secondo lo schema di ZATCA.
- Firma crittografica con un certificato emesso da ZATCA dopo l'onboarding del dispositivo (CSID).
- Hash concatenato (PIH, Previous Invoice Hash) che collega ogni fattura alla precedente e garantisce l'integrità della serie.
- Codice QR con campi TLV (nome del venditore, partita IVA, data, totale, IVA e sigillo crittografico) leggibile dall'app di ZATCA.
- UUID univoco per ogni fattura e un contatore sequenziale (ICV) che ZATCA verifica per rilevare eventuali buchi.
Come funziona in Odoo 19
Il nostro modulo integra l'intero ciclo nel flusso di fatturazione nativo di Odoo, senza back-office esterni. Quando confermi una fattura, Odoo genera l'XML UBL, calcola l'hash concatenato, lo invia a firmare con il certificato di ZATCA, costruisce il QR ed effettua la chiamata di clearance o reporting in base al tipo di documento.
Ogni fattura conserva il proprio stato nei confronti di ZATCA (accettata, accettata con avvisi o rifiutata), il messaggio dell'autorità e il sigillo restituito. Se ZATCA rifiuta un documento, il motivo viene registrato nella fattura stessa per poterlo correggere e reinviare, senza perdere la tracciabilità.
Cosa controllare prima della scadenza
- Conferma la tua wave e la data esatta nella lettera di notifica di ZATCA: la finestra di integrazione si apre con mesi di anticipo, ma ha una scadenza tassativa.
- Anagrafiche pulite: partita IVA, indirizzo, CAP e regime IVA devono essere corretti in Odoo, altrimenti il clearance fallirà.
- Prova prima nella sandbox di ZATCA: l'onboarding del certificato e le prime fatture devono essere validati nell'ambiente di test prima di passare alla produzione.
- Non mescolare le serie: l'hash concatenato (PIH) richiede una numerazione continua; un salto o una fattura duplicata spezza la catena.
ZATCA Fase 2 non è un'aggiunta cosmetica: cambia il modo in cui si emette ogni fattura. Fatta bene dentro Odoo, è trasparente per il team di fatturazione; fatta a metà, si traduce in fatture rifiutate e lavoro manuale ogni giorno.
Cosa facciamo in merito
Devi essere conforme alla ZATCA Fase 2 nel tuo Odoo?
Prenota una chiamata su Calendly o chiamaci al +34 616 809 504 e verifichiamo la tua wave, il tuo onboarding e come integrare il clearance nella tua fatturazione Odoo.

