Turn every Odoo POS receipt into a ZATCA Phase-2 simplified tax invoice with embedded QR and Fatoora reporting. One-time license from $499.00 USD for Odoo 17, 18, 19 — includes 12 months of updates and support.

Turn every Odoo POS receipt into a ZATCA Phase-2 simplified tax invoice with embedded QR and Fatoora reporting.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
Saudi retailers and restaurants must issue ZATCA-compliant e-invoices at the point of sale — but the Odoo POS you already run doesn't produce a Phase-2 (Integration) simplified tax invoice with a cryptographically embedded QR code or report to the Fatoora platform on its own. This is a build-to-order Odoo module that ECOSIRE designs, builds, installs and supports specifically for your Odoo database. It is not an instant apps.odoo.com download; after purchase our engineers scope, develop and onboard it on your ZATCA portal over a typical 2–4 week lead time.
Phase-2 (Integration) compliant TLV-encoded, Base64 QR code embedded on every simplified tax invoice
QR rendered on both the thermal-printed POS receipt and the QWeb PDF invoice
B2C simplified tax invoice generation on POS order close, mapped to account.move
Fatoora platform integration for reporting/clearance calls (compliance + production endpoints)
EGS device onboarding: CSR generation, compliance CSID and production CSID provisioning
Sandbox-first then production journal onboarding so you validate before going live
The module extends Odoo's native POS and account.move flow so that closing a POS order generates a ZATCA-compliant simplified tax invoice (B2C) carrying the mandatory TLV-encoded, Base64 QR — seller name, VAT number, timestamp, invoice total and VAT amount, plus the Phase-2 hash and cryptographic stamp fields. The QR is rendered both on the thermal-printed receipt and on the QWeb PDF, and the receipt is bilingual (Arabic and English) with a correct VAT breakdown per line and per rate. Behind the scenes we implement the EGS (E-invoice Generation Solution) onboarding: CSR generation, compliance CSID and production CSID, and the clearance/reporting calls to the Fatoora APIs — first against the sandbox, then against production once your device is certified.
Everything is grounded in real Odoo architecture. We add fields and compute methods (models.Model, fields, @api.depends) to carry ZATCA state on pos.order and account.move; a QWeb report template for the compliant PDF invoice; automated actions / cron (ir.cron) to retry failed reporting; and proper security via ir.model.access.csv plus record rules so only the right POS and accounting roles can view or resubmit invoices. Integration with the Fatoora reporting endpoint is done server-side and can also be triggered over Odoo's JSON-RPC/XML-RPC API for headless flows. The module targets Odoo 17, 18 and 19 and works on both Community and Enterprise (Enterprise gives you the richer POS and accounting UX; we confirm parity for your edition during scoping).
You get a licensed, documented module tailored to your legal entity, VAT registration and multi-branch/multi-journal setup — not a generic checkbox. ECOSIRE handles the ZATCA onboarding paperwork alongside you, trains your cashiers and finance team, and stands behind the delivery with a post-launch support window and updates as ZATCA specifications evolve.
Runs multi-branch stores on Odoo POS and must guarantee every till issues a Phase-2 compliant simplified tax invoice with a valid QR, reported to Fatoora, before a ZATCA wave deadline.
Needs fast, bilingual Arabic/English receipts at the counter that carry the correct 15% VAT breakdown and embedded QR without slowing down the checkout line.
Owns the Odoo instance and wants a clean, versioned addon that extends native POS and accounting, respects record rules, and can be onboarded on sandbox before touching production.
Advises Saudi VAT-registered clients and needs assurance the invoice hash chaining, cryptographic stamp and Fatoora clearance/reporting are implemented to spec across editions.
Buy the license on ecosire.com and download the ZATCA-Compliant POS E-Invoice (KSA) module ZIP from your account dashboard.
Extract the ZIP into your Odoo custom addons folder on the server (or upload via Apps > Install from file on Odoo.sh / runbot).
Activate Developer Mode, open Apps, click Update Apps List, search for ZATCA-Compliant POS E-Invoice (KSA), and press Install.
Open the new menu, paste your ECOSIRE license key, connect any external credentials (Shopify, Amazon, Stripe, etc.), and save.
Run the built-in connection test, sync your first 10 records, and schedule the recurring cron. Contact support if anything fails.
| Criterion | ECOSIRE | Custom Build | Competitor | Odoo Native |
|---|---|---|---|---|
| ZATCA Phase-2 QR (TLV/Base64) on POS receipt + PDF | Built and rendered on both thermal receipt and QWeb PDF | Possible but you build the TLV encoder and QWeb template yourself | Often print-only QR, may lag Phase-2 spec | |
| Fatoora reporting/clearance integration | Server-side calls with sandbox-then-production onboarding and ir.cron retry | You implement CSID onboarding and endpoint calls from scratch | ||
| Cryptographic stamp + invoice hash chaining (PIH) | Implemented on pos.order/account.move with stored state fields | Hand-rolled hashing and stamp logic, high risk of spec errors | ||
| Bilingual Arabic/English receipt with per-rate VAT breakdown | RTL-correct EN/AR layout tailored to your branding | Custom QWeb work per template | ||
| Tailored to your VAT entity, edition and multi-branch journals | Scoped and configured to your exact setup | |||
| Odoo 17/18/19 on Community and Enterprise | Versioned addon confirmed for your edition | Depends on your team's version coverage | ||
| ZATCA EGS onboarding done for you (CSR, CSIDs) | ECOSIRE performs onboarding alongside you | |||
| Post-launch support and ZATCA-spec update patches | Included support window plus spec-change patches | Your team maintains it |
No. This is a build-to-order module. After purchase, ECOSIRE scopes your VAT registration, edition (Community or Enterprise), Odoo version and branch/journal setup, then builds, installs and onboards the module specifically for your database. You are buying an engineered, ZATCA-onboarded solution, not a generic zip.
Typically 2–4 weeks from kickoff. That covers requirements scoping, development, ZATCA EGS onboarding (CSR, compliance CSID, then production CSID), sandbox validation, and the production go-live. Complex multi-branch or multi-VAT-entity rollouts may extend this; we confirm a dated timeline during scoping.
Every build includes a post-launch support window for bug fixes and configuration help, plus patches when ZATCA/Fatoora changes its specifications (field, hashing or endpoint updates). We can also extend into an ongoing support-and-maintenance retainer covering Odoo version upgrades and new certified POS devices.
Odoo 17, 18 and 19, on both Community and Enterprise. The module is a self-contained versioned addon that extends native POS (pos.order) and accounting (account.move); we confirm feature parity for your specific edition during scoping since Enterprise ships a richer POS and accounting UX.
Both. It generates the mandatory TLV-encoded, Base64 QR (seller name, VAT number, timestamp, total, VAT amount, plus the Phase-2 hash and cryptographic stamp) and performs the server-side reporting/clearance calls to the Fatoora platform. An ir.cron retry queue re-submits any invoice that fails so nothing is silently dropped.
Yes. While the primary flow is the B2C simplified tax invoice, we can capture a buyer VAT or national ID at the till to raise a standard (B2B) tax invoice through the account.move flow, with the appropriate clearance path where required by ZATCA.
Turn every Odoo POS receipt into a ZATCA Phase-2 simplified tax invoice with embedded QR and Fatoora reporting.