How does it work?
When any order in your store is paid, the plugin sends it to our platform. We turn the order (products, quantities, discounts, shipping) into a Phase 2 compliant simplified tax invoice, sign it with your business certificate and report it to the Authority — within seconds of payment. You will find the invoice inside the order screen in your store (its number, and a PDF link with a QR code), and also on the Invoices page in our platform.
Before you start
- A ZATCA Tools account connected to the Fatoora platform — finish the connection from the settings page first.
- A working WooCommerce store (WordPress 6.0 or newer).
- The store currency is Saudi riyal (SAR) — orders in other currencies are ignored.
- VAT enabled in WooCommerce at 15% — this is essential; set it up before anything else (the details are below).
SA and rate 15, and make sure your products sit in a taxable tax class.If VAT is not enabled, orders are collected with zero tax — and we will not issue a tax invoice for them, because that would mean adding tax the customer never paid (which is a breach). The plugin shows you a clear warning and explains what is missing, on the ZATCA Tools page in your admin menu.
Step 1 · Install the plugin
- From the WordPress admin open Plugins → Add New.
- Search for ZATCA Tools — or open its page on the WordPress repository.
- Click Install Now, then Activate.
Is your host blocking the WordPress repository? Download the file (.zip) and upload it from Plugins → Add New → Upload Plugin.
Step 2 · Get an API key
- Sign in to our platform: Settings → API.
- Click Generate API key and copy it — it starts with
ztk_live_and it is shown once only.
Step 3 · Connect the store
- In the WordPress admin open WooCommerce → Settings → ZATCA Tools.
- Paste the API key and save.
- A message appears: "Connected as your business" — and from now on every paid order is invoiced automatically.
Step 4 · Try it with an order
Create an order and mark it completed (or paid), then open the order screen — you will find a "ZATCA invoice" panel with the invoice number and the PDF link within seconds. The invoice also appears on the Invoices page in our platform.
Details worth knowing
- Invoice type: Simplified (B2C) by default — the correct type for store orders. It is reported to the Authority within the statutory window.
- VAT number field at checkout: The customer sees an option, "Buy as a business", to enter their business VAT number (and CR number) — and it is highlighted automatically on orders of 1,000 SAR and above.
- Business invoices (B2B) and the 1,000 rule: Saudi VAT law requires a full tax invoice for a supply of 1,000 SAR or more to a VAT-registered buyer, so we issue it as Standard with immediate clearance once the national address is complete (street + building number + city + postal code). Below 1,000 it stays simplified, with the buyer's VAT number printed on it.
- Setting the buyer type yourself: On any order, the «ZATCA e-invoice» panel offers a choice of Business (B2B) or Individual (B2C), with the VAT number and National address and CR number — and the panel tells you before issuing which invoice type will be issued. And if you choose "Business", the fields it requires turn red, and everything else is marked "optional".
- One address only: the national address. A tax invoice needs the street, the building number, the city and the postal code — and we derive them all from the national short address (4 letters + 4 digits, such as RRRD2929) inside the service. So you are never asked for a "building number" and never have to assemble the address by hand.
- The amount decides the form — we never block issuing: Marking an order as a business means "aim for the tax invoice, and tell me if you cannot". So if the total is under 1,000 SAR we issue a Simplified one (Article 53 allows a simplified tax invoice under 1,000 for any buyer) with the buyer's VAT number printed on it; and if it is 1,000 and above and a required detail is missing, we issue a simplified invoice with a warning naming the missing detail on the order, in its notes, and in our panel. A simplified tax invoice must be reported within 24 hours — withholding the document is worse than issuing it as simplified.
- A repeat business customer: You save their type and their VAT number on the customer record itself (Users → Edit customer), so they apply to all their future orders automatically without retyping them — and you can still override them on a single order.
- The invoice reaches your customer: The tax invoice number and its download link appear in the order emails, on the Thank you page, on the My account → Orders page — because the document that counts is the one the customer actually receives.
- A panel inside WordPress: The ZATCA Tools page in your admin menu shows the connection status, a VAT setup check, the invoice count, and the latest orders with each invoice's status and a button to Retry.
- We never invent VAT: Any order that was not actually charged 15% VAT (tax disabled, exempt lines, or a different rate) gets no invoice — and the reason appears on the order so you can issue it by hand from our platform.
- Refunds: Any refund on the order issues a credit note automatically linked to the order's invoice.
- Cancelling an order: If the order status becomes Cancelled or Refunded after its invoice was issued, we issue a full credit note that reverses it — because an invoice reported to the Authority is never deleted. The note number appears on the order and in our panel's table, with a button to view and print it inside the page. And the order does not disappear from the table after cancellation. And if the order is cancelled before its invoice was issued, we issue nothing at all.
- And if you set the order back to completed after cancelling: we issue a Debit note for the same amount, so the invoice becomes due again. The credit note is not deleted — every document reported to the Authority is final, and the two together are the audit trail. And if you cancel it again, a New credit note is issued, and so on.
- Editing an order after invoicing: An issued invoice is never edited — so if you change the order after it was issued (added a line or changed a price), we issue the difference automatically: a Debit note if the total went up, and a Credit note if it went down. And if the order ends up with VAT that is not a uniform 15%, we invent nothing — a warning appears so you can issue the correction by hand.
- Invoice date and supply date: Every document is dated in Saudi time (not UTC) — so a sale at 1 a.m. is not dated to the previous day and does not roll into last month's return. The supply date is the date the order was paid, not the date the invoice was issued, because the two differ when issuing is delayed.
- The notes reach your customer: A credit note is the buyer's right — it is their proof that the VAT was returned to them. So it appears, with its number and its link, in the order emails, on the My account page, not just the original invoice.
- Discounts and shipping: Order discounts are reflected on the invoice (net), and shipping fees appear as a separate line — and the invoice total always matches the amount paid.
- It does not slow your store down: Invoicing runs in the background after payment — the buying experience is not affected at all.
- Every invoice draws on your plan's balance — track what is left from your dashboard.
Frequently asked questions
No — the integration is entirely behind the scenes. The invoice is issued in our platform and appears in the order screen.
All of them — the plugin issues the invoice the moment the order is marked paid or completed, whatever the payment method.
The plugin invoices new orders automatically. For older orders, you can issue them by hand from our platform.
Yes — the plugin is completely free, and so is the platform. You download it and connect it with no fees and no credit card.