ZATCA E-Invoice for WooCommerce helps businesses in Saudi Arabia issue simplified tax invoices that meet the ZATCA (Zakat, Tax and Customs Authority) Phase 1 (Generation) e-invoicing requirements: an Arabic PDF invoice with all the mandatory fields and the QR code, for every WooCommerce order.
Check ZATCA Mandatory Fields
Disclaimer: This plugin is not officially affiliated with or endorsed by ZATCA (Zakat, Tax and Customs Authority).
Features
- PDF simplified tax invoices: an Arabic, right-to-left PDF invoice for each order, with the mandatory fields: invoice number and date, seller name, address and VAT number, lines with their VAT, and the totals (taxable amount, VAT, total).
- ZATCA QR code: Base64 TLV data (seller name, VAT number, time stamp, invoice total, VAT total), generated on your server with no external service.
- Automatic: the invoice is generated when the order reaches the statuses you choose (Completed by default), attached to the “Completed order” email, and downloadable from My Account and from the order page.
- QR code everywhere: in order emails, on the order page in My Account, with the
[zeiw_order_qr] shortcode, and in the WooCommerce REST API (qr_fatora_code).
- Arabic first: on a site in another language, every label shows in Arabic and in that language (for example “الكمية / Quantity”), since invoices in Saudi Arabia must be in Arabic.
- VAT check: warns when WooCommerce taxes are off or there is no 15% rate for Saudi Arabia, the reason invoices would show VAT as 0.00.
- Simple settings page, built with the same components as WooCommerce. Values are checked before saving, and the VAT number accepts Arabic digits (٠-٩).
- Private PDFs: invoices are stored in protected folders, and only the shop manager and the order’s customer can download them.
- HPOS (High Performance Order Storage) compatible.
- Works with our ZATCA Phase 2 plugin, which adds the reported e-invoice’s QR code and data to the same PDF.
Premium Version
Everything in the free version, plus:
- Selling to businesses (B2B): the buyer’s name, company, billing address and VAT number on the invoice, and standard tax invoices for VAT-registered buyers, while individuals keep simplified invoices. A VAT number field at checkout (classic and block checkout), editable on the order page. Off by default: turn it on only if you sell to businesses.
- Credit notes: a PDF credit note for each refund, attached to the “Refunded order” email.
- Bulk generation: invoices and credit notes for past orders, in one click.
- Branding: your logo, phone, email, website, detailed address and social media accounts (Instagram, X, Snapchat, TikTok, WhatsApp and more) on the invoice, with a custom header and footer.
- Invoice design: main color, font size, logo and QR code position, product SKU, customer order note, and your own wording for the invoice labels.
- Integrations: the QR code in WooCommerce PDF Invoices & Packing Slips, Print Invoice & Delivery Notes, WebToffee PDF Invoices and YeePDF.
- QR code size, automatic updates and priority support.
Upgrade to Premium Version
Electronic Invoice Phase Two (Integration Phase)
This plugin is designed for Phase One (Generation).
If you need full compliance with Phase Two (Integration) requirements, which involve XML generation, cryptographic stamping, and direct integration with ZATCA servers, you need our specialized plugin:
Phase Two Plugin Features:
* Full integration with ZATCA portals (Fatoora & Simulation).
* Generation of XML files compliant with UBL 2.1 standards.
* Cryptographic Stamp & CSR Generation.
* Reporting of invoices.
* PIH (Previous Invoice Hash) chaining.
Get ZATCA Phase Two Plugin
Source Code
The settings page is a React app. Its source code is included in the plugin, in the src/ folder, and is built to the build/ folder with @wordpress/scripts: run npm ci, then npm run build.