n8n-nodes-zatca-tools
v1.0.3
Published
Issue Saudi ZATCA Phase 2 e-invoices (signed, QR, reported) from any n8n workflow.
Maintainers
Readme
n8n-nodes-zatca-tools
Issue Saudi ZATCA Phase 2 e-invoices from any n8n workflow — signed, QR-coded, and reported to the Zakat, Tax and Customs Authority.
ZATCA Tools is a Saudi e-invoicing service. This node talks to its REST API, so your workflow never handles certificates, XML signing or the Fatoora platform.
Installation · Operations · Credentials · Compatibility · Resources
Installation
Follow the community nodes installation guide and use the package name:
n8n-nodes-zatca-toolsOperations
ZATCA Tools
| Resource | Operation | What it does |
| --- | --- | --- |
| Invoice | Create | Builds, signs and reports a tax invoice. Simplified (B2C) or Standard (B2B). |
| Invoice | Get | One invoice by uuid, with its ZATCA status and links. |
| Invoice | Get Many | Newest first; filter by kind, status or since. |
| Invoice | Email | Sends the signed PDF to the buyer. |
| Note | Create | A credit note (reduce) or debit note (increase) against an issued invoice. |
| Account | Get | Your establishment and the invoices left in your quota. |
ZATCA Tools Trigger
Fires when a document is issued — an invoice, a credit note, a debit note, or any of them. Poll-based, so no public webhook URL is needed.
The first run records where it is and emits nothing. Without that, switching a workflow on would fire it once for every invoice in your history.
Credentials
- Create a free account at zatcatools.com and connect it to ZATCA.
- Settings → API → copy the key (
ztk_live_…). - In n8n, add a ZATCA Tools API credential and paste it.
The credential test calls GET /account, so a wrong key fails immediately rather than at the first invoice.
Two things worth knowing
Set External ID. It is your own id for the sale (order-5501). Send it again — after a retry, a duplicated run, a re-activated workflow — and you get the same invoice back instead of a second one. An e-invoice cannot be deleted once ZATCA has accepted it, so this is the difference between a mistake and a permanent one.
Cancelling is a credit note, not a delete. The Cancel the Whole Invoice toggle reverses an invoice for its open balance, computed on the server so an earlier partial refund is never credited twice. To put a cancelled sale back, issue a debit note.
Compatibility
Tested against n8n 1.x with n8n-workflow 2.x. Requires Node 20.15+.
