Skip to main content
Guides

QR Code on Invoice: ZATCA, FBR, UPI and SEPA QR Explained

QR code on invoice explained: ZATCA TLV fields, FBR and India e-invoice QR, UPI and EPC (SEPA) payment QR codes, what each contains and when it is required.

By Invoice Creator Editorial Team 9 min readApplicable jurisdiction: General

Quick answer: A QR code on an invoice does one of two jobs. A tax QR code (ZATCA in Saudi Arabia, FBR in Pakistan, IRP-signed codes in India) lets anyone verify the invoice and is mandatory under those regimes. A payment QR code (EPC/SEPA in Europe, UPI in India) pre-fills a bank transfer and is optional. Each follows its own data format.

That distinction matters, because a QR made with a generic invoice QR code generator is fine for payments but usually useless for tax compliance. This guide explains what each major QR format contains, who has to use it, and how to add one correctly. Our free invoice generator creates clean PDF invoices but does not add QR codes at the time of writing, so we are clear below about which codes you can create yourself and which must come from a certified system.

Why put a QR code on an invoice?

  • Verification: tax authorities use QR codes so buyers and inspectors can check that an invoice was reported or cleared and has not been altered.
  • Faster payment: a payment QR fills in the payee name, account, amount and reference, so the payer does not mistype them.
  • Fewer reconciliation problems: a correct reference travels with the payment, so you can match it to the invoice.

Tax QR code vs payment QR code

QR typeWhereMandatory?Who creates the content
ZATCA e-invoice QRSaudi ArabiaYes, on tax invoices under the e-invoicing rulesYour compliant e-invoicing solution (Phase 2 adds cryptographic data)
FBR invoice QRPakistanYes, for businesses integrated with FBR (POS retailers, digital invoicing)FBR's system via your integrated software
India e-invoice signed QRIndiaYes, on B2B e-invoices for businesses in scopeThe Invoice Registration Portal (IRP)
EPC QR (SEPA credit transfer)Euro payments in the EEANoYou or your software
UPI QRIndia (INR)NoYou, your bank or your payment provider
Swiss QR-billSwitzerlandStandard payment slip format since the old slips were withdrawn in 2022You or your software

Other regimes also use QR codes on invoices, including Portugal (alongside the ATCUD code) and Malaysia's MyInvois validated e-invoices. Confirm the current rules with the local tax authority if you invoice in those countries.

ZATCA QR code: what the TLV fields contain

Saudi Arabia's ZATCA requires QR codes as part of its e-invoicing (Fatoora) rules. The QR content is not plain text: it is a series of TLV (tag, length, value) records, encoded in Base64. Each record is one byte for the tag number, one byte for the length of the value, then the value itself.

Phase 1 fields (tags 1 to 5)

TagField
1Seller's name
2Seller's VAT registration number
3Invoice date and time (timestamp)
4Invoice total including VAT
5VAT total

Phase 2 additions (tags 6 to 9)

Once a business is integrated with ZATCA's Fatoora platform in Phase 2, the QR also carries cryptographic data: the hash of the XML invoice, the ECDSA signature (cryptographic stamp), the public key and, for simplified invoices, ZATCA's signature over the stamp's certificate. Descriptions of tags 7 to 9 vary slightly between software vendors, so treat ZATCA's own XML implementation standard as the authority. In Phase 2, standard (B2B) tax invoices are cleared by ZATCA and simplified (B2C) invoices are reported within 24 hours. Our ZATCA e-invoicing guide covers the phases, and our ZATCA Phase 2 Wave 25 checklist covers the current integration deadline.

Worked example: Phase 1 values

A seller issues a simplified invoice for SAR 2,000 before VAT. VAT at 15% is SAR 2,000 x 0.15 = SAR 300, so the total is SAR 2,300. Tag 4 holds 2300.00 and tag 5 holds 300.00. If the seller name is "Al Noor Trading" (15 characters), tag 1 is written as the byte 01, the length byte 0F (15 in hexadecimal), then the 15 bytes of the name. All five records are joined and Base64-encoded before being turned into a QR image. Arabic names take more bytes than characters in UTF-8, so software must count bytes, not letters.

FBR QR code on invoices in Pakistan

Pakistan's Federal Board of Revenue uses QR codes in two integration systems:

  • POS integration for Tier-1 retailers. Invoices from integrated retailers carry an FBR invoice number and a QR code. According to FBR, a customer can verify the invoice in the Tax Asaan app (FBR POS menu, then Verify Invoice, entering the number or scanning the QR) or by SMS to 9966.
  • Digital invoicing for sales tax registered persons. Under S.R.O. 69(I)/2025, registered persons are required to integrate their invoicing systems with FBR. Reports describe each invoice receiving an FBR invoice reference number and a QR code for verification.

In both cases the number and QR come from FBR's system through your integrated software, so you cannot create a valid FBR QR code with a generic generator. The Finance Act 2026 is reported to extend QR-based verification to some small retailers; see our Finance Act 2026 Pakistan sales tax guide and FBR e-invoicing guide, and confirm details with FBR.

India e-invoice QR code (IRP signed QR)

When an Indian business in scope of GST e-invoicing uploads an invoice to the Invoice Registration Portal, the IRP returns an Invoice Reference Number (IRN) and a digitally signed QR code. The QR typically contains the supplier and buyer GSTINs, the invoice number and date, invoice value, number of line items, HSN code of the main item and the IRN, and it can be verified offline using the GSTN public key. You print the IRP's QR on the invoice copy; you do not build it yourself. Very large businesses also have dynamic QR obligations on B2C invoices. See our guide to the GST e-invoice limit for who is in scope.

EPC QR code (SEPA QR) for euro invoices

The EPC QR code, sometimes called a GiroCode or SEPA QR, is defined by the European Payments Council's guideline EPC069-12. Scanning it in a supporting banking app pre-fills a SEPA credit transfer. The payload is plain text with one field per line:

LineFieldNotes
1Service tagAlways BCD
2Version001 or 002
3Character set1 = UTF-8, 2 = ISO 8859-1 and others
4IdentificationAlways SCT (SEPA credit transfer)
5BICRequired in version 001, optional in 002 within the EEA
6Beneficiary nameUp to 70 characters
7IBANThe account to be paid
8AmountEUR plus amount, for example EUR1190.00 (optional)
9Purpose codeOptional, four characters
10Structured creditor referenceOptional; use this or line 11, not both
11Unstructured remittance textOptional, up to 140 characters, such as the invoice number
12Information to the payerOptional

The guideline also fixes the QR error correction level at M. For an invoice of EUR 1,000 net plus 19% German VAT (EUR 1,000 x 0.19 = EUR 190), line 8 reads EUR1190.00 and line 11 might read INV-2026-0042. Always repeat the IBAN and reference in text beside the code; our guide to bank details on an invoice covers the formats. The full specification is published by the European Payments Council.

UPI QR code on an invoice

In India, a UPI QR code encodes a UPI payment link that starts with upi://pay followed by parameters. The common ones are:

  • pa: payee UPI ID (VPA), for example yourbusiness@bank
  • pn: payee name
  • am: amount, such as 11800.00
  • cu: currency, INR
  • tn: transaction note, such as the invoice number
  • tr: transaction reference, required for dynamic merchant QR codes

A static UPI QR (just your UPI ID) can sit on every invoice; a dynamic QR includes the amount and reference for one invoice. For an invoice of ₹10,000 plus 18% GST (₹1,800), the amount would be 11800.00. Merchant QR rules and limits are set by NPCI and your bank, so check with your provider. In Pakistan, the comparable instant-payment QR is Raast; see our Raast for business guide.

How to add a QR code to your invoice

  1. Decide which job the QR does. Tax verification or payment. If it is tax, the content must come from your compliant system.
  2. For tax QR codes, use e-invoicing or POS software that is integrated with the authority (ZATCA, FBR or the IRP). The software prints the code for you.
  3. For payment QR codes, generate the code from your banking app, payment provider or a library that follows the EPC or UPI format. Test-scan it with at least two apps before sending.
  4. Place it near the total with the payment details also written as text.
  5. Use one QR per invoice when it includes an amount, so the reference and amount always match that invoice.

Common mistakes with invoice QR codes

  • Using a plain text or URL QR where a regulated TLV or signed QR is required.
  • Reusing a QR that carries last month's amount or reference.
  • Printing the code too small or on a busy background.
  • Omitting the IBAN, UPI ID or reference in text, leaving non-scanning payers stuck.
  • Encoding a payment QR with someone else's account after copying a template. Fraudsters also swap QR codes, so tell clients how to verify your details; see our guide to invoice scams.

Checklist: QR code on invoice

  • Is a tax QR legally required where you are registered? If yes, is it produced by a compliant system?
  • Does a payment QR follow the EPC or UPI format exactly?
  • Do the amount and reference match the invoice?
  • Have you test-scanned it on screen and on paper?
  • Are payment details also shown as text?

Important: This is general information, not tax or legal advice. QR code rules change, especially as e-invoicing mandates expand. Confirm current requirements with the relevant authority, such as ZATCA in Saudi Arabia or FBR in Pakistan.

Next step

If no tax QR is required where you operate, create your invoice in the free invoice generator, add your payment details and reference clearly, and attach a bank or UPI QR if you use one. If you are in Saudi Arabia, Pakistan or India and in scope of e-invoicing, start with the relevant guide above and choose integrated software. For a payment link alternative to a QR, see how to add a payment link to an invoice.

Frequently asked questions

Can I use any free QR code generator for a ZATCA invoice?

Only for a Phase 1 style QR on a simplified invoice, and even then it must contain the five TLV fields encoded in Base64, not a plain text or URL QR. Once you are in a Phase 2 integration wave, the QR must include the invoice hash and cryptographic stamp produced by your compliant e-invoicing solution, so a generic QR generator cannot produce it.

Do all banking apps scan EPC QR codes?

Support is widespread in some countries, such as Germany, Austria, Belgium and the Netherlands, but it is not universal across the euro area. Always print your IBAN, BIC and payment reference as text next to the QR so a payer whose app cannot scan it can still pay by typing the details.

Can a UPI QR code have a fixed amount?

Yes. A UPI payment link can carry an amount (the am parameter) together with the payee UPI ID, payee name and a note. When the payer scans it, the app pre-fills the amount. Some apps let the payer change it, so check the amount received against the invoice when you reconcile.

Is a QR code legally required on a US or UK invoice?

No. Neither the IRS nor HMRC requires a QR code on an ordinary invoice. A payment QR or a QR that links to a payment page is optional and simply makes paying easier. QR codes are mandatory only under specific regimes such as Saudi Arabia's ZATCA rules, Pakistan's FBR integration and India's e-invoicing system.

Where should the QR code go on an invoice?

Place it near the total or in the payment section, at a size that scans easily when printed or viewed on screen, with clear white space around it. Tax QR codes such as ZATCA or FBR codes are usually placed near the invoice number or footer. Do not shrink a QR so much that a phone camera struggles to read it.

Can I put a PayPal or Stripe payment link QR code on an invoice?

Yes. A QR code that opens a payment page is optional and can make card payments easier. It is a plain URL QR, so it has no tax role. Test that the link opens the right amount and invoice, and print the payment link or alternative methods as text too. Tell clients how to verify your payment details to reduce fraud risk.

Does a QR code on an invoice expire?

The QR image itself does not expire, but what it points to might. An EPC or static UPI QR keeps working as long as the account details are valid. A QR that opens a hosted payment link stops working if the provider expires or cancels that link. Check the expiry settings of your payment provider and create a new code for each invoice with an amount.

Is the Swiss QR-bill mandatory on invoices?

The QR-bill replaced Switzerland's old orange and red payment slips, which were withdrawn on 30 September 2022. If you include a payment slip with an invoice in Switzerland, it now has to be a QR-bill. You are not obliged to include a payment slip at all, though, and can simply print bank details. Swiss banks and SIX publish the technical specification.

Can I use an EPC QR code for invoices in currencies other than euros?

No. The EPC QR code is designed for SEPA credit transfers, which are in euros only. For other currencies, use your bank's own payment QR if it offers one, a payment link, or plain bank details. Some countries have their own payment QR standards, such as the Swiss QR-bill or UPI in India, so use the format that matches the currency.

Do Malaysian e-invoices include a QR code?

Yes. Under Malaysia's e-invoicing system, once the tax authority's MyInvois system validates an e-invoice, the visual copy should include a QR code that links to the validated record so the buyer can check it. The code comes from the validation process, not from a generic generator. Confirm the current rules and phase-in dates with the Inland Revenue Board of Malaysia.

IC

Invoice Creator Editorial Team

Guides on invoicing, cash flow and small-business finance from Invoice Creator, operated by Next Software Development Company. Content is reviewed for accuracy against the fields our own invoice generator produces.

Try the invoice generator

Related reading