Adding ZATCA Approved QR code to the invoice

This document will guide you on how to add Saudi Arabia’s tax authority, ZATCA, approved QR code to the invoice.

Before proceeding, please make sure you are using the latest version of Saleculator => Saleculator v4.1 u1 Also, check if your Receipt Printer does support the QR codes.


Receipt Printer Self Test: #

  1. Make sure your Receipt Printer is turned off first!
  2. Press and hold the Feed button on your printer and turn on the printer
  3. Once the printer is turned on release the feed button
  4. Just after releasing the feed button it will print a long Self Test document
  5. Check if a QR code is printed anywhere on the Self Test document
  6. If you see a QR code on the Self Test page it means your printer is QR compatible else its not! (Refer to below images)
QR Supported Printer

Self Test Showing QR Support

Self Test Showing no QR Support

Procedure: #

1. Log in as Administrator, and go to Menu > Maintenance > Resources

2. Select the resource, Printer.Ticket and copy-paste the below scripts just before the ticket end line that says </ticket>

<barcode type="QR-ZATCA" size="4">
Saleculator POS
0123456789
${ticket.printDateFormatted("yyyy-MM-dd'T'HH:mm:ss'.000Z'")}
${ticket.printTotal()}
${ticket.printTax()}
</barcode>

Use below code if the printer does not support QR code printing. The QR-ZATCA-IMAGE type send QR code to the printer as an image.

<barcode type="QR-ZATCA-IMAGE" size="4">
Saleculator POS
0123456789
${ticket.printDateFormatted("yyyy-MM-dd'T'HH:mm:ss'.000Z'")}
${ticket.printTotal()}
${ticket.printTax()}
</barcode>

Here on the 1st line, barcode type QR-ZATCA represents the ZATCA variant of the QR code.

The ZATCA QR code tags are entered line by line and in the order as instructed by ZATCA. On the first line enter the company name and on the second line enter tax registration number. On subsequent lines enter invoice date, total amount (including tax), and tax amount.

3. Once updated click on the Save button and restart the system

4. Now try to take a receipt printout by billing any products. You will get a QR code printed at the bottom of the receipt as shown in the below image.

The ZATCA QR codes are Base64 encoded in Tag-Length-Value format. It can only be scanned using compatible apps. You can verify the Saleculator generated QR code using ZATCA authorized VAT App available in Android play store.

If you scan the above code using the VAT App scanner, it will get you the bill details along with the output values you have updated

0 Comments

Leave a Reply

Arrow-up