Swiss QR-bill: what it is and what OpenBusinessERP prints
The QR-bill replaced the orange and red payment slips in October 2022. QR-IBAN with QR reference, SCOR or no reference, and what the invoice slip in OpenBusinessERP does and does not do yet.
Not legal or tax advice. This page summarises public rules and describes what the software does. It does not replace advice from your tax adviser. The linked official sources, in their current version, are what counts.
In Switzerland and Liechtenstein invoices are paid with the QR-bill. This page summarises what the SIX standard requires and lists what OpenBusinessERP prints today and what it does not.
What the QR-bill is
The QR-bill is a payment part with a Swiss QR code and a receipt, on an A6 landscape slip (210 × 105 mm), usually at the foot of the invoice page. The code carries the account, the creditor, amount, currency, optionally the debtor, and a reference. It replaced the orange and red payment slips: those could be used until 30 September 2022 and have not been processed since 1 October 2022.
The payload follows the SIX Swiss Implementation Guidelines: header “SPC”, version 0200, coding 1, fields in a fixed order. Currencies are CHF and EUR. Since November 2025 addresses must be structured (address type S); the earlier combined form (type K) is no longer accepted.
The three reference types
| Type | Account | Reference |
|---|---|---|
| QRR | QR-IBAN (institution ID 30000 to 31999) | 27 digits, the last is a check digit (modulo 10 recursive) |
| SCOR | regular IBAN | ISO 11649 creditor reference, starts with “RF” |
| NON | regular IBAN | no reference; an optional message of up to 140 characters |
You get a QR-IBAN from your bank; it looks like an IBAN but is a separate account feature. With a QR-IBAN only QRR is allowed, with a regular IBAN only SCOR or NON.
What OpenBusinessERP prints
Checked in the source code:
- Payment slip in the invoice PDF: for businesses in Switzerland or Liechtenstein with a valid CH or LI IBAN, the PDF ends with an A6 landscape slip: receipt 62 mm, payment part 148 mm, separation lines, a Swiss QR code of 46 mm with the Swiss cross. Footer and page number are left off that page.
- Reference type by account: with a QR-IBAN it builds QRR, with a regular IBAN SCOR. Both derive from the invoice number: QRR from its digits (up to 26, left-padded with zeros, check digit added), SCOR from its letters and digits (up to 21 characters, ISO 11649 check digits). If no SCOR can be built for a regular IBAN, it uses NON with the invoice number as the message.
- Checks before printing: IBAN checksum, currency CHF or EUR, amount 0.01 to 999,999,999.99, field lengths, the permitted Latin character set, at most 997 characters. If a check fails, no slip is printed.
- Language: labels in German, French, Italian and English, following the document language.
- Debtor: if the customer address can be read, it goes into the code and onto the slip; otherwise the field stays empty with corner marks to fill in by hand.
When the slip appears
- The business country is Switzerland (CH) or Liechtenstein (LI), and the stored IBAN is a valid CH or LI IBAN.
- The payment QR code switch (GiroCode) in the invoice settings is on; the slip uses the same switch.
- Currency CHF or EUR, amount above 0.
- The company address can be read (see below). With a QR-IBAN the invoice number must contain at least one non-zero digit.
In every other case the invoice stays as it is. Nothing changes in other countries.
What is missing
- No check with the SIX validator: the payload is built to the guidelines and tested automatically, but it has not been run through the official SIX validation portal and is not confirmed by SIX or a bank. Check the first invoice with your bank or the portal before asking customers to pay with it.
- Helvetica only: the slip is set in the built-in Helvetica. The guidelines allow it, but there is no choice. Characters outside the standard’s Latin set mean no slip is printed.
- Address parsed from free text: there are no separate address fields. The program reads the company and customer address from the free text: last line “postcode town” with a four-digit postcode (optionally prefixed “CH-” or “LI-”), above it street and house number. If an address does not fit that pattern, the slip is missing (company) or the debtor stays empty (customer). Liechtenstein is recognised by postcodes 9485 to 9498.
- No special cases such as payment on behalf of a third party (that field stays empty) or alternative procedures.
- Matching incoming payments by QR reference was not verified here; for bank matching see Features.
What to agree with your bank
- Whether you need a QR-IBAN for QRR or work with a regular IBAN and SCOR or NON.
- How your bank reports incoming payments with a QR reference (camt.054) and whether you want to use those reports.
- A test payment with the first real invoice before you roll the process out widely.
For Swiss bookkeeping OpenBusinessERP includes the KMU chart of accounts; the charts are listed under Features. This is not legal or tax advice.
Sources
- SIX: QR-bill, overview and documents
- SIX: Swiss Implementation Guidelines QR-bill (PDF)
- SIX: QR-bill validation portal
- OpenBusinessERP: QR-bill payload, references and addresses in the source
- OpenBusinessERP: the payment slip in the invoice PDF