Simplified Invoice

Issues a simplified invoice and automatically queues reporting to ZATCA.

Uses the same payload and local validation rules as report. Returns 202 Accepted after saving the signed XML and QR code, without waiting for ZATCA. Use the returned document ID with the existing download endpoint (type=xml or type=pdf). PDF rendering runs on demand or in the background; it is not part of issuance latency.

Local validation does not mean ZATCA has accepted the document. Follow reporting using the document retrieval endpoint or webhooks. The signed XML and QR code remain unchanged during retries and stay downloadable if reporting is delayed or rejected. Sending through channels is queued after issuance and does not wait for successful reporting. Delivery retries preserve completed channels.

Available only for simplified documents. The existing report endpoint continues to wait for a ZATCA response.

post/zatca/simplified-invoices/issue/

Request

  • Base URL
    https://api.wafeq.com/v1
  • URL
    https://api.wafeq.com/v1/zatca/simplified-invoices/issue/
  • Auth
    API key in header Authorization

Headers

X-ZATCA-Branchstring

If the account is under a Group VAT, then it is required to be the TIN of the instance under the Group VAT. Otherwise it is optional and can be used as a branch name

X-ZATCA-Connected-Account-Idstring

The unique identifier of the connected account you're operating on behalf of.

Connected accounts should be used only for Platforms and White Label integrations that onboard customers and report documents on their behalf. Omit the X-ZATCA-Connected-Account-Id header when registering devices or reporting documents for your own organization. See the Platforms and White Label guide.

X-ZATCA-Environmentstring

The ZATCA environment to use, one of ['production', 'simulation']. A ZATCA API key (starting with zatca_live_ or zatca_sim_) already names its environment, so the header is optional with it and must match it when sent. Other API keys and OAuth tokens need it.

Request body

language'ar' | 'en'

The language of a document or response.

View the enum reference

metadataobject

The metadata of the document. Keys cannot contain . or start with $.

referencestring

The reference of the document

Response

Signed XML is saved, downloads are available, and reporting is queued.

created_tsstring date-time required

The datetime in UTC when the document was created.

metadataobject required

The metadata of the document.

qr_code_datastring required

Base64 encoded QR code data.

referencestring required

The reference of the document.

reported_tsstring date-time nullable required

The datetime in UTC when the document was reported/cleared.

responseunknown required
sent_tsstring date-time nullable required

The datetime in UTC when the document was sent.

statusstring required

The status of the document.

Changes