100+ Validation Steps
We automatically validate your invoice against over 100 ZATCA rules before submission, ensuring high acceptance rates.
KSA E-Invoicing Compliant
The most reliable API for Phase 2 E-Invoicing in Saudi Arabia. Fully compliant, developer-friendly, and ready for production.
Seamless ZATCA Integration for Developers
AVTAX Zatca Integration bridges the gap between your ERP and ZATCA.
We automatically validate your invoice against over 100 ZATCA rules before submission, ensuring high acceptance rates.
Manage multiple EGS Units effortlessly. Create, onboard, and monitor EGS units directly via our Partners Dashboard API.
We handle the complex XML signing, SHA-256 hashing, and ECDSA signature generation required for Phase 2.
Generate ZATCA-compliant PDF/A-3 files with embedded XML directly from our API. No external tools needed.
For Developers
Invoice APIs for submission, plus a separate API for managing partners and EGS units.
Issue B2C invoices with background reporting, clear B2B invoices before returning printable documents, and retry safely with idempotency keys. Invoice-level payable rounding and operation-status lookup are included.
The core engine. Send simple JSON, get compliant XML. Handles SubmitInvoice, validation, and reporting.
For platforms and ERPs. Use CreateNewEgsUnit to onboard your customers and manage their credentials programmatically.
POST /api/Invoice/SubmitInvoice
Api-Version: 2.0
Idempotency-Key: example-pos-2026-000184
Authorization: Bearer YOUR_EGS_UNIT_TOKEN
Content-Type: application/json
{
"payableRoundingAmount": 0,
"validateWarnings": true,
"documentType": "SimplifiedTaxInvoice",
"invoiceIndicator": "None",
"currency": "SAR",
"exchangeRate": null,
"documentIssueDateTime": "2026-07-26T19:15:00",
"supplyDate": null,
"buyer": null,
"documentLineItems": [
{
"lineItemName": "Restaurant order",
"lineItemPrice": 100,
"lineItemQty": 1,
"discountOnLineItem": 0,
"allowanceCode": null,
"taxCategoryCode": "S",
"taxReasonCode": "None",
"taxReasonDescription": null,
"vatRateOnLineItem": 15
}
],
"referenceId": null,
"documentId": "POS-2026-000184",
"notes": null,
"orderReferenceId": null,
"documentAllowanceOrChange": null,
"invoiceTypeReason": null,
"payment": {
"paymentMethod": "InCash",
"paymentAccountIdentifier": null,
"paymentNote": null
},
"prepaymentDetails": null
}
Published Swagger example. Replace the invoice number, issue date, and business values before use.
{
"documentType": "TaxInvoice",
"invoiceIndicator": "Nominal",
"currency": "SAR",
"buyer": {
"buyerName": "Tech Corp",
"buyerVatId": "300000000000003"
},
"documentLineItems": [
{
"lineItemName": "Consulting Services",
"lineItemPrice": 1000.00,
"lineItemQty": 1,
"vatRateOnLineItem": 15
}
]
}
/PrintA3 endpoint included for Invoice V1. Invoice V2 uses /api/Invoice/{invoiceUuid}/pdf-a3.Use an EGS-unit bearer token from POST /api/UserAuthentication/LoginAsEgsUnit, or a partner bearer token from POST /api/Partner/Login. Partner-mode invoice requests also require EgsUnitClientId and EgsUnitClientSecret; omit those headers with an EGS-unit token.
Send Api-Version: 2.0 and an 8–128 character Idempotency-Key. Retry an uncertain request with the identical JSON body and the same key. Invoice V1 remains a separate, unchanged contract.
B2C defaults to background reporting. Set X-AVTax-Submission-Mode to wait-for-zatca to wait for the first reporting result. B2B always waits for clearance. HTTP 200 does not by itself mean B2C reporting is complete; inspect zatcaSubmissionStatus.
Persist signedInvoiceXmlBase64, qrCodeString, invoiceUuid, and invoiceHashBase64 when returned. The API's temporary delivery copy can expire.
Operation statusGET /api/Invoice/operations/{idempotencyKey}
PDF/A-3POST /api/Invoice/{invoiceUuid}/pdf-a3
Both endpoints use Api-Version: 2.0. PDF/A-3 generation uses the exact issued XML; its UUID and hash must match the stored operation.
Submission, validation, clearance, and an optional PDF/A-3.
You send a simple JSON payload to our API. No complex XML or crypto knowledge needed.
We convert your JSON to UBL 2.1 XML and run 100+ ZATCA validation rules to ensure compliance.
Invoice V2 returns Signed XML and QR after B2C issuance while reporting continues. B2B receives printable documents only after ZATCA clearance. Check zatcaSubmissionStatus for the authority result.
Request a compliant PDF/A-3 invoice. Use our templates or send your own custom template, and we'll embed the XML for you.
Select a step to explore the workflow. This illustration does not send invoice data.
Purchase EGS Units to scale your e-invoicing capacity.
Perfect for testing and small businesses.
Free
For growing businesses.
$300/year
For high-volume needs.
Custom
Note: Each EGS Unit can process up to 10,000 standard invoices per month. Need more capacity? Purchase additional EGS Units.