Skip to content
Al Khobar, Saudi Arabia

ERP & Business Systems

ZATCA compliance your ERP handles on its own

Every sales invoice has to reach ZATCA in the right XML format, signed and cleared, before it reaches your customer. We connect that requirement straight into the ERP you already run, so finance stops copying numbers into a separate portal.

2 to 4

weeks to a working integration

4

ERPs supported: Odoo, Dynamics, SAP, Zoho

0

invoices typed twice

XML invoice generationCryptographic stampingQR code embeddingClearance and reporting APIsOdoo and Zoho connectorsSAP and Dynamics integrationCredit and debit notesArabic invoice fieldsRejection handlingVAT field validation

The direct answer

ZATCA e-invoicing integration connects your ERP directly to the Zakat, Tax and Customs Authority's e-invoicing platform, so every invoice is generated, stamped and reported in the required format without anyone touching a separate portal. It's built for Saudi companies on Odoo, Dynamics 365, SAP or Zoho who are past Phase 1 (generation) and need Phase 2 (integration and live reporting) working inside the system finance already uses.

Concept demo · in-house render
Before and after

What this removes.

Two systems, one invoice

Today

Finance issues the invoice in the ERP, then re-enters the same data into a separate e-invoicing tool to get it cleared.

With the system

The ERP generates the compliant XML and sends it for clearance the moment the invoice is confirmed, once.

Rejected invoices go unnoticed

Today

A ZATCA rejection sits in an inbox for days before anyone in finance sees it and fixes the underlying record.

With the system

Rejections flow back into the ERP against the original invoice, so the person who issued it sees the fix needed right away.

Credit notes break the chain

Today

Credit and debit notes get raised manually and don't always carry the reference back to the original cleared invoice.

With the system

Credit and debit notes inherit the original invoice reference automatically and follow the same clearance path.

Audit season scramble

Today

Proving which invoices cleared, which failed and why means pulling records from two systems by hand.

With the system

Clearance status, QR codes and cryptographic stamps live on the invoice record itself, ready for any audit.

What we build

What lands in your hands.

XML generation and mapping

Your ERP's invoice fields mapped to ZATCA's UBL 2.1 schema, including VAT breakdowns and buyer details.

Cryptographic stamping and QR codes

Invoices signed with the required cryptographic stamp and QR code before they leave the ERP.

Clearance and reporting connection

Direct API connection to ZATCA's platform for real-time clearance (B2B) or simplified reporting (B2C).

Credit and debit note handling

Adjustments carry the original invoice reference automatically and clear through the same path.

Rejection and error routing

A ZATCA rejection routes back to the original invoice inside the ERP with the reason attached.

Bilingual invoice templates

Arabic and English invoice layouts that meet ZATCA's field requirements without a second template to maintain.

Systems and platforms we work with

  • Odoo
  • SAP
  • Dynamics 365
  • Oracle
  • Zoho
  • HubSpot
  • Salesforce
The delivery plan

Five stages. You sign off every one.

Read each stage as a small contract: what we need from you, what lands in your hands, and the sentence that has to be true before we move on.

01 / 05

System and compliance audit

3 to 5 days

We check which ERP and version you run, your current invoice fields against ZATCA's requirements, and whether you have completed Phase 1 onboarding.

What you do
  • Grant read access to your ERP invoice module
  • Share your current ZATCA onboarding status
What we deliver
  • A gap report against ZATCA field requirements
  • A confirmed integration approach for your ERP
Exit criteria

We move on when the gaps between your current invoices and ZATCA's requirements are documented and agreed.

02 / 05

XML mapping and stamping build

1 to 2 weeks

We build the mapping from your ERP's invoice data to the ZATCA XML schema and wire in cryptographic stamping and QR generation.

What you do
  • Answer questions on VAT categories and edge cases
  • Provide a test environment for the build
What we deliver
  • Working XML generation from real invoice data
  • Stamped, QR-coded invoices in test
Exit criteria

We move on when a sample batch of your real invoices generates valid, correctly signed XML.

03 / 05

Clearance API connection

3 to 5 days

We connect the ERP to ZATCA's clearance and reporting endpoints and build the rejection-handling path back into your invoice records.

What you do
  • Confirm your ZATCA API credentials
  • Review the rejection-handling workflow
What we deliver
  • A live connection to ZATCA's sandbox environment
  • Rejections routed back to the source invoice
Exit criteria

We move on when invoices clear or get correctly rejected through the sandbox with the right reason surfaced.

04 / 05

Parallel run on live invoices

1 to 2 weeks

The integration runs alongside your current process on real invoices, so you can confirm clearance rates and timing before switching over fully.

What you do
  • Keep issuing invoices as normal
  • Flag any invoice that doesn't clear as expected
What we deliver
  • Daily clearance checks during the run
  • Fixes for anything the parallel run surfaces
Exit criteria

We move on when a full week of live invoices clears correctly with no unresolved rejections.

05 / 05

Live operation and support

ongoing

The integration goes live for production invoicing. We monitor clearance rates and stay available if ZATCA's requirements or your ERP setup change.

What you do
  • Issue invoices through the ERP as normal
  • Flag any ERP changes that touch invoicing
What we deliver
  • Ongoing monitoring of clearance and rejections
  • A direct line to us for support
Exit criteria

We move on when production invoicing runs through the integration with monitoring and support in place.

Buyer questions

Asked before signing.

What determines the cost of a ZATCA integration project?

Cost tracks which ERP you run, how customized your current invoice module already is, and whether you're integrating one entity or several with different VAT registrations. A standard Odoo or Zoho connection costs less than a custom SAP build with multiple legal entities. We scope and price after seeing your setup, not before.

We've already done Phase 1. What does this add?

Phase 1 means you can generate a compliant invoice. Phase 2 means that invoice gets cryptographically stamped, sent to ZATCA for clearance or reporting, and the response comes back into your system automatically. If you're still exporting invoices to a separate tool or portal, you haven't finished Phase 2 yet, and that's what this integration closes.

Does this work with Arabic invoices and our existing ERP customizations?

Yes. Arabic invoice fields are standard, not an add-on, and we build the ZATCA mapping around your existing ERP customizations rather than asking you to strip them out first. If you've heavily customized your invoice module, we account for that during the audit stage.

Where does our invoice and VAT data go, and who can see it?

Invoice data flows only between your ERP and ZATCA's official endpoints, the same channel your Phase 1 setup already uses. We don't route your data through a separate outside system, and nothing we build trains an external model on your records. Access follows the permissions already set up in your ERP.

Stop treating ZATCA as a second system

Tell us which ERP you run and where you are in ZATCA onboarding, and we'll scope what the integration looks like for your business, no commitment before that.