Issue invoice
Changed onIssues 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.
Request
- Base URLhttps://api.wafeq.com/v1
- URLhttps://api.wafeq.com/v1/zatca/simplified-invoices/issue/
- AuthAPI key in header Authorization
Headers
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
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.
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
Response
Signed XML is saved, downloads are available, and reporting is queued.
Changes
- info
endpoint added
- info