Schweiz: QR-Rechnung und ISO 20022 im ERP verarbeiten
Kurz gesagt
In der Schweiz erzeugt Ihr ERP die QR-Rechnung aus den Rechnungsdaten und füllt die Zeilen des Swiss QR Code. Für die QR-Referenz brauchen Sie eine QR-IBAN; die Begrenzung der QR-IBAN und der QR-Referenz auf Rechnungen in Franken führt Version 2.4 ab 14. November 2026 ein, bis dahin lässt Version 2.3 sie für Rechnungen in Franken und in Euro zu; die Währungszeile des Codes kennt ohnehin nur CHF und EUR. Mit einer gewöhnlichen IBAN sind nur die Creditor Reference oder eine unstrukturierte Mitteilung möglich. Zahlungseingänge ordnet das ERP über die Referenz zu, die in der camt-Meldung auf Transaktionsebene steht.
Das Wichtigste
- QR-Rechnung, Swiss QR Code und camt-Meldungen sind Standards der SIX Interbank Clearing, kein Gesetz; sie binden über die Vereinbarung mit Ihrer Bank.
- QR-Referenz: 26 frei vergebene numerische Stellen plus Prüfziffer nach Modulo 10 rekursiv; 27 Zeichen, nur mit QR-IBAN; Version 2.3 lässt sie für Rechnungen in Franken und in Euro zu, Version 2.4 ab 14. November 2026 nur noch für Franken.
- Creditor Reference: RF auf Position 1 und 2, Prüfziffer nach Modulo 97-10 auf Position 3 und 4, 5 bis 25 Zeichen, nur mit IBAN.
- Der Datenhaushalt des Swiss QR Code umfasst 34 Zeilen; der Code ist mit Fehlerkorrekturstufe M zu erzeugen und misst beim Druck 46 x 46 mm.
- Mit dem Inkrafttreten der Version 2.3 (SIC-Release vom 21. November 2025, Stichtag des Factsheets: 22. November 2025) sind im Swiss QR Code nur noch strukturierte Adressen mit dem Adress-Typ S zulässig.
- Das ERP prüft vor der Weiterverarbeitung die Zeileninhalte des Swiss QR Code und die Kombination aus Konto und Referenztyp (Implementation Guidelines QR-Rechnung, Kapitel 7.1).
Die QR-Rechnung ist kein Gesetz, sondern eine Market Practice des Schweizer Finanzplatzes: SIX Interbank Clearing gibt die Implementation Guidelines heraus, die Finanzinstitute setzen sie in ihrem Angebot um. Für Ihr ERP hat der Gegenstand zwei Richtungen: Bei der Ausgangsrechnung schreibt es den Zahlteil und damit den Swiss QR Code, bei den Zahlungseingängen liest es die Referenz aus der Kunden-Bank-Meldung und gleicht sie mit dem offenen Posten ab.
Was Sie vorab brauchen
- Gutschriftkonto und QR-IBAN. Für Zahlungen mit der QR-Referenz brauchen Sie neben Ihrer IBAN eine QR-IBAN Ihrer Bank; sie trägt eine QR-IID aus dem Bereich 30000 bis 31999 und dient nur Zahlungseingängen (Fachliche Informationen zur QR-IID und QR-IBAN, Ziffer 1.3.2, 3.1 und 3.3.1).
- Die Referenzart. QR-Referenz nur mit QR-IBAN; Version 2.3 lässt sie für Rechnungen in Franken und in Euro zu, Version 2.4 ab 14. November 2026 nur noch für Rechnungen in Franken. Creditor Reference nur mit IBAN, oder keine Referenz; im Code stehen die Kennzeichen QRR, SCOR und NON, und die Währungszeile lässt nur CHF und EUR zu.
- Die geltende Version. Version 2.3 gilt seit 21. November 2025 und noch bis November 2027, Version 2.4 ab 14. November 2026 (Einführung mit dem SIC-Release vom 13. November 2026).
- Ein Nummernkreis für Referenzen und ein Feld am offenen Posten, das die Referenz unverkürzt und ohne Leerschläge aufnimmt.
- Ein Generator für den Swiss QR Code und die Ausgabe als Papier oder PDF.
- Für den Eingang: der Import der Meldungen camt.053 und camt.054 und ein Prozess für Eingänge ohne Referenz.
Wie der Zahlteil aufgebaut ist
Der Zahlteil hat fünf Bereiche: Titel, Swiss QR Code, Betrag, Angaben und Weitere Informationen. Der Empfangsschein steht zwingend links daneben und wiederholt die Angaben, aber ohne die zusätzlichen Informationen; QR-Code und weitere Informationen hat er nicht. Der Zahlteil misst 148 x 105 mm, der Empfangsschein 62 x 105 mm; die Leerbereiche des Zahlteils sind mindestens 5 mm breit und bleiben unbedruckt (Kapitel 2.2 und 3.5). Im Bereich Angaben stehen die Werte aus dem Code unter festen Überschriften in dieser Reihenfolge:
| Überschrift | Inhalt |
|---|---|
| Konto / Zahlbar an | IBAN oder QR-IBAN in Viererblöcken, darunter Name und Adresse des Zahlungsempfängers |
| Referenz | QR-Referenz in Fünferblöcken, beginnend mit zwei Zeichen, oder Creditor Reference in Viererblöcken |
| Zusätzliche Informationen | unstrukturierte Mitteilung, gegebenenfalls mit den Rechnungsinformationen |
| Zahlbar durch | Name und Adresse des Zahlungspflichtigen, wenn sie im Code stehen |
Die eigentlichen Zahlungsdaten liegen im Swiss QR Code. Der Datenhaushalt reicht von Zeile 1 bis 34.
| Zeile | Element | Status | Regel |
|---|---|---|---|
| 1-3 | QRType, Version, Coding | Pflicht | feste Werte «SPC», «0200» und «1» |
| 4 | Konto / Zahlbar an | Pflicht | IBAN oder QR-IBAN, 21 Zeichen, ohne Leerschläge, nur CH- oder LI-Landescode |
| 5-6 | Adress-Typ und Name des Zahlungsempfängers | Pflicht | Typ «S» für strukturierte Adresse; Name höchstens 70 Zeichen, wie die Kontobezeichnung |
| 7-8 | Strasse, Hausnummer | optional | höchstens 70 beziehungsweise 16 Zeichen |
| 9-10 | Postleitzahl, Ort | bedingt | höchstens 16 und 35 Zeichen; wegen der Pflicht zur strukturierten Adresse immer zu liefern |
| 11 | Land | Pflicht | zweistelliger Ländercode nach ISO 3166-1 |
| 12-18 | Endgültiger Zahlungsempfänger | nicht befüllen | Zeilen liefern, Inhalt leer lassen |
| 19 | Betrag | optional | 0.01 bis 999’999’999.99, Punkt als Dezimaltrennzeichen, zwei Nachkommastellen; fehlt er, ergänzt ihn der Zahler von Hand |
| 20 | Währung | Pflicht | nur «CHF» oder «EUR» |
| 21-27 | Zahlbar durch | optional | strukturierte Adresse des Zahlungspflichtigen; bei Verwendung der Gruppe sind Adress-Typ, Name, Postleitzahl, Ort und Land zu befüllen, Strasse und Hausnummer bleiben optional |
| 28 | Referenztyp | Pflicht | «QRR» mit QR-IBAN, «SCOR» oder «NON» mit IBAN |
| 29 | Referenz | bedingt | QR-Referenz mit 27 Zeichen oder Creditor Reference mit 5 bis 25 Zeichen; bei «NON» leer |
| 30 | Unstrukturierte Mitteilung | optional | höchstens 140 Zeichen, zusammen mit Zeile 32 gerechnet |
| 31 | Trailer | Pflicht | fester Wert «EPD» |
| 32 | Rechnungsinformationen | zusätzlich | höchstens 140 Zeichen, beginnt mit «//», wird nicht mit der Zahlung weitergegeben; entfällt, wenn ungenutzt und keine weitere Zeile folgt |
| 33-34 | Alternative Verfahren | zusätzlich | je höchstens 100 Zeichen, höchstens zwei Einträge; entfallen wie Zeile 32, wenn ungenutzt |
Für alle Zeilen gelten dieselben Regeln: Die Elemente werden durch eine Zeilenschaltung getrennt, jede Zeile wird geliefert und bleibt leer, wenn sie keinen Inhalt hat; allein die mit «A» gekennzeichneten Zeilen 32 bis 34 (Rechnungsinformationen und Alternative Verfahren) entfallen, wenn sie ungenutzt sind und keine weitere Zeile danach verwendet wird. Auffüllen mit Leerzeichen auf die Maximallänge ist nicht zulässig, und der Code darf höchstens 997 Zeichen enthalten. Der Code ist mit Fehlerkorrekturstufe M zu erzeugen, misst beim Druck unabhängig von der Version 46 x 46 mm und trägt in der Mitte ein schwarz-weisses Kreuz von 7 x 7 mm; um ihn herum liegt eine Ruhezone von vier Modulen, die der Style Guide auf 5 mm erweitert (Implementation Guidelines QR-Rechnung, Kapitel 4.1.3, 4.1.4 und Tabelle 7, Kapitel 6.1 bis 6.4.2).
Im Bereich Betrag steht das Währungskürzel links vor dem Betrag, im Aufdruck trennt ein Leerzeichen die Tausender. Steht im Code kein Betrag, druckt das ERP ein leeres Feld mit schwarzen Eckmarken, das der Zahlungspflichtige ausfüllt.
Schritt für Schritt: QR-Rechnung erzeugen
Schritt 1: Konto und Referenzart festlegen
Entscheiden Sie pro Rechnungssteller-Konto, welche Kombination gilt, und halten Sie sie in den Stammdaten fest: QR-IBAN mit QRR oder IBAN mit SCOR, oder IBAN mit NON. Die Kombinationen sind gegeneinander abgeschlossen; eine QR-IBAN kann nur mit der QR-Referenz stehen. Ergebnis: Für jedes Konto ist eine zulässige Kombination hinterlegt, QR-IBAN und IBAN getrennt.
Schritt 2: Referenz bilden
Vergeben Sie die QR-Referenz je Rechnung einmalig und ändern Sie sie nach dem Versand nicht mehr: Nach den Swiss Business Rules wird eine Kundenreferenz in der Regel über die ganze Verarbeitungskette unverändert weitergereicht, sofern die Systeme in der Abwicklung das unterstützen (Kapitel 3.2.2 und 3.2.2.1). Die 26 Stellen darf Ihr ERP frei belegen; für den automatischen Abgleich braucht jede Rechnung ihre eigene Kennung. Ein Beispielschema: sechs Stellen Kundennummer, danach die Rechnungsnummer im Restfeld rechtsbündig, also links mit Nullen auf die verbleibenden 20 Stellen aufgefüllt. Aus der Kundennummer 100042 und der Rechnungsnummer 1234 wird damit die Ziffernfolge 10004200000000000000001234, sechs Stellen Kundennummer und 20 Stellen Rechnungsnummer. Speichern Sie die Referenz als Zeichenkette, nicht als Zahl.
Schritt 3: Prüfziffer rechnen
Die 27. Stelle ist die Prüfziffer nach Modulo 10 rekursiv (Implementation Guidelines QR-Rechnung, Anhang B). Ihr ERP arbeitet die 26 Stellen von links nach rechts ab und führt einen Übertrag mit; die Ziffer ist die Spalte, der Übertrag die Zeile einer Matrix, der Kombinationswert wird der neue Übertrag. Die Prüfziffer ist 10 minus letzter Übertrag, bei Übertrag 0 also 0.
Beispielrechnung für die Ziffernfolge 10004200000000000000001234: Startübertrag 0. Die ersten sechs Ziffern ergeben die Überträge 9, 5, 2, 4, 3 und 2. Für die folgenden Nullen und die Ziffern 1, 2, 3, 4 liefert die Matrix die Überträge 4, 8, 3, 6, 7, 1, 9, 5, 2, 4, 8, 3, 6, 7, 1, 9, 0, 4, 1 und als letzten Übertrag 2. Damit ist die Prüfziffer 8, die Referenz lautet 100042000000000000000012348. Auf dem Zahlteil wird sie in Fünferblöcken gedruckt: 10 00420 00000 00000 00000 12348; in die Datei und in jedes Referenzfeld gehört sie ohne Leerschläge.
Bei der Creditor Reference gilt eine andere Rechenregel: Sie darf nur mit einer IBAN verwendet werden, ist 5 bis 25 Zeichen lang, beginnt auf Position 1 und 2 mit «RF» und trägt auf Position 3 und 4 die Prüfziffer nach Modulo 97-10. Sie darf nicht verändert werden. Ergebnis: Eine Testrechnung trägt eine Referenz, deren Prüfziffer das ERP beim Lesen wieder bestätigt.
Schritt 4: Adresszeilen aus den Stammdaten füllen
Seit dem Inkrafttreten der Version 2.3 lässt der Swiss QR Code nur noch strukturierte Adressen mit dem Adress-Typ «S» zu (SIC-Release vom 21. November 2025, das Factsheet nennt den 22. November 2025 als Stichtag); das Factsheet der SIX zur Übergangsfrist nennt als Pflichtfelder Ort und Land, die Implementation Guidelines zusätzlich die Postleitzahl (Kapitel 4.3.1). Der Name im Code muss mit dem Namen übereinstimmen, unter dem das Gutschriftkonto geführt wird. Ergebnis: Jede Zahlungsadresse im ERP hat Strasse, Hausnummer, Postleitzahl, Ort und Ländercode getrennt gespeichert.
Schritt 5: Swiss QR Code erzeugen
Bauen Sie die Zeilen 1 bis 34 in der festgelegten Reihenfolge zusammen und übergeben Sie die Zeichenfolge dem Generator der Bank oder einer Bibliothek. Prüfen Sie zum Schluss, dass das erzeugte Bild 46 x 46 mm gross ist und das Kreuz trägt (Kapitel 6.4 und 6.4.2) und dass die Zeilen gültige Werte tragen; Kapitel 7.1 der Guidelines verlangt die Prüfung der Zeileninhalte samt der Kombination aus Konto und Referenztyp, bevor die Werte weiterverarbeitet werden. Ergebnis: Ein Scanner liest aus dem ausgedruckten PDF dieselben Werte, die im ERP am offenen Posten stehen.
Schritt 6: Rechnung und Zahlteil ausgeben
Die Implementation Guidelines kennen den Zahlteil integriert in ein Papierdokument, als Beilage zu einem Papierdokument und als PDF-Datei; die PDF-Fassung ist für das E- und M-Banking gedacht (Kapitel 3.1 und 3.7). Der Zahlteil gehört auf die untere Schnittkante oder an eine Perforation und darf nicht als Werbeträger dienen. Die Pflichtangaben der Rechnung selbst stehen im Rechnungskopf, nicht im Zahlteil: Der Leistungserbringer muss dem Leistungsempfänger auf Verlangen eine Rechnung ausstellen, die beide Parteien und die Art der Leistung eindeutig identifiziert und das Entgelt, den anwendbaren Steuersatz und den geschuldeten Steuerbetrag nennt; schliesst das Entgelt die Steuer ein, genügt der Steuersatz (Art. 26 Abs. 1 und 2 MWSTG). Ergebnis: Die Rechnung trägt ihre Pflichtangaben und einen lesbaren Zahlteil.
Schritt für Schritt: Zahlungseingänge zuordnen
Schritt 1: Meldungstyp festlegen
Die Gutschriftsanzeige kommt als camt.054, die Auflösung einer Sammelbuchung entweder innerhalb des camt.053 oder als separate camt.054. Nicht jedes Finanzinstitut bietet die externe Auflösung an; klären Sie mit Ihrer Bank, welchen Weg sie liefert. Eine Buchung kann zugleich einzeln und als Teil einer Sammelbuchung avisiert werden; die Dublette erkennen Sie am Element Account Servicer Reference auf Stufe der einzelnen Transaktion (Implementation Guidelines Kunde-Bank-Meldungen, Kapitel 2.2 bis 2.4).
Schritt 2: Sammelbuchung auflösen
Zu jeder Gutschrift aus dem standardisierten Verfahren liefern die camt.05x-Meldungen eine Identifikation im Element Entry Reference (Swiss Business Rules, Kapitel 4.3.1). Bei einer QR-IBAN besteht sie aus der QR-IBAN allein (Variante 1) oder aus der QR-IBAN und den ersten sechs Stellen der QR-Referenz (Variante 2); bei einer IBAN aus der IBAN (Variante 3) oder der IBAN und den Stellen 5 bis 10 der Creditor Reference (Variante 4). Diese Identifikation gruppiert die Sammlung und ersetzt nicht die Referenz der einzelnen Rechnung (Swiss Business Rules, Kapitel 4.3.1 und 4.3.2).
Schritt 3: Referenz auf Transaktionsebene lesen
Auf Stufe der einzelnen Transaktion steht die Referenz im Element Creditor Reference Information, die Zeichenfolge selbst im Unterelement Reference. Den Typ trägt bei der Creditor Reference das Element Code mit dem Wert SCOR, bei der QR-Referenz das Element Proprietary mit dem Wert QRR. Fehlt eine strukturierte Referenz, bleibt nur der unstrukturierte Text.
Schritt 4: Referenz normalisieren und zuordnen
Vergleichen Sie die Zeichenfolge mit dem Referenzfeld des offenen Postens, ohne Leerschläge. Auf Gross- und Kleinschreibung kommt es dabei nicht an: Bei den Banken wird in der Verarbeitung nicht zwischen ihnen unterschieden (Implementation Guidelines QR-Rechnung, Kapitel 4.2.2). Führt die Referenz auf genau einen offenen Posten, gehört der Eingang dorthin; ausgeglichen ist der Posten erst, wenn der Betrag passt oder die Differenz begründet gebucht ist. Wie offene Posten geführt werden, beschreibt Offene Posten und Debitorenliste.
Schritt 5: Eingänge ohne Referenz behandeln
Bei einer Zahlung aus dem Ausland über Swift oder SEPA auf eine QR-IBAN ist nicht sichergestellt, dass die QR-Referenz vorliegt oder vollständig ist; den Entscheid über Gutschrift oder Rückweisung trifft das Institut des Zahlungsempfängers. Für solche Eingänge empfehlen die Swiss Business Rules die Einzelgutschrift ohne QR-IBAN im Element Entry Reference, den Verzicht auf die Sammlung und die Weitergabe der Angaben als unstrukturierte Information (Kapitel 4.3.3). Suchen Sie diese Eingänge über Betrag, Name und unstrukturierten Text und halten Sie den Entscheid fest. Ergebnis: Jeder Eingang ist zugeordnet oder liegt mit Begründung in einer Warteschlange.
Wenn etwas nicht klappt
| Symptom | Ursache | Abhilfe |
|---|---|---|
| Die Bank weist den Zahlungsauftrag zurück | Prüfziffer falsch, Kombination aus Konto und Referenztyp unzulässig oder Zeile fehlerhaft | Kombination prüfen (QR-IBAN nur mit QRR), Prüfziffer nachrechnen, Zeichenfolge aus dem Code übernehmen statt abtippen |
| Die Referenz hat 26 statt 27 Zeichen oder es fehlen führende Nullen | Das Referenzfeld ist im ERP oder in der Datenbank als Zahl abgelegt | Referenz als Zeichenkette speichern und importieren; Länge 27 am offenen Posten erzwingen |
| Die Bank findet die Referenz nicht wieder | Leerschläge aus dem Aufdruck oder aus dem Formular sind mitgespeichert | Fünferblöcke sind Darstellung; in Datei und Datenbank steht die Folge ohne Leerschläge |
| Im Kontoauszug steht nur die IBAN | Die Buchung liegt in einer Sammelbuchung | Entry Reference auswerten und die Auflösung im camt.053 oder camt.054 einlesen |
| Zwei Eingänge tragen dieselbe Referenz | Dieselbe Zahlung erscheint einzeln und in einer Sammelbuchung | Über Account Servicer Reference auf Transaktionsebene die Dublette erkennen und nur einmal buchen |
| Eine Rechnung in Euro trägt QR-IBAN und QR-Referenz | Version 2.4 lässt die Kombination ab 14. November 2026 nur für Rechnungen in Franken zu; Version 2.3 lässt sie für beide Währungen zu und gilt noch bis November 2027 | Euro-Rechnungen nach Version 2.3 bis November 2027 weiterlaufen lassen; neue Euro-Rechnungen auf IBAN mit Creditor Reference oder unstrukturierter Mitteilung umstellen |
| Der Code lässt sich nicht lesen | Adress-Typ «K», falsche Modulgrösse oder zu kleine Ausgabe | Strukturierte Adresse «S» erzeugen, Fehlerkorrekturstufe M, 46 x 46 mm, Ruhezone einhalten |
So prüfen Sie das Ergebnis
- Rechnen Sie die Prüfziffer einer erzeugten Referenz nach und vergleichen Sie die 27 Zeichen mit dem Wert am offenen Posten.
- Suchen Sie im Nummernkreis nach doppelten Referenzen, bevor die Rechnungen versandt werden.
- Lesen Sie den gedruckten Code mit demselben Scanner, den die Kundschaft nutzt, und vergleichen Sie die Zeilen 4, 19, 20, 28 und 29 mit den Stammdaten.
- Importieren Sie eine camt.054 mit einer Zahlung auf eine Ihrer QR-Rechnungen im Testsystem; prüfen Sie, dass die Zuordnung ohne Handeingriff entsteht, dass eine zweite Sendung derselben Datei keine zweite Buchung erzeugt und dass die Summe der zugeordneten Eingänge dem Total der Meldung entspricht.
Welche Testfälle sonst zu einer Anbindung gehören, ordnet Schnittstellen vor dem Start testen ein.
Wann Sie Hilfe holen sollten
- Ihre Bank liefert weder eine camt.054 noch die Auflösung im camt.053, oder sie liefert die Referenz gekürzt oder ergänzt zurück.
- Sie stellen auf Version 2.4 um und müssen Rechnungen in Euro oder laufende Serienrechnungen vorziehen.
- Sie wollen die Rechnungsinformationen in Zeile 32 nutzen: Im Implementation-Guidelines-Dokument steht die Syntaxdefinition nur als Beispiel (Anhang D); die jeweils aktuelle Fassung publiziert die SIX auf www.qr-rechnung.ch.
Die Eingangsseite, also das Einlesen fremder QR-Rechnungen und das Bezahlen, behandelt QR-Rechnung im ERP verarbeiten; wie die Meldungen ins ERP kommen, steht in Bankanbindung des ERP und im Formatvergleich Kontoauszug: camt.053 oder MT940.