Starting on December 4, 2021, businesses in Saudi Arabia should provide an Invoice QR Code that complies with the ZATCA standard. If you’re running a WooCommerce store in this country, our Ultimate Barcodes plugin got you covered.
How to generate a ZATCA QR Code with Ultimate Barcodes #
Our ZATCA implementation integrates natively with our WooCommerce PDF Invoices & Packing Slips plugin (RTL/Arabic support available as a free addon). We have plans to integrate with other WooCommerce invoice plugins in the future, if you need support for a specific plugin, please contact us.
Having both, the WooCommerce Ultimate Barcodes and our PDF Invoices plugin installed, you should see the “Documents” section in the Barcodes settings:
In the “Invoice” settings, enable this barcode and follow the configuration below:
- Barcode type: QR Code
- Generate from: ZATCA data
- ZATCA seller name: your seller name
- ZATCA seller tax: your seller tax number
- Display code under barcode: enable this if you want to see the Base64 string without scanning
Under the “Display in” section enable the PDF Documents and:
- Document types: Invoice
- PDF template location: select a location, in the PDF, to display the ZATCA QR Code
When finished your settings should look similar to this:
Depending on your “Generate” setting, because you can choose to generate it manually, you should be able to see the ZATCA QR Code in your order page sidebar:
How to scan a ZATCA E-Invoice QR code #
At the moment we know of the existing of two apps that could scan and decode a ZATCA QR Code:
- E-Invoice QR Reader KSA (Android)
- E-Invoice QR Reader KSA (iOS)
ZATCA QR Code output is a TLV Base64 string #
First we need to understand that this barcode is not a standard QR Code, the output from scanning is different and it’s detailed in the ZATCA Documentation, per below: