QR Code on Invoice for Payment & ZATCA Compliance Guide
23 October 2026By InvoicePlus Team
Placing a QR code on invoice for payment or tax verification transforms a static PDF or printed bill into an instant digital action. Depending on where your business operates and how you collect money, an invoice QR code serves one of two distinct purposes: directing a customer's smartphone camera straight to a checkout link to speed up collection, or encoding mandatory fiscal audit data required by tax authorities such as ZATCA in Saudi Arabia. Understanding the technical difference between the two ensures your invoices get paid fast while staying fully compliant.
Why a payment QR shortens payment time
The biggest cause of late payments on small business and freelance invoices is friction. When you hand a customer a printed invoice or email a PDF attachment that only lists a 24-character IBAN string, the buyer has to log into their banking portal, manually type out your account number, verify your beneficiary name, and wait for a new beneficiary activation window.
Adding a scannable payment QR code removes those manual steps:
- Zero typing errors on mobile devices: Over half of small business owners and retail clients review bills on their smartphones. Scanning a code opens a pre-populated checkout page, digital wallet, or banking app in two seconds.
- Exact invoice amount pre-filled: When the encoded link carries the invoice reference and gross total, customers cannot accidentally underpay or forget to include the invoice number in the transfer description.
- Works on both paper and screen: Delivery drivers, field technicians, and showroom staff can collect instant settlement on the spot by letting the client scan the printed sheet or tablet screen before handing over goods.
What data belongs in an invoice QR: payment link vs ZATCA tax data
A common misconception among merchants in the GCC is thinking that scanning any invoice QR code triggers a bank payment. In reality, payment QR codes and tax authority QR codes contain completely different underlying data payloads.
Here is how the two formats differ:
- Payment link QR code: This code encodes a standard HTTPS web URL (such as a Stripe, PayPal, Moyasar, or Tap Payments checkout link) or a structured banking URI. When scanned with a normal phone camera, it prompts the user to open their mobile browser or payment app to complete a card, Apple Pay, or bank transfer transaction.
- ZATCA tax compliance QR code: This code does not contain a website link and does not move money. Instead, it encodes a Base64-encoded Tag-Length-Value (TLV) binary string containing fiscal invoice metadata. When scanned with a standard camera, it appears as an unreadable string of letters and numbers, because it is designed to be read by the official ZATCA verification app or tax auditor scanners to confirm the invoice is authentic.
If you operate in Saudi Arabia and want to offer effortless card checkout while meeting tax laws, you must keep these roles distinct—never replace a mandatory ZATCA tax QR code with a plain website link.
Compliance basics: ZATCA Phase 1 and EU EPC QR
Different regions enforce strict technical standards for what an invoice barcode must contain.
In Saudi Arabia, the Zakat, Tax and Customs Authority (ZATCA) mandated electronic invoicing (Fatoora) across two rollout phases:
- ZATCA Phase 1 (Generation phase): Requires a QR code on simplified tax invoices (and optionally on standard B2B tax invoices) encoded in Base64 TLV format carrying five exact fields: Tag 1 for Seller Name, Tag 2 for VAT Registration Number of the seller, Tag 3 for Invoice Timestamp (date and time in ISO 8601 format), Tag 4 for Invoice Total (inclusive of VAT), and Tag 5 for VAT Total. You can verify the exact tax and gross figures before encoding by using our online VAT and tax calculator.
- ZATCA Phase 2 (Integration phase): Building on the five base fields, the integration phase requires cryptographic stamping and API clearance with ZATCA's portal, adding extra tags for the cryptographic hash and digital signature.
In the European Union, the European Payments Council standardized the EPC QR code (also called a GiroCode). Unlike a web link, an EPC QR code encodes the seller's BIC, IBAN, legal name, exact Euro amount, and remittance reference inside a fixed text structure. Scanning an EPC code inside a European banking app fills out an instant SEPA credit transfer with zero manual typing.
Generating a high-resolution QR
Whether you are encoding a payment gateway URL or custom invoice reference data, low-resolution barcode images often blur when compressed inside an email PDF or printed on thermal receipt paper.
Follow these technical rules when creating your barcode with an invoice QR code generator:
- Keep the payload concise: If you are encoding a payment URL, use a clean direct link without dozens of unnecessary tracking parameters. Fewer characters produce a less dense grid with larger, easier-to-scan black squares (modules).
- Maintain high contrast: Always generate black modules on a solid white background. Inverted colors (white squares on a dark background) or low-contrast pastel brand colors fail on many older smartphone cameras and warehouse scanners.
- Preserve the quiet zone: Leave a clean white margin of at least four module widths around all four sides of the square so the scanner can detect the finder patterns in the three corners.
- Export at crisp resolution: Use PNG at a minimum of 300 by 300 pixels or vector SVG so the edges stay razor-sharp when zoomed or printed.
Placing it in the PDF invoice layout
Where you position the QR code on your invoice page affects both scanning speed and document readability. Avoid cramming the barcode into the top header next to your company logo where it competes with the seller address and invoice number.
The two best placement zones on an A4 or Letter PDF layout are:
- Bottom-left beside the totals block: While the right side of the page displays the Net Subtotal, VAT, and Total Payable, the left side sits naturally open for bank details and a 2.5 cm by 2.5 cm (1 inch by 1 inch) QR code box with a clear caption such as Scan to Pay or ZATCA Tax QR.
- Dedicated remittance footer: For printed bills mailed or handed to clients, placing the barcode in the bottom footer alongside payment instructions ensures it never overlaps with multi-page line item tables.
You can automate this entire layout by creating your bills in our free online invoice generator, which formats English and Arabic invoices cleanly, or explore more e-invoicing guides on the InvoicePlus blog.
Frequently asked questions
Can I put both a ZATCA QR code and a payment link QR code on the same invoice?
Yes, provided both codes are clearly labeled so the customer knows which one to scan. Label your tax barcode as ZATCA E-Invoice QR and your checkout barcode as Scan to Pay Online so buyers do not scan the Base64 tax code expecting a payment screen.
What is the minimum printable size for an invoice QR code?
For standard A4 laser or inkjet printing, never size a QR code smaller than 2 cm by 2 cm (approximately 0.8 inches square). For dense codes carrying long URLs or cryptographic tags, increase the size to between 2.5 cm and 3 cm square.
Does a QR code expire after I put it on a PDF invoice?
A static QR code encoding ZATCA TLV tax data or a permanent company payment portal URL never expires—the data is permanently drawn into the black-and-white pattern itself. It will only stop working if the destination checkout link you encoded is deleted or deactivated by your payment processor.
Create crisp, scannable barcodes for your bills in seconds using our free invoice QR code generator.
Use it now: invoice QR code generator · All free business tools · Free invoice generator
Create Your Free Invoice Now →