← All articles

How to Test a QR-Bill Before You Send It

September 9, 2026 · facturio

A QR-bill looks simple, but a single wrong field can make it unscannable. Test it before you send it — the cost of a broken QR code is a delayed payment.

What to check visually

Compare the plain-text payment information against the QR code’s data: IBAN, payee name, amount, currency and reference must match exactly. The printed data is what the customer verifies.

Check the payee name against your registered account name. A mismatch between the printed name and the account holder can cause the payment to be rejected.

Verify the reference matches the invoice. A QR-bill whose reference points to a different invoice will reconcile to the wrong document.

Look at the address fields. Since late 2025, structured addresses are required in the QR data, so a combined address that still scans today may be a warning sign.

  • IBAN and payee name.
  • Amount and currency.
  • Reference, if any.
  • Structured (not combined) addresses.

Scan it yourself

Open your banking app and scan the QR code. If the app reads the correct amount and reference, it works. If not, something in the underlying data is wrong, even if it looks fine on paper.

Scan with more than one app if you can. Different apps expose different errors, and one app accepting the code does not guarantee every bank will.

Watch what the app pre-fills. If the amount, IBAN or payee that appears differs from what is printed, the QR data and the printed text are out of sync, and you must fix the source data.

Do this test on the actual PDF you will send, not a draft. The rendered QR code is what matters, and it can differ from what your preview shows.

Validate the data directly

The most reliable check is to validate the underlying data, not just the image. Tools and libraries can decode the QR payload and check each field against the specification.

Check that the IBAN is in the correct format and that the reference passes its check-digit validation. A reference that fails its own checksum will never reconcile.

For EUR invoices, confirm the IBAN is a standard IBAN, not a QR-IBAN, since the February 2026 change removed QR-IBANs from EUR QR-bills.

The QR-bill payload has defined limits on field lengths and characters. A field that is too long or contains invalid characters can make the code unscannable even when the data is correct.

Make testing part of your routine

Build a quick check into your process: every invoice gets a visual scan and, where possible, an app scan before it is sent. The minutes you spend save you a chasing call later.

facturio generates QR-bills from structured data and lets you preview the result, so you can catch a wrong IBAN or reference before the invoice ever leaves your outbox.

Keep a record of the data you validated, so that if a client later reports a scanning problem you can show the QR-bill was correct at the time of sending.

Treat a failed test as a data problem to fix at the source, not something to patch on the PDF. Correct the client record or the invoice, then regenerate the QR-bill.

  • Check printed text against the QR data.
  • Scan with a banking app before sending.
  • Validate IBAN format and reference check digits.
  • Fix errors at the source, then regenerate.

Related reading — The Swiss QR-Bill Without Errors on strongwinds.ch: practical AI routines for Swiss freelancers and SMEs.

Create compliant Swiss QR-bills in minutes

facturio generates SIX-compliant QR-bills with every invoice — so you can focus on your work, not the paperwork.

Start free