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
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
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
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
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
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
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 software | Move to AmalERP | |
|---|---|---|
| Price | From SAR 500, fixed quote after review | SAR 1,499 a year |
| Your software | Stays the same | Replaced for invoicing and accounts |
| Onboarding | Done with you, per unit | Included, remote |
| Best for | Systems that can be extended | Spreadsheets or closed systems |
See every AmalERP plan in riyals on the Saudi pricing page.
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 guideFAQ
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.