ZATCA QR Code for WooCommerce Invoice

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:

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:

You should not see the data that generates the QR Code (seller name, seller tax number, etc), but instead a TLV Base64 string.