Features · · 7 min read

QR Payment on an Invoice: How to Create the Code (2026)

How to put an SPD payment QR code on a Czech invoice, which details to check before you send it out, and where the code helps and where it does not.

A payment QR code is built from the payee's account, the amount, the currency and usually the variable symbol. Czech banks read the QR Platba standard, which is based on the SPD format. Your client scans the code in a banking app that supports it, checks the details the app has filled in and confirms the payment — the code itself never moves any money.

What a payment QR code is and why you want one on your invoice

A payment QR code is a small square pattern that carries the payment details in encoded form. The client scans it in mobile banking and the app fills in everything needed for the transfer: account number, amount, variable symbol and currency. Nobody has to retype a string of digits, so the usual source of misdirected payments disappears.

For a sole trader (OSVČ — a self-employed person registered for a trade in Czechia) that has one practical benefit: collecting sooner. The less work it takes a client to pay you, the earlier the money lands in your account.

The SPD format: the Czech standard for payment QR codes

Czech payment QR codes use the SPD format (Short Payment Descriptor), maintained by the Czech Banking Association. Because the structure is the same everywhere, the same code can be read by any banking app that supports QR Platba.

How an SPD string is built

An SPD code is a text string with a strictly defined structure. It opens with the format and version identifier and continues with data fields separated by asterisks:

  • ACC — the payee's account in IBAN form (for example CZ6508000000192000145399)
  • AM — the amount to pay (for example 15000.00)
  • CC — the currency code under ISO 4217 (CZK for Czech crowns, EUR for euros)
  • X-VS — the variable symbol, typically the invoice number
  • X-SS — the specific symbol (optional)
  • DT — the due date (optional)
  • MSG — a message for the payee (optional)

The finished string inside the code looks like this:

SPD*1.0*ACC:CZ6508000000192000145399*AM:15000.00*CC:CZK*X-VS:20260001*MSG:Faktura 20260001

The format is compact and unambiguous. Even so, scan your own code once before you send the invoice and compare the account, amount, currency and variable symbol against what is printed on the document.

Which banks read it

The mobile apps of the large Czech banks generally support the SPD format. What the function is called and where it sits in the app differs between banks and between app versions, so the invoice must always carry the payment details in plain text as well.

In practice the code is usable by any client whose banking app supports QR Platba. After scanning, they still need to check the account, amount, currency and variable symbol before they confirm.

How it works in practice

From the client's side

  1. The client receives the invoice, as a PDF by email or on paper
  2. They open mobile banking and choose the option to pay by QR code
  3. They scan the code with the phone camera
  4. The app fills in the account number, amount, variable symbol and currency
  5. They check the details and confirm the payment

That is a few taps instead of copying four separate values across from another screen, which is where typos come from.

From the issuer's side

As the person issuing the invoice you do nothing extra, provided your invoicing software supports QR codes. You need correct payment details on file — the IBAN and the currency — and the software builds the code for each invoice itself. No manual encoding and no external tools.

What a QR code does for your business

Invoices get paid sooner

The code removes the retyping of the account, amount and variable symbol, so a client can pay straight from the phone instead of leaving the invoice for later. The code on its own is no guarantee of a payment on time: the due date you set, delivering the invoice to the right person and the client's own payment discipline all still matter.

Fewer misdirected payments

A mistyped variable symbol or account number causes real work. The payment does not match the invoice, you have to trace it, and the client may get chased for money they have already sent. A QR code takes out the copying mistakes, but it does not replace checking the details before confirming.

A professional impression

An invoice with a QR code looks current and considered. The client can see you use present-day tools and that you care about making the working relationship easy. A small thing, but small things add up.

Better cash flow

Any friction you remove from paying can help cash flow. It matters just as much, though, to set a realistic due date, deliver the invoice to the right person and keep track of what is still unpaid.

Technical detail

IBAN versus the Czech account number

SPD requires the account in IBAN form. If you only know the domestic format (prefix-number/bank code), convert it — most banks offer the conversion inside internet banking. A Czech IBAN is always 24 characters long and starts with CZ.

How much data fits

A QR code has limited capacity. For payments that is not a problem in practice, because the SPD string is short. Put an over-long text in the MSG field, though, and the code can become hard to read. Keep the message to roughly 60 characters.

Currency and cross-border payments

SPD supports any currency with an ISO 4217 code. If you invoice in euros, the CC parameter simply becomes EUR. Remember that the code carries your IBAN, so the client pays that specific account — for euro payments it is worth holding a euro account with its own IBAN. In Taxorio the QR code is printed only when you have a bank account in the currency of the invoice on file — without a euro account, a euro invoice carries no QR code. On a euro invoice Taxorio prints the code in the EPC (SEPA) standard, which banking apps outside Czechia read as well.

QR codes and VAT

A payment QR code has no bearing on the tax content of the invoice. It is purely a payment aid. The document still has to carry every statutory particular, including the correct DPH (Czech VAT) rates — in 2026 that means 21 % or 12 %. The code only makes the transfer itself easier.

What to do if your software cannot generate one

If your current invoicing tool does not produce QR codes, you have a few options:

  • Move to software that supports them — the cleanest route, because the code is then produced automatically
  • Online generators — web tools where you enter the payment details and download the code as an image to paste onto the invoice. Workable, but fiddly and easy to get wrong.
  • Generate it yourself — technically confident users can build the code with a library, which is rarely practical for everyday business.

The most efficient answer is invoicing software that builds the code from the invoice's own payment details. In Taxorio, QR payments are switched on by default; once you fill in a bank account, the SPD code is printed on invoices that are issued or overdue, provided the account is in the currency of the invoice. Credit notes and tax documents for a payment received never carry one, because there is nothing left to pay on them.

Common questions

Does the code work on a printed invoice?

Yes. It works as well on paper as on screen — the client scans it straight off the printout. What matters is that it is large enough (at least 2 x 2 cm) and printed cleanly.

What if the client has no mobile banking?

The code is an extra, not a replacement. The invoice still carries all the payment details in text, so the client can pay the usual way through internet banking or at a branch.

Is a QR code compulsory?

No. There is no legal duty to put one on an invoice. It is a courtesy to your clients; only the statutory particulars of the invoice are mandatory.

Can a client misuse the code?

No. It contains only the data needed to send a payment to your account. Nobody can use it to reach your account or to do anything other than send a transfer with those details pre-filled.

In short

An SPD payment QR code is a simple aid that removes the retyping of payment details and makes paying easier for the client. Czech banking apps commonly read it in 2026 — but always verify that the account, amount, currency and variable symbol you get after scanning match the invoice.

If you are not putting codes on your invoices yet, it is a change worth making.

Taxorio scope: Taxorio provides invoicing and income/expense records for Czech sole traders. It is not full accounting or personalised tax advice. For an unsupported or unusual case, verify the treatment with a Czech accountant or tax adviser before filing.