ZATCA POS Direct — Odoo e-Invoicing Module
Odoo 19 · Python · WebCrypto · UBL XML
ZATCA-compliant POS, 70% faster
The problem
High-volume retail can’t afford to wait on ZATCA clearance at every sale. The standard flow adds latency and database load at the worst possible moment — checkout.
What I built
A direct ZATCA Phase 2 integration for Odoo POS, focused on simplified (B2C) invoices. Invoices generate locally and instantly; QR codes and digital signatures are produced client-side with the WebCrypto API; and submission to ZATCA happens asynchronously through a background job queue within the 24-hour window. Built on UBL XML, fully Phase 2 compliant, and tuned for high-volume environments.
The result
Compliant simplified invoices at the speed of a normal sale — about 70% faster than the traditional method, with minimal database impact during POS operations.