Wafeq Public API vs ZATCA API

Choose the correct invoice API based on whether you need Wafeq accounting records or standalone Saudi e-invoicing compliance.

The short version: Both APIs use api.wafeq.com and both contain invoice endpoints, but they serve different purposes. The Wafeq Public API creates and manages accounting invoices inside a Wafeq organization. The Wafeq ZATCA API is a standalone Saudi Phase 2 compliance service and does not create invoices in the Wafeq accounting application.

Choose based on where the accounting record should live

Wafeq Public APIWafeq ZATCA API
PurposeAccounting and invoicing in WafeqZATCA validation, reporting or clearance, and compliant document generation
Typical usersBusinesses using Wafeq as their accounting systemERPs, POS systems, platforms, and businesses that keep accounting records outside Wafeq
Create or report endpointPOST /v1/invoices/POST /v1/zatca/invoices/report/ for standard B2B invoices, or POST /v1/zatca/simplified-invoices/report/ for B2C invoices
ResultCreates an invoice in the Wafeq accounting workspace, connected to contacts, accounts, taxes, receivables, and paymentsCreates and tracks a ZATCA compliance document; it does not create a sales invoice or accounting entry in the Wafeq app
Accounting impactYesNo
Saudi Phase 2Report the Wafeq invoice through the Public API tax-authority reporting actionDirectly validate or report invoice data created in another system

Use the Wafeq Public API when…

  • Wafeq is your accounting system of record.
  • The invoice must appear under Sales → Invoices in Wafeq.
  • You need ledger posting, accounts receivable, customer balances, payments, or accounting reports.
  • You want to create the accounting invoice first and then submit it to the tax authority.

Start by creating the accounting invoice:

POST /v1/invoices/

Use the Wafeq ZATCA API when…

  • Another ERP, POS, or platform is your accounting system of record.
  • You need Saudi Phase 2 validation, reporting, or clearance without using Wafeq for accounting.
  • You issue documents for connected accounts or white-label customers.
  • You only need compliance documents, artifacts, and statuses.

For a standard B2B invoice:

POST /v1/zatca/invoices/report/

For a simplified B2C invoice:

POST /v1/zatca/simplified-invoices/report/

Important: A document submitted through /v1/zatca/... will not appear under Sales → Invoices in the Wafeq accounting app and will not post to the accounting ledger.

Interested in the Wafeq ZATCA API? Contact our sales team to discuss your requirements and get started: https://www.wafeq.com/en-sa/zatca-e-invoicing-phase-2

If you need both accounting and ZATCA compliance

Create the invoice with the Wafeq Public API, then use that invoice’s Public API tax-authority reporting action. Do not separately recreate the same document through the standalone ZATCA API.

Quick decision

  • Need the invoice in Wafeq accounting? Use the Wafeq Public API.
  • Keep accounting elsewhere and only need ZATCA Phase 2? Use the Wafeq ZATCA API.
  • Need both in Wafeq? Create and report the invoice through the Public API workflow.

Related documentation



Did this page help you?