Saoedi-Arabië voert verplichte e-facturatie in twee fasen in via ZATCA (Zakat, Tax and Customs Authority), onder de naam Fatoorah. Fase 1 (sinds december 2021) vereiste al het aanmaken en bewaren van gestructureerde elektronische facturen. Fase 2 gaat veel verder: directe technische integratie met het platform van de autoriteit.
Wie het raakt: elk bedrijf dat in Saoedi-Arabië voor de btw is geregistreerd. ZATCA deelt belastingplichtigen in waves in op basis van de jaaromzet en brengt hen minstens zes maanden van tevoren op de hoogte. Wave 23 en 24 zijn mkb-bedrijven met lagere omzetdrempels, die in de loop van 2025-2026 worden aangesloten.
Wat Fase 2 (Integration Phase) precies inhoudt
Fase 2 staat bekend als de Integration Phase. Het is niet meer genoeg om de factuur aan te maken: je facturatiesysteem moet via een API verbinding maken met het platform van ZATCA (Fatoora) en een vast formaat en validatieproces volgen.
ZATCA onderscheidt twee soorten documenten met elk een eigen verloop:
- Standard Tax Invoice (B2B/B2G): vereist clearance. De factuur gaat naar ZATCA voordat je hem aan de klant geeft; ZATCA valideert hem, voorziet hem van een cryptografisch zegel en stuurt hem goedgekeurd terug.
- Simplified Tax Invoice (B2C): vereist reporting. De klant krijgt hem direct mee, met zijn QR, en je meldt hem binnen 24 uur aan ZATCA.
Technische vereisten die je niet kunt overslaan
- Factuur in XML UBL 2.1-formaat (of PDF/A-3 met ingebed XML) volgens het schema van ZATCA.
- Cryptografische handtekening met een certificaat dat ZATCA uitgeeft na de onboarding van het apparaat (CSID).
- Geketende hash (PIH, Previous Invoice Hash) die elke factuur aan de vorige koppelt en de integriteit van de reeks waarborgt.
- QR-code met TLV-velden (naam van de verkoper, btw-nummer, datum, totaalbedrag, btw en het cryptografische zegel), leesbaar met de app van ZATCA.
- Een unieke UUID per factuur en een oplopende teller (ICV) die ZATCA controleert om hiaten op te sporen.
Hoe het werkt in Odoo 19
Onze module verwerkt deze hele cyclus binnen de standaard facturatiestroom van Odoo, zonder externe back-offices. Wanneer je een factuur bevestigt, maakt Odoo de UBL-XML aan, berekent de geketende hash, laat die ondertekenen met het ZATCA-certificaat, bouwt de QR op en doet de clearance- of reporting-aanroep, afhankelijk van het documenttype.
Elke factuur bewaart zijn status bij ZATCA (goedgekeurd, goedgekeurd met waarschuwingen of afgewezen), het bericht van de autoriteit en het teruggestuurde zegel. Wijst ZATCA een document af, dan staat de reden op de factuur zelf, zodat je hem kunt corrigeren en opnieuw verzenden zonder de traceerbaarheid te verliezen.
Waar je op moet letten vóór je deadline
- Controleer je wave en de exacte datum in de kennisgevingsbrief van ZATCA: het integratievenster gaat maanden van tevoren open, maar heeft een harde deadline.
- Schone stamgegevens: btw-nummer, adres, postcode en btw-regime moeten in Odoo kloppen, anders mislukt de clearance.
- Test eerst in de sandbox van ZATCA: de onboarding van het certificaat en de eerste facturen moeten in de testomgeving gevalideerd zijn voordat je live gaat.
- Meng geen reeksen: de geketende hash (PIH) vereist doorlopende nummering; een sprong of een dubbele factuur verbreekt de keten.
ZATCA Fase 2 is geen cosmetische toevoeging: het verandert hoe elke factuur wordt uitgegeven. Goed uitgevoerd binnen Odoo merkt het facturatieteam er niets van; half uitgevoerd levert het dagelijks afgewezen facturen en handwerk op.
Wat wij hieraan doen
Moet je in je Odoo voldoen aan ZATCA Fase 2?
Plan een gesprek via Calendly of bel ons op +34 616 809 504, dan bekijken we je wave, je onboarding en hoe je de clearance in je Odoo-facturatie inbouwt.

