Swiss QR-bill
Der Swiss QR-bill ersetzte im Juli 2020 die orangen und roten Schweizer Einzahlungsscheine. Er ist ein ISO-20022-Customer-Credit-Transfer-Initiation-(pain.001)-Payload, der als QR mit obligatorischer Schweizer-Kreuz-Überlagerung in der Mitte gerendert wird. Jede Schweizer Bank akzeptiert ihn; keine Schweizer Bank akzeptiert etwas anderes.
ISO-Basis: ISO 20022
pain.001 Customer Credit Transfer Initiation. Pflicht seit: 1. Juli 2020. Ältere orange/rote Einzahlungsscheine wurden am 30. September 2022 abgelöst.
Was es ist
Das Payload ist eine zeilengetrennte (CRLF) Liste von 32 Feldern in sieben Blöcken:
QRType → Immer "SPC" Version → 0200 (v2.3) Coding → 1 (Latin-1) [Gläubigerinformationen] ← 7 Felder (IBAN + Adresse) [Endgläubiger] ← 7 Felder (optional, meist leer) [Zahlungsbetragsinformationen] ← 3 Felder (Betrag, Währung, Fälligkeit) [Endschuldner] ← 7 Felder (optional) [Zahlungsreferenz] ← 2 Felder (Referenztyp + Referenz) [Zusatzinformationen] ← 2 Felder (unstrukturierte Mitteilung + Billinginfo) [Alternative Verfahren] ← 2 Felder (optional, selten genutzt)
Der resultierende QR liegt in einem "Payment part"-Block im unteren Drittel der Rechnung. Jede Schweizer Banking-App (UBS, ZKB, PostFinance, Raiffeisen, Neon, Yuh, Revolut CH) liest ihn nativ.
QR-IBAN vs. reguläre IBAN
Eine "QR-IBAN" ist eine spezielle Schweizer IBAN, bei der der 5-stellige Bankcode-Bereich 30000–31999 ist. QR-IBANs erfordern eine strukturierte QR-Referenz (QRR, 27 Stellen, mod-10-Prüfung). Reguläre Schweizer IBANs akzeptieren Gläubigerreferenz (SCOR, RFC 8905) oder keine Referenz.
| IBAN-Typ des Gläubigers | Gültige Referenztypen | Hinweise |
|---|---|---|
| QR-IBAN (Bankcode 30000–31999) | QRR (27-stellig, mod-10) | Pflicht. SCOR und NON sind ungültig. |
| Reguläre IBAN (CH oder LI) | SCOR oder NON | QRR ist ungültig, nur QR-IBAN. |
Kanonische Testvektoren
| Fall | Eingaben | Referenztyp |
|---|---|---|
| Minimal (reguläre IBAN, kein Betrag, keine Referenz) | iban=CH9300762011623852957 | NON |
| Reguläre IBAN mit Betrag + unstrukturierter Mitteilung | (wie oben)amount=100.00 | NON |
| QR-IBAN mit QRR-Referenz | iban=CH4431999123000889012 | QRR |
| Liechtensteinische IBAN | iban=LI0508800000021904015 | NON |
Live Schweizer IBAN-Validator
Der Validator unten prüft die drei Schweiz-spezifischen Regeln: (1) Ländercode ist CH oder LI, (2) Länge ist genau 21, (3) ISO-7064-mod-97-Prüfsumme besteht. Eingefügter Text wird normalisiert (Groß-/Kleinschreibung, Leerzeichen entfernt).
Häufige Fallstricke
- Falscher Referenztyp für den IBAN-Typ. Eine QR-IBAN mit NON- oder SCOR-Referenz wird von der Bank abgelehnt. Eine reguläre IBAN mit QRR-Referenz wird ebenfalls abgelehnt. Abundera wählt den richtigen Typ automatisch; manuelle Encoder liegen hier oft falsch.
- Fehlende Schweizer-Kreuz-Überlagerung. Die QR-bill-Spec verlangt eine 7 mm × 7 mm Schweizer Flagge (weißes Kreuz auf Rot, mit 1 mm weißem Rand) zentriert auf dem QR. Dies ist nicht optional, Banking-OCR-Pipelines nutzen es als QR-bill-Signatur. Abundera überlagert es automatisch.
- QR-Modul-Fehlerkorrekturlevel. Die Spec verlangt ECC-Level M. Höhere oder niedrigere ECC-Level erzeugen einen QR, der richtig aussieht, aber von der Bank abgelehnt wird.
- Adressfeldlänge. Gläubigername, Straße, Postleitzahl, Stadt, jedes auf 70 Latin-1-Zeichen begrenzt. Zu lange Zeichenfolgen werden von manchen Encodern stillschweigend abgeschnitten, was die Abstimmung bricht.
- Nur Währung CHF oder EUR. Das QR-bill unterstützt nur zwei Währungen. Jede andere Währung wird abgelehnt.
- Referenz mod-10 vs. mod-97. QRR-Referenzen verwenden eine rekursive mod-10-Prüfsumme (Luhn-Variante). Nicht mit der mod-97-IBAN-Prüfsumme verwechseln. Selbstgeschriebene Referenzgeneratoren wenden den Luhn-Algorithmus oft falsch an.
- Latin-1, nicht UTF-8. Das Feld
Codingist "1" = Latin-1. Nicht-Latin-1-Zeichen (ä/ö/ü überleben; Kyrillisch/Chinesisch nicht) brechen manche älteren Banking-Apps.
Scanner-Kompatibilität
| Lesegerät | Unterstützung | Hinweise |
|---|---|---|
| UBS Mobile / PostFinance / ZKB-App | Nativ | Jede Schweizer Banking-App liest QR-bills nativ. |
| Neon / Yuh / Revolut CH | Nativ | Neobanken verarbeiten das vollständige pain.001-Payload. |
| iOS-Kamera | Nein | iOS behandelt einen QR-bill als Rohtext, keine Analyse. Der Nutzer muss eine Banking-App öffnen. |
| Android-Kamera / Google Lens | Nein | Gleich, keine native Analyse. |
| Kommerzielle OCR (z. B. Rechnungszahlungsdienste) | Ja | Banking-grade OCR-Tools lesen QR-bills in AP/AR-Pipelines. |
Siehe auch
- /swiss-qr-bill-generator/, der Generator mit integrierter IBAN-Validierung.
- /standards/, zurück zum Standards-Index.
- SIX Implementation Guidelines, die maßgebliche Spec.