A build-to-order Magento 2 / Adobe Commerce extension that connects your Saudi store to the ZATCA Fatoora platform for real-time B2B clearance, B2C reporting, UBL 2.1 e-invoices, cryptographic stamping and compliant QR codes. Built, installed and supported by ECOSIRE. One-time license from $799.00 USD for Magento 2 / Adobe Commerce (build-to-order) — includes 12 months of updates and support.

A build-to-order Magento 2 / Adobe Commerce extension that connects your Saudi store to the ZATCA Fatoora platform for real-time B2B clearance, B2C reporting, UBL 2.1 e-invoices, cryptographic stamping and compliant QR codes. Built, installed and supported by ECOSIRE.
No payment now. This sends a quote request to our team — we'll follow up by email with pricing and next steps.
ZATCA Phase 2 (Fatoora) is not an optional plugin you toggle on — it is a cryptographic integration with Saudi Arabia's tax authority that has to work correctly on the very first invoice. This extension makes a Saudi Magento 2 / Adobe Commerce store fully compliant with the ZATCA e-invoicing mandate, handling real-time B2B clearance and B2C reporting directly from the order and invoice lifecycle.
ZATCA Fatoora onboarding handled for you: CSR generation, compliance CSID then production PCSID, with credentials stored securely per environment
Real-time B2B invoice clearance and B2C reporting submitted to the Fatoora APIs at invoice creation, with status, UUID and clearance/reporting response persisted to the order
UBL 2.1 XML generation with ECDSA cryptographic stamp, invoice hash and previous-invoice-hash (PIH) chaining built in a dedicated service-contract layer
TLV-encoded Base64 QR code (seller name, VAT number, timestamp, totals, XML hash, signature) rendered on the PDF invoice and the transactional email
Bilingual Arabic / English tax invoice and simplified-invoice PDF templates that meet ZATCA layout requirements
Implemented as a clean Magento 2 module under app/code with di.xml wiring, an observer on sales_order_invoice_save_after, and plugins/interceptors rather than core overrides
ECOSIRE builds this as a proper Magento 2 module under app/code/Ecosire/ZatcaPhase2, wired into the platform the right way: an observer on sales_order_invoice_save_after triggers generation, service contracts expose a clean ZatcaInvoiceManagementInterface, and a di.xml binds the Fatoora API client, CSR/onboarding service and UBL builder. We generate UBL 2.1 XML with the required cryptographic stamp, invoice hash and previous-hash chaining (PIH), submit to the Fatoora compliance and core APIs over your CSID/PCSID, and persist the cleared/reported status, UUID, and QR payload back to the invoice.
The TLV-encoded, Base64 QR code is rendered on both the PDF invoice (via a sales_pdf plugin) and the transactional email, and invoices print as bilingual Arabic/English tax documents. Onboarding — CSR generation, compliance CSID, then production PCSID — is handled during delivery so you are not left decoding ZATCA's sandbox by yourself.
This is build-to-order, not an instant Marketplace download. ECOSIRE configures it to your VAT registration, Magento Open Source or Adobe Commerce edition, store-view scopes and PDF/email templates, installs it on your environment, and runs end-to-end tests against the ZATCA sandbox before go-live. You get a maintained module, admin ACL-gated controls, cron-based retry for transient API failures, and a real engineer on the other end when the regulation shifts.
A KSA-based ecommerce merchant whose VAT registration now requires Phase 2 integration. They need invoices cleared and reported correctly without becoming a tax-protocol expert, and they want one accountable party to own onboarding, install and go-live.
An agency or systems integrator building a Saudi store who needs a reliable Phase 2 component that plugs into the order/invoice lifecycle via proper service contracts and observers, with a documented module they can support after handover.
The person who answers to ZATCA. They need visibility into every invoice's clearance/reporting status from the admin, automatic retry for failed submissions, and credit-note handling, so a missed submission never turns into a penalty.
Buy the license on ecosire.com and download the ZATCA Phase 2 E-Invoicing (Fatoora) for Magento 2 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 Phase 2 E-Invoicing (Fatoora) for Magento 2, 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 |
|---|---|---|---|---|
| Real-time B2B clearance and B2C reporting to Fatoora APIs | ||||
| ZATCA onboarding done for you (CSR, compliance CSID, production PCSID) | ||||
| UBL 2.1 XML with cryptographic stamp and previous-hash (PIH) chaining | ||||
| Built, installed and gone-live on your specific environment by the vendor | ||||
| Bilingual Arabic/English templates tailored to your store's PDF and email | ||||
| Cron retry queue and admin status grid for failed submissions | ||||
| Direct engineer support when the ZATCA spec changes | ||||
| Instant self-serve download with no engagement needed |
Typical delivery is about 2 to 4 weeks depending on your edition (Open Source vs Adobe Commerce), customizations to invoice templates and how quickly ZATCA onboarding credentials are obtained. The flow is: kickoff and access, module build and configuration to your VAT data, sandbox onboarding (CSR, compliance CSID, production PCSID), end-to-end testing against the ZATCA sandbox, then a supervised go-live where we verify the first real cleared B2B and reported B2C invoice. This is build-to-order — it is built and installed on your environment, not a one-click Marketplace download.
ZATCA periodically updates the Fatoora specification, invoice type codes and certificate requirements. We provide a support window after launch and offer a maintenance arrangement that covers spec changes, certificate/CSID renewal, Magento version-compatibility updates and bug fixes. Because you receive the actual module source under app/code plus a handover runbook, your own team or integrator can also maintain it — you are not locked to a black box.
Yes. The module is implemented with standard Magento 2 mechanisms — di.xml dependency injection, observers, plugins/interceptors and service contracts — that exist in both editions, so it runs on Magento Open Source and Adobe Commerce. We confirm your exact version during kickoff and pin the module to it. Adobe Commerce specifics like B2B company accounts or additional store-view scopes are accommodated during the build.
Each invoice is rendered as UBL 2.1 XML, hashed, signed with your ZATCA certificate (ECDSA), and chained to the previous invoice via the previous-invoice-hash (PIH). The signed payload and totals are encoded into a TLV/Base64 QR code that is printed on the bilingual PDF invoice and embedded in the transactional email. For B2B the invoice is cleared in real time before issuance; for B2C it is reported within ZATCA's window. All responses, UUIDs and statuses are stored against the Magento invoice.
Submissions are wrapped so a transient Fatoora API timeout or 5xx never silently drops an invoice. Failed submissions are queued and retried automatically by a Magento cron job, and the clearance/reporting status grid in the admin lets finance staff see exactly which invoices are pending, failed or succeeded and re-submit manually if needed. Persistent failures are surfaced rather than hidden, so compliance gaps are caught quickly.
A build-to-order Magento 2 / Adobe Commerce extension that connects your Saudi store to the ZATCA Fatoora platform for real-time B2B clearance, B2C reporting, UBL 2.1 e-invoices, cryptographic stamping and compliant QR codes. Built, installed and supported by ECOSIRE.