QR invoice

Switching to the QR invoice in Switzerland

Switching to the QR invoice in Switzerland. Switching to the QR invoice in Switzerland simply explained: mandatory details, QR-IBAN, test runs and typical mistakes – a compact guide

Switching to the QR invoice in Switzerland

Switching to the QR invoice in Switzerland

Switching to the QR invoice in Switzerland. Switching to the QR invoice in Switzerland simply explained: mandatory details, QR-IBAN, test runs and typical mistakes – a compact guide

Nathan Ganser avatar
Nathan Ganser

Founder of Magic Heidi

This is why switching to the QR invoice in Switzerland does not start with the PDF, but with your processes in software, banking and accounting. Check where invoice data is captured, where the payment part is generated and where incoming payments are reconciled. After that, the switch can be completed cleanly in a short time by following the technical specifications and the exact click sequence in your accounting software. Swiss Post's introduction of the QR invoice describes the Swiss standard.

Why the QR invoice is mandatory for Swiss self-employed people

For a freelancer, a single late payment is not an abstract process problem. It affects the rent, the next software licence or simply your own salary. In the past, a single error in the ISR number or an illegible copy of a payment slip was enough to force a manual search for the incoming payment. Today, customers expect a payment part they can capture directly with their banking app.

The classic red and orange payment slips were fully phased out on 1 October 2022. The PostFinance explanation of the QR invoice positions the QR invoice as the Swiss standard for machine-readable invoices. It is designed for payments in Switzerland and Liechtenstein and supports CHF and EUR.

Practical rule: If your invoice still relies on an old ISR structure or a classic payment slip, it is not just the PDF that needs reviewing, but the entire invoicing process.

The difference becomes visible quickly in day-to-day work. The customer scans the Swiss QR code, checks the recipient and amount, and approves the payment. The software then receives structured booking information that can be matched against the open invoice. This does not eliminate every late payment, but it removes the unnecessary manual data entry from the process.

For the self-employed, this means fewer corrections and a clearer dunning process. If you want to know under what conditions the QR invoice is now considered the binding standard, you will find a compact overview in the summary of the QR invoice requirement in Switzerland.

Structure of a compliant Swiss invoice

A compliant invoice consists of more than a nice-looking QR code. The payment part must contain payment data, payer and payee details, and the chosen reference logic in the structure prescribed by SIX. The most important components are:

  • QR-IBAN or IBAN: The payee's account must match the chosen reference type.
  • Name and address: The payer's details must be stored completely and legibly.
  • Amount: The amount is stated in CHF or EUR.
  • Payment reason: Free-form payment information helps classify the invoice.
  • Receipt: The detachable section belongs to the standardised payment part.
  • QR code: The Swiss QR code contains the machine-readable payment data.
  • Reference number: It is optional, but often crucial for automatically matching incoming payments.

A numbered overview of the seven essential elements of a compliant Swiss QR invoice with explanatory text.

The payment part as a technical interface

The payment part is based on an A4 layout with a detachable section of 105 × 210 mm at the bottom. The code, the receipt and the printed details must not be shifted around freely. SIX defines the specifications for this, including reference type, currency, IBAN logic and layout.

You have three basic variants. A QR reference is combined with a QR-IBAN. A Creditor Reference follows the ISO 11649 logic. Without a reference, the payment is identified by the remaining details. Empty optional fields stay empty; they are not filled with made-up values.

The practical guide to invoicing in Switzerland helps you align invoice text, payment part and mandatory details. What matters is that the software does not merely generate the code visually, but correctly validates the data behind it.

Preparing software and bank for the switch

The switch starts with your master data, not with the PDF export. First, keep your own company address complete and up to date. This includes company name, street, house number, postal code, town and country. Then add your logo, UID and, if relevant, your VAT details. A QR invoice with a correct code but an outdated sender address looks unprofessional and makes later audits harder.

Entering the bank account correctly

The most important click concerns your account details. Enter the QR-IBAN if you work with a QR reference, and do not confuse it with your regular IBAN. The QR-IBAN is 21 characters long and falls within the IID range 30000 to 31999, as the SIX specification for the QR invoice sets out. Your bank must support the corresponding payment type for your account.

After that, open the invoice template section in your accounting software and select the Swiss QR layout. The recipient address stays in the upper part of the invoice, while the payment part is placed at the bottom. Make sure the preview actually inserts the Swiss QR code as a code image, not as an ordinary image without validated payment data.

Screenshot from /images/qr-invoice-software-master-data.png

What you check in the software

Open an existing invoice, select a test customer and check whether amount, currency, recipient and reference are carried over into the payment part automatically. Then save the PDF locally and scan the code with your banking app. If the app recognises the code but displays the wrong IBAN or amount, the invoice must not go out.

Not every software uses the same menu names. In Banana, you look for the QR layout in the settings for invoices and payment details. In Bexio, the checks are typically found under organisation, bank account and invoice template. In Sage, you also check the version of the payment standard in use and the accounts receivable settings. The click sequence varies, but the checkpoints remain the same.

Using the QR reference and QR-IBAN correctly

The two terms are often confused in projects, even though they serve different purposes. The QR-IBAN designates the receiving account for QR payments. The QR reference identifies the specific invoice within that payment route.

A QR reference contains 26 numeric characters plus a check digit. It is validated using the recursive modulo-10 procedure, must not consist only of zeros, and is only valid together with a QR-IBAN, as the current SIX Implementation Guidelines specify. Your accounting software normally calculates the check digit automatically. You should not assemble it manually.

FeatureQR reference (type 21)Creditor Reference (type 22)QR-IBAN
PurposeMatching Swiss QR paymentsInternational reference per ISO 11649Receiving account for QR payments
Format26 digits plus check digitRF reference21-character IBAN
CombinationOnly with a QR-IBANWith the designated IBAN logicOnly for incoming payments
UseAutomatic matching in the Swiss receivables processPayments with an international dimensionAccount identification

A design studio had the old account details in a template while the software continued to generate a QR reference. The customer could scan the code, but the bank rejected the combination. The quick fix was to enter the QR-IBAN in the master data, have the reference regenerated and validate the template once more.

The reverse direction matters too: a QR-IBAN is intended for incoming payments and must not be used for direct debits, as the UBS FAQ on the QR invoice explains.

Generating the QR code and testing the invoice

In the production template, amount, recipient, currency and reference should come from the invoice data. As soon as you copy these values into a separate text field, you create a second data source that can later drift apart. A Swiss QR code generated dynamically from master data is therefore more reliable in everyday use than a statically inserted code image.

Open a test invoice in Banana, Bexio or Sage and check the master data first. Then select the Swiss QR template, activate the payment part and create the PDF. Depending on the program, the buttons have different names, but the sequence is always similar: select the customer, enter the items, save the invoice, generate the QR payment part, check the PDF.

The test with the banking app

Scan the finished PDF from your screen or a printout with your own banking app. Do not just check whether the code is recognised, but also:

  • Recipient: Name and account must match the master data.
  • Amount: The amount must not be missing or show an old test value.
  • Currency: CHF and EUR must match the invoice.
  • Reference: The software must not output a truncated or altered number.
  • Address: The printed details must match the contents of the payment part.

A trial run with your own bank or an internal test account shows whether the entire route works. Also check umlauts, accents and special characters. If they are displayed incorrectly in the code, this is often due to faulty character encoding or an outdated software version.

If you want to follow the process with a browser generator or an existing PDF, you can use the QR invoice creation process as an additional reference. Only send productively once scan, visual check and accounting all show the same values.

Avoiding common mistakes during the switch

The assumption that a readable QR code is automatically a correct QR invoice regularly leads to a dead end. A scanner can recognise a code even though the IBAN, reference type or address do not fit the payment logic. The check must therefore take place both in the software and with a real banking scan.

An infographic showing five common mistakes when switching to the Swiss QR invoice with explanatory notes.

The classics in daily business

  • Old ISR IBAN: The software still uses a previous account. When paying, the combination with the QR reference is rejected. Enter the QR-IBAN and recreate the invoice.
  • Missing IBAN on the receipt: The code works, but the printed payment part is incomplete. Check the visibility of the account number in the PDF preview.
  • Incorrectly formatted IBAN: Spaces, missing characters or a swapped digit prevent validation. Let the software validate the IBAN instead of copying it from an old document.
  • Address block too short: Street, house number, postal code, town and country all belong fully in the master data. A shortened address can trigger queries or a rejection at the recipient.
  • Special characters and umlauts: Non-breaking spaces or emojis can disrupt processing. Use normal text characters and test the generated code with your banking app.
  • Missing payment information: An empty payment reason makes manual checking harder. Fill the field in sensibly, without mixing the reference and the payment reason.
  • Poor print quality: A blurry or too-small code cannot be scanned reliably. Export the PDF with the intended template and check a printout.
  • Reference with a typo: A manually altered check digit leads to rejection. Always generate the number automatically and block subsequent changes in the template process.

With old templates, piecemeal repairs are not worthwhile if several fields are maintained manually. Copy the master data into a new Swiss QR template, test with a known customer and archive the old version unambiguously.

Working cleanly after the switch

After the first successful dispatch, the real day-to-day work begins. In your accounts receivable ledger, clearly separate open QR invoices, incoming payments and manual corrections. The QR reference serves as the matching key. It links the received payment with the specific invoice, provided it was carried over unchanged.

A weekly reconciliation stays manageable thanks to this. Import the bank transactions, let the software search by reference and amount, and open only the cases where currency, amount or reference do not match. Also switch your dunning process to the reference instead of continuing old ISR fields in a parallel list.

An approach that works: One template, one current account and one defined test customer are better than several half-maintained variants.

SIX has continued to develop the Implementation Guidelines. Version 2.2 was valid from 22 February 2021. Since 22 November 2025 it has been fully replaced by version 2.3, as the technical overview of the QR invoice summarises. In practice, this means that address fields, IBAN format and validation rules do not stay unchanged forever.

Check your invoice templates regularly against the current software version. Keep company and customer addresses structured, import the available bank status files and store PDF, booking and payment reconciliation consistently in your document archive. At the first quarterly closing after the switch, compare open invoices, incoming payments and manual bookings. This shows you not only technical errors, but also whether your process actually causes less rework.


Magic Heidi creates Swiss QR invoices with automatically generated QR code, payment reference and payment tracking, and adds the payment part to an existing PDF when needed. If you want to complete the switch without scattered templates and manual references, visit Magic Heidi and check the process directly in the browser or in the app.