Skip to content

Phase 2 · Wave 25 deadline 1 February 2027

ZATCA integration for your ERP, POS or custom software

ZATCA integration connects your invoicing system to ZATCA's Fatoora platform for Phase 2: every invoice becomes signed XML, standard invoices are cleared in real time and simplified invoices are reported within 24 hours. We do it two ways: we connect the software you already use, with projects from SAR 500, or you move invoicing to AmalERP, which has Phase 2 built in.

Last reviewed 21 October 2026 against zatca.gov.sa.

Two routes

Two ways to get your invoices integrated with ZATCA

Both end in the same place: a unit onboarded with a Production CSID, clearing and reporting every invoice.

We connect the software you already use

Your ERP, POS, accounting package or in-house system keeps working the way your team knows. We add the Phase 2 layer: XML generation, signing, the Fatoora API calls and onboarding. Projects start from SAR 500; we give a fixed quote after reviewing your system.

Best for: Businesses happy with their current software, and software houses whose own product needs Phase 2.

Or move invoicing to AmalERP

AmalERP has Phase 2 built in: bilingual invoices, clearance and reporting, and onboarding with your Fatoora OTP. The ZATCA Phase 2 plan is SAR 1,499 a year with accounting, 2 users and remote onboarding included.

Best for: Businesses on spreadsheets, on a closed system that cannot be extended, or ready for a proper ERP.

What we build

What a ZATCA Phase 2 integration includes

The same four requirements apply whoever does the work. This is the scope of every integration project.

UBL 2.1 XML

Every invoice, credit note and debit note generated as XML to ZATCA's UBL 2.1 implementation standard, with the mandatory fields, invoice type codes and tax categories.

Signing and the hash chain

UUID, invoice counter, previous-invoice hash and the document's own hash, signed with the unit's private key (ECDSA, secp256k1), so any gap or edit is detectable.

Clearance and reporting calls

Standard (B2B) invoices cleared by Fatoora in real time before issue; simplified (B2C) invoices stamped locally and reported within 24 hours, with retries when the connection drops.

QR code and onboarding

The nine-tag Phase 2 QR on simplified invoices, and onboarding of each unit: OTP from your Fatoora portal, Compliance CSID, compliance checks, Production CSID.

The technical detail behind each item is on our ZATCA Phase 2 page, and you can check any invoice's QR with the free ZATCA QR decoder.

The project

How a ZATCA integration project runs

Step 5 happens on your Fatoora portal and needs you or an authorised person, not only us.

  1. 1

    Review your system

    We look at how your software creates invoices today, which invoice types you issue (standard, simplified, credit and debit notes) and how many devices or branches issue them, then send a fixed quote and timeline.

  2. 2

    Clean the data Phase 2 needs

    Buyer VAT numbers, structured addresses, item tax categories and units become mandatory XML fields. We list what is missing so it is fixed before testing, not after a rejection.

  3. 3

    Build the connector

    We add XML generation, signing, the hash chain and the Fatoora API calls to your system, or connect it to ours, depending on what your software allows.

  4. 4

    Test in ZATCA's sandbox and simulation

    Every document type is validated in ZATCA's developer sandbox, then rehearsed in the simulation environment before anything touches production.

  5. 5

    Onboard with your Fatoora OTP

    You log in to the Fatoora portal and generate a one-time password for each unit. We use it to obtain the Compliance CSID, pass the compliance checks and request the Production CSID.

  6. 6

    Go live and monitor

    We watch clearance rejections and reporting failures in the first weeks, and plan CSID renewal and re-onboarding when a device is replaced.

What we need from you

  • Access to your system, or a test copy of it, and someone who knows how invoices are raised today
  • Your VAT registration details and the list of branches, tills or systems that issue invoices
  • Login to the Fatoora portal on the day of onboarding, to generate the one-time password
  • Sample invoices of every type you issue: standard, simplified, credit and debit notes

Price

Integrate your softwareMove to AmalERP
PriceFrom SAR 500, fixed quote after reviewSAR 1,499 a year
Your softwareStays the sameReplaced for invoicing and accounts
OnboardingDone with you, per unitIncluded, remote
Best forSystems that can be extendedSpreadsheets or closed systems

See every AmalERP plan in riyals on the Saudi pricing page.

Our ZATCA work

Who is doing the work

AmalERP is built by Switcher Techno, a Karachi software house founded in 2010 that builds tax integrations, including FBR and SRB e-invoicing in Pakistan. Our current ZATCA Phase 2 project is for Elite Excellence For Business Solutions (مؤسسة النخبة المتميزة لخدمات الأعمال) in Saudi Arabia, on a bilingual Arabic and English e-invoicing system we developed. We completed a ZATCA Phase 1 integration for an earlier client, and AmalERP itself has Phase 1 and Phase 2 built in.

What we will not say: AmalERP is not listed in ZATCA's solution provider directory today, and we do not call ourselves “ZATCA-approved”. ZATCA states the directory is not an approval and that a business meeting the requirements is compliant whichever provider it uses.

Tell us your system and your wave

Send the name of your software and your deadline. We reply with what the integration involves and a fixed quote.

Get a quote on WhatsAppRead the ZATCA guide

FAQ

ZATCA integration questions

How much does ZATCA integration cost?

Our ZATCA Phase 2 integration projects start from SAR 500. The final price depends on your system, the invoice types you issue and how many devices or branches need onboarding, so we give a fixed quote after reviewing it. If you would rather move to software with Phase 2 built in, AmalERP's ZATCA Phase 2 plan is SAR 1,499 a year.

What does ZATCA Phase 2 integration involve?

Your invoicing system has to produce each invoice, credit note and debit note as signed UBL 2.1 XML with a UUID, counter and hash chain, send standard invoices to ZATCA's Fatoora platform for clearance before issue, report simplified invoices within 24 hours, print the nine-tag QR code on simplified invoices, and be onboarded with a Compliance CSID and then a Production CSID.

Can you integrate any ERP or POS with ZATCA?

Most systems that let us add code, or that can call an external service, can be connected. A closed system with no way to extend it may not be, and we will say so after the review rather than take the project. In that case the options are the vendor's own Phase 2 update or moving invoicing to software that already has it, such as AmalERP.

Do I need a ZATCA-approved solution provider?

No. ZATCA publishes an indicative directory of qualified solution providers, but it states that the list is not an approval of anyone's solution and that a taxpayer who meets the requirements is compliant even if their provider is not in the directory. AmalERP is not in that directory today, and we do not describe ourselves as ZATCA-approved.

What is a CSID?

A Cryptographic Stamp Identifier is the certificate ZATCA issues to an invoicing unit so it can sign invoices. The Compliance CSID is temporary and is used to pass ZATCA's checks with sample documents; the Production CSID is used for real clearance and reporting. Both are obtained with a one-time password the taxpayer generates in the Fatoora portal, for each unit.

Which businesses must integrate, and by when?

Phase 2 has been applied in waves since 1 January 2023. The latest, Wave 25, covers businesses whose VAT-liable revenue exceeded SAR 187,500 in any year from 2022 to 2025, with integration due by 1 February 2027. ZATCA notifies each wave at least six months ahead.

Can a POS keep selling if the internet goes down?

Yes, for simplified (B2C) invoices: they are stamped locally, issued immediately and reported once the connection returns, within 24 hours of issue. Standard (B2B) invoices need clearance before issue, so they cannot be finalised offline.

What happens after go-live?

CSIDs expire and must be renewed, and a replaced device has to be onboarded again with a new one-time password. Rejected clearances need to be corrected and resubmitted, and the signed XML archive must stay retrievable. We monitor the first weeks with you and agree how renewals are handled.

General information, not tax advice. Wave and onboarding details follow ZATCA's published guidance on zatca.gov.sa; confirm your own wave against the notification you receive. Last reviewed 21 October 2026. A longer, owner-focused version of the steps is our Phase 2 integration checklist.

Get integrated before your wave deadline

Integration projects from SAR 500. AmalERP ZATCA Phase 2 plan SAR 1,499 a year.

No credit card required · 200+ businesses across the Gulf and beyond.