إسنادEsnad

Simple pricing. SAR and USD.

14-day free trial on Solo. Other plans by subscription.

Solo

One business, own invoices only

SAR 249/mo

~$66

  • 300 inv/mo
  • 200 sandbox inv/mo
  • 1 API key
  • 1 production, 2 sandbox EGS units
  • 1 user
  • Docs only
  • 99.5% target SLA
Most popular

Business

Small POS vendors & agencies

SAR 599/mo

~$160

  • 3,000 inv/mo
  • 1,000 sandbox inv/mo
  • 5 API keys
  • 3 production, 5 sandbox EGS units
  • 3 users
  • Email 72h
  • 99.5% target SLA

Studio

Accounting firms & mid-size integrators

SAR 1,299/mo

~$346

  • 10,000 inv/mo
  • 3,000 sandbox inv/mo
  • 15 API keys
  • 10 production, 15 sandbox EGS units
  • 10 users
  • Priority 24h
  • 99.5% target SLA

Platform

ERP / large POS, 50+ merchants, API resellers & integrators

SAR 3,499/mo

~$933

  • 30,000 inv/mo
  • 10,000 sandbox inv/mo
  • Up to 50 API keys · Up to 25 production EGS · Up to 50 sandbox EGS · Up to 25 users
  • Dedicated
  • 99.5% target SLA

Billing in SAR. USD equivalent approximate (1 USD ≈ 3.75 SAR).

Looking to resell or white-label?

We offer partnership pricing for API resellers, integrators, and compliance providers — high volume, dedicated support, and optional white-label.

partners@esnadapi.com

What happens when you exceed your limit?

We never block invoice submission mid-month. We allow overages and bill them at period end.

  • Solo: SAR 0.45 per extra invoice
  • Business: SAR 0.35 per extra invoice
  • Studio: SAR 0.25 per extra invoice
  • Platform: SAR 0.15 per extra invoice

Need more API keys? Add them for SAR 25/key/month without upgrading your plan.

Feature comparison

Best for / FeatureSoloBusinessStudioPlatform
INVOICINGLive invoices/month3003,00010,00030,000
Sandbox invoices/month2001,0003,00010,000
B2B clearance (Standard)
B2C reporting (Simplified)
Credit & debit notes
6-year XML archive
Overage (SAR/extra inv)0.450.350.250.15
INFRASTRUCTUREAPI keys (entities)151550
EGS units (production)131025
EGS units (sandbox)251550
Dashboard users131025
Sandbox environment
Webhooks
Rate limit (req/min)3001,0005,00020,000
COMPLIANCEZATCA updates included
CERT LIFECYCLECSID expiry monitoring
30/14/7/1-day alerts
Renew via API
SUPPORTDocumentation
Email support72h24hDedicated
SLA (target)99.5% (target)99.5% (target)99.5% (target)99.5% (target)
WhatsApp support
Onboarding call
ADD-ONSWhite-label API domain (Contact us)+SAR 550/mo
Custom invoice branding (Contact us)+SAR 350/mo

Enterprise add-ons

Platform customers can add:

  • White-label API domain: +SAR 550/mo
  • Custom invoice branding: +SAR 350/mo
  • Volume discounts for 500k+ invoices/month — contact us for custom pricing.

Partnership & volume pricing

API resellers and high-volume integrators: need white-label, 500k+ invoices/month, or wholesale-style terms? We offer custom partnership pricing and dedicated support.

Contact partnershipsGeneral Platform inquiries: sales@esnadapi.com

FAQ

You register once on the Fatoora portal to generate a one-time OTP — that's it. You paste the OTP into Esnad when setting up an EGS unit, and we handle the full ZATCA registration flow: CSR generation with the required cryptographic keys, compliance CSID acquisition, the 3-invoice compliance check, and final production CSID. After that, the only time you interact with Fatoora directly is when your certificate expires (once a year) and you need to generate a new OTP for renewal. Everything else — invoice signing, submission, retries, XML archiving — is handled by Esnad automatically.
We never fail your API call just because ZATCA is temporarily unavailable. For B2B (Standard) invoices, we queue the submission and retry with exponential backoff — ZATCA usually recovers within minutes and your invoice gets cleared without any action on your part. For B2C (Simplified) invoices, ZATCA's rules give you a 24-hour reporting window, so short outages are completely absorbed. Our load balancer uses a separate liveness endpoint that doesn't depend on ZATCA, so the Esnad API stays healthy and accepting requests even during ZATCA incidents. You'll see invoice status as "queued" during an outage and "reported" or "cleared" once ZATCA is back.
Standard Tax Invoices (B2B — business to business) require real-time clearance: ZATCA must approve the invoice before you can send it to your buyer. We submit to ZATCA synchronously and only return the response to you after clearance is confirmed. This means your API call blocks until ZATCA responds — typically within a few seconds. Simplified Tax Invoices (B2C — business to consumer, like retail or restaurants) work differently: you issue the invoice first, then ZATCA requires you to report it within 24 hours. We handle the reporting automatically and return the QR code to you immediately so your customer can receive their receipt without waiting.
Usually 60–90 seconds. You provide a unit name, invoice type (B2B, B2C, or both), and the OTP from the Fatoora portal. We generate the ECDSA key pair, build the CSR with ZATCA-required fields, submit to ZATCA's compliance endpoint, run the three mandatory compliance test invoices, and exchange for a production certificate — all automatically. The process is async and you poll a status endpoint until it shows "active." The OTP from Fatoora expires in about 5 minutes, so make sure to use it promptly after generating it.
Your invoice data and signed XML are stored in AWS me-south-1 (Bahrain) or me-central-1 (UAE). Both are Middle East regions with no data leaving the GCC. Private keys are stored in AWS Secrets Manager in the same region, never in the database, and never logged. Signed XML is encrypted at rest in S3 and retained for 6 years per ZATCA's archiving requirements. We do not transfer your data to servers outside the Middle East region. We also issue our own subscription invoices through Esnad — so our own billing is ZATCA-compliant and stored under the same data residency rules.
Yes — this is actually the most common use case for the Business, Studio, and Platform plans. You create one API key per merchant in your Esnad account. Each key gets its own EGS unit (ZATCA certificate), its own invoice counter, and its own hash chain. All keys appear in your single dashboard, filterable by entity (key label) and environment. Your merchants don't need Esnad accounts — you manage everything. The Studio plan at SAR 1,299/month gives you 15 API keys (merchants) and 10,000 invoices/month. The Platform plan gives you unlimited keys and is designed for POS vendors serving 50+ merchants.
All four types required for ZATCA Phase 2 compliance: Standard Tax Invoice (B2B clearance), Simplified Tax Invoice (B2C reporting), Credit Notes, and Debit Notes. Credit and debit notes reference the original invoice UUID and automatically follow the same flow as the original (clearance if B2B, reporting if B2C). We handle the UBL XML structure for all types, including the correct document type codes, reason codes, and reference fields ZATCA requires.
ZATCA periodically updates validation rules, error codes, and sometimes input/output formats. If you integrate directly with Fatoora, every change can mean rework and a constant risk of going outdated. With Esnad, your API contract stays the same — you send the same JSON, we return the same cleared invoice. We track every ZATCA update and release compatibility as soon as it's live. We handle data and versioning; you get the benefit without touching your code. It's part of every plan at no extra cost.
Certificate expiry is the #1 operational risk for ZATCA compliance — when a certificate expires, every invoice submission fails immediately. We alert you at 30, 14, 7, and 1 day before expiry via email and dashboard notification. Renewal is simple: generate a new OTP from the Fatoora portal, call POST /v1/egs/:id/renew with the OTP, and we run the full renewal flow automatically. Your existing key pair is reused (no data loss, invoice counter preserved). The renewal takes about 60 seconds. Your existing invoices remain valid and the hash chain is preserved across renewals.
Yes. Every Esnad account gets a sandbox environment linked to ZATCA's simulation endpoint. API keys prefixed zatca_test_ route to the sandbox automatically. You can create sandbox EGS units, issue test invoices (real ZATCA submission to simulation), and test webhooks — all without touching production. The sandbox uses a fixed ZATCA test OTP so you don't need Fatoora credentials to set up sandbox EGS units. Sandbox invoice quota is separate from your live quota.
We provide code examples for Node.js, Python, and PHP on the homepage and in the API reference. The API is a standard REST API with JSON, so any language that can make HTTP requests works. We don't have official SDK packages yet — our API is simple enough that wrapping it in a thin HTTP client is typically 10-20 lines. The docs site has flow & integration guides, endpoint reference with copy-paste examples, and cURL.
We never hard-block invoice submissions mid-month — cutting off a live transaction would mean your customer doesn't get their ZATCA receipt, which is unacceptable for a compliance product. Instead, we notify you at 80% and 95% of your quota, and allow overages billed at the end of your billing period. Overage rates are SAR 0.45/invoice (Solo), SAR 0.35 (Business), SAR 0.25 (Studio), and SAR 0.15 (Platform). If you consistently exceed your quota, upgrading to the next plan is always cheaper than paying overages.
We offer white-label API domain and custom invoice branding for Platform plan customers. Availability and pricing are provided on request — contact us at support@esnadapi.com or via the Platform plan CTA. The underlying infrastructure, ZATCA certificates, and compliance would still be managed by Esnad; your clients would integrate with your chosen domain. Ideal for POS and ERP vendors who want to offer ZATCA compliance under their own brand.
Esnad is a middleware API that integrates with ZATCA's official Fatoora endpoints. All invoices are submitted to and cleared/reported by ZATCA's own systems — we are a technical integration layer, not a parallel system. ZATCA's certification program for E-Invoicing Solution Providers is separate from our service. We operate by calling ZATCA's published APIs on your behalf, using credentials (CSID) that ZATCA issues to your business. Every invoice in our system has a UUID and clearance stamp issued directly by ZATCA.
Your signed XML is retained for the legally required 6 years (ZATCA mandates 6-year invoice retention) regardless of subscription status. You can download all your invoice XML at any time via the API or dashboard. After cancellation, your account is in read-only mode for 30 days — you can log in, download invoices, but not submit new ones. After 30 days, your account is archived. Your data is never deleted before the 6-year retention period expires.
One API key = one entity you're issuing invoices for. If you're issuing for your own bakery: 1 key. If you're a POS vendor serving 10 merchants: 10 keys, one per merchant.
EGS (E-Invoicing Generation Solution) is ZATCA's term for a registered invoicing device or branch. Each EGS unit gets its own ZATCA certificate. One physical branch = one EGS unit.