QR-Rechnung in Odoo erstellen und verbuchen
Kurz gesagt
In Odoo 20.0 (Modul l10n_ch, öffentlicher Community-Zweig 20.0) setzt Odoo den Zahlteil der QR-Rechnung auf die letzte Seite der Kundenrechnungs-PDF, ohne eine zusätzliche Seite anzuhängen; nötig sind ein Empfängerkonto vom Typ IBAN, ein Kunde in der Schweiz oder Liechtenstein, das Steuerland Schweiz (ersatzweise eine CH-QR-IBAN am Empfängerkonto) und die Währung CHF oder EUR. Zu einer QR-IBAN gehört eine QR-Referenz mit 27 Zeichen, die Odoo beim Mitteilungsstandard Schweiz am Kundenrechnungsjournal aus der Rechnungsnummer bildet; den Zahlungseingang erfassen Sie direkt an der Rechnung (Zahlen, Invoicing, in beiden Editionen), den Bankabgleich führt der Editionsvergleich nur in der Enterprise-Spalte der App Buchhaltung. Die QR-Funktion ist nur im Community-Zweig belegt; für Enterprise, Odoo Online und Odoo.sh klären Sie sie vor dem ersten Versand und im Angebot.
Das Wichtigste
- Den Zahlteil der QR-Rechnung setzt Odoo auf die letzte Seite der Kundenrechnungs-PDF; Gutschriften, Lieferanten- und Eingangsrechnungen erhalten keinen Zahlteil.
- Bedingungen für den Zahlteil im Zweig 20.0: Kontotyp IBAN, Kundenland Schweiz oder Liechtenstein, Währung CHF oder EUR, Steuerland der Firma Schweiz (oder Empfängerkonto mit CH-IBAN und Bank-IID 30000 bis 31999).
- Die QR-IBAN verlangt eine Bank-IID von 30000 bis 31999 und eine QR-Referenz mit 27 Zeichen.
- Mit dem Feld Mitteilungsstandard Schweiz am Kundenrechnungsjournal bildet Odoo beim Buchen die QR-Referenz aus der Rechnungsnummer.
- Der Zahlteil zeigt den offenen Restbetrag der Rechnung, nicht den Rechnungstotal.
- Version 2.4 des SIX-Regelwerks (gültig ab 14. November 2026) lässt QR-IBAN und QR-Referenz nur für CHF-Rechnungen zu; Version 2.3 bleibt bis November 2027 gültig.
Die QR-Rechnung ist der Zahlteil mit Swiss QR Code und Empfangsschein, den Ihre Kundschaft mit der Bank-App einliest, am Postschalter einzahlt oder als Zahlungsauftrag einreicht. In Odoo gehört sie zur Rechnung: Im öffentlichen Community-Zweig 20.0 setzt das Modul Switzerland - Accounting (l10n_ch) den Zahlteil auf die letzte Seite der Rechnungs-PDF, eine eigene Belegseite entsteht nicht und ein eigener Druckbefehl ist nicht nötig. Grundlage ist das Regelwerk von SIX (Swiss Payment Standards), das die Einzahlungsscheine am 1. Oktober 2022 abgelöst hat; ein Gesetz ist es nicht, sondern eine Vorgabe, die sich laut Kapitel Specifications for the QR-bill an Rechnungssteller, Banken und Softwareanbieter richtet, und nach Kapitel Legal and protection of the QR-bill verletzt jede Abweichung die Rechte von SIC Ltd.
Was Sie vorab brauchen
- Ein Bankkonto mit CH- oder LI-IBAN und, falls Ihre Bank eines vergeben hat, die QR-IBAN dazu.
- Die vollständige Adresse Ihrer Firma am Kontakt, dem das Bankkonto gehört: Strasse mit Hausnummer, PLZ, Ort, Land.
- Beim Kunden: Land Schweiz oder Liechtenstein sowie PLZ, Ort und Land im Kontakt.
- Die App Buchhaltung (Accounting) mit einem Bankjournal und einem Verkaufsjournal (Kundenrechnungen); für die Schritte 1 und 2 brauchen Sie Administratorrechte in der Buchhaltung.
- Für den zweiten Weg in Schritt 7 (Zahlungsverkehr im Bankabgleich) die Edition Enterprise: Der Editionsvergleich führt Bank Statement Reconciliation nur in der Zeile Comprehensive Accounting der Enterprise-Spalte; den Zahlungseingang direkt an der Rechnung erfassen Sie dagegen schon mit Invoicing, das in beiden Spalten steht.
- Eine Bank-App, um den Zahlteil vor dem Versand zu prüfen.
Schritt für Schritt: Rechnung erstellen, Zahlteil prüfen, Zahlung verbuchen
Schritt 1: Bankkonto und QR-IBAN erfassen
Öffnen Sie Buchhaltung ‣ Konfiguration ‣ Journale und dann Ihr Bank-Journal. Im Feld Bankkontonummer liegt die Haupt-IBAN; ein Klick darauf öffnet das Bankkonto. Hat Ihre Bank zusätzlich eine QR-IBAN vergeben, tragen Sie sie im Feld QR-IBAN ein. Die Feldhilfe nennt den Zweck: Die Haupt-IBAN bleibt in der Kontonummer, den Barcode bestückt die QR-IBAN. Das Feld erscheint nur bei einem Kontakt oder einer Firma mit Land Schweiz oder Liechtenstein. Odoo prüft die Eingabe: Die Nummer muss eine CH- oder LI-IBAN sein und eine Bank-IID aus dem Bereich 30000 bis 31999 tragen, sonst meldet es «QR-IBAN «…» ist ungültig» oder «QR-IBAN Nummern sind nur in der Schweiz gültig». Endstand: Das Konto trägt beide Nummern.
Schritt 2: Mitteilungsstandard am Kundenrechnungsjournal setzen
Bleiben Sie in Buchhaltung ‣ Konfiguration ‣ Journale, öffnen Sie aber das Journal Kundenrechnungen (Customer Invoices) und nicht das Bankjournal: Die QR-Referenz entsteht aus dem Journal der Rechnung. Klicken Sie auf Bearbeiten und wählen Sie den Reiter Erweiterte Einstellungen. In der Gruppe Zahlungsreferenzen stehen Mitteilungsart (Communication Type) und Mitteilungsstandard (Communication Standard); die deutschsprachige Dokumentation nennt das Feld Standardreferenz. Dieses Feld gibt es nur bei Journalen vom Typ Verkauf, ein Bankjournal zeigt es nicht. Ist als Land Ihres Unternehmens die Schweiz erfasst, ist Schweiz der voreingestellte Wert neu angelegter Journale; kontrollieren Sie ihn trotzdem. Wählen Sie Schweiz (12 34560 00103 88500 1000 19188) und speichern Sie. Genau diesen Weg beschreibt die offizielle Seite Switzerland für die Referenz am Rechnungsjournal.
Beim Buchen einer Kundenrechnung, deren Feld Zahlungsreferenz noch leer ist, bildet Odoo dann eine QR-Referenz aus der Rechnungsnummer: alle Ziffern der Nummer, bei mehr als 26 Ziffern nur der hintere Teil, links mit Nullen auf 26 Stellen aufgefüllt, als 27. Stelle die Prüfziffer nach Modulo 10 rekursiv. Führt das Empfängerkonto keine QR-IBAN, entsteht keine QR-Referenz; eine selbst erfasste Gläubigerreferenz nach ISO 11649 erscheint dann als SCOR auf dem Zahlteil (Schritt 5).
Schritt 3: Adressen vervollständigen
Version 2.3 des Regelwerks lässt als Adresstyp nur die strukturierte Adresse zu (Code «S», Kapitel 4.2.2 und 4.3.1). Odoo zerlegt darum die Strasse in Strassenname und Hausnummer, zieht bei Bedarf das Feld Strasse 2 hinzu und übernimmt PLZ (bis 16 Zeichen), Ort (bis 35 Zeichen) und das Länderkürzel. Zeichen ausserhalb des lateinischen Zeichensatzes entfernt das Modul aus Namen, Strasse und zusätzlichen Informationen. Fehlt beim Kunden oder beim Inhaber des Bankkontos PLZ, Ort oder Land, bricht der Druck mit einer Fehlermeldung ab.
Schritt 4: Kundenrechnung anlegen
Buchhaltung ‣ Kunden ‣ Ausgangsrechnungen und dort Neu. Der Kunde muss sein Land in der Schweiz oder in Liechtenstein haben, als Währung sind CHF und EUR zugelassen. Das Feld Empfängerbank (Recipient Bank) belegt Odoo mit einem Bankkonto Ihrer Firma vor; sind mehrere erfasst, wählen Sie bewusst das Konto mit der QR-IBAN. Die Zuordnung der Zahlung im Bankabgleich prüft Odoo am Verwendungszweck (Label) der Banktransaktion: Ist an der Transaktion kein Partner hinterlegt, vergleicht Odoo diesen Verwendungszweck mit Nummer, Kundenreferenz, Rechnungsreferenz und Zahlungsreferenz bestehender Rechnungen und Zahlungen (Schritt 7, Bankabgleich nur in Enterprise).
Schritt 5: Referenzart prüfen
Welche Referenz auf den Zahlteil kommt, entscheidet die Kombination aus dem Empfängerkonto der Rechnung und der Zahlungsreferenz.
| Empfängerkonto der Rechnung | Referenzart im QR-Code | Was auf dem Zahlteil steht | Bedingung |
|---|---|---|---|
| IBAN ohne QR-IBAN | NON | keine Referenz, nur Betrag, Konto und Adressen | Zahlungsreferenz fehlt oder ist keine Gläubigerreferenz |
| IBAN ohne QR-IBAN | SCOR | Gläubigerreferenz nach ISO 11649, 5 bis 25 Zeichen, beginnend mit RF | Zahlungsreferenz ist eine gültige Gläubigerreferenz |
| QR-IBAN | QRR | QR-Referenz mit 27 Zeichen, in Fünferblöcken | Zahlungsreferenz ist eine gültige QR-Referenz: 26 Ziffern plus Prüfziffer |
Kapitel 4.3.2 des Regelwerks bindet die Referenzarten an das Konto: Eine QR-Referenz setzt eine QR-IBAN voraus, eine Gläubigerreferenz nach ISO 11649 dagegen eine gewöhnliche IBAN. Fehlt bei einer QR-IBAN die gültige QR-Referenz, bricht der Druck mit einer Fehlermeldung ab. Version 2.4 der Guidelines, gültig ab 14. November 2026, lässt QR-IBAN (Kapitel 2.10) und QR-Referenz (Kapitel 2.12.1) nur für Rechnungen in Schweizer Franken zu; für Euro-Rechnungen nennt sie nur die Kombination IBAN mit Gläubigerreferenz oder mit unstrukturierter Mitteilung. Version 2.3 von 21. November 2025 bleibt laut Change control der Version 2.4 bis November 2027 gültig. Im gelesenen Zweig 20.0 haben wir keine Prüfung gefunden, die die Referenzart an die Währung bindet; das Modul baut den Zahlteil auch für eine Euro-Rechnung mit QR-IBAN und QR-Referenz. Kontrollieren Sie Euro-Zahlteile von Hand.
Schritt 6: Rechnung buchen, drucken und den Zahlteil prüfen
Nach Bestätigen und Drucken (Print) setzt Odoo den Zahlteil mit Empfangsschein auf die letzte Seite der Rechnungs-PDF; eine zusätzliche Seite entsteht nicht. Das Modul prüft dabei in zwei Stufen: Vor dem Druck müssen Kontotyp IBAN, Kundenland Schweiz oder Liechtenstein und Währung CHF oder EUR zusammenpassen; dazu muss das Steuerland der Firma die Schweiz sein oder das Empfängerkonto eine CH-IBAN mit Bank-IID 30000 bis 31999 führen. Fällt eine dieser Bedingungen durch, bleibt der Zahlteil weg und die Rechnung wird ohne ihn gedruckt. Beim Aufbau des Zahlteils kommen die Adressangaben und die Referenz dazu; ein Fehler dort bricht den Druck ab, statt den Zahlteil stillschweigend wegzulassen.
Auf dem Empfangsschein und im Zahlteil stehen Währung, Betrag, Ihr Konto (die QR-IBAN, wenn erfasst), die Referenz und zusätzliche Informationen sowie die Rollen Konto / Zahlbar an und Zahlbar durch mit den jeweiligen Adressen; der Swiss QR Code im Zahlteil trägt das Schweizer Kreuz in der Mitte. Der Betrag ist der offene Restbetrag der Rechnung, nicht der Rechnungstotal: Beispielrechnung — aus einer Rechnung über CHF 1’245.00, auf der bereits CHF 200.00 bezahlt sind, druckt Odoo einen Zahlteil über CHF 1’045.00. Prüfen Sie vor dem Versand Kontonummer, Referenz und Betrag sowie die Zeile Zusätzliche Informationen; bei einer QR- oder Gläubigerreferenz zeigt sie die Kundenreferenz oder die Rechnungsnummer.
Schritt 7: Zahlungseingang verbuchen
Zwei Wege führen zum Ziel. Den ersten Weg bietet Invoicing, das der Editionsvergleich in beiden Spalten führt: Auf der gebuchten Rechnung Zahlen (Pay) wählen, Journal und Zahlungsdatum bestätigen und Zahlung erstellen; die Rechnung steht danach auf In Zahlung. Ist in der Zahlungsmethode des Bankjournals das Hauptbankkonto als ausstehendes Konto (Outstanding Account) eingetragen, springt sie bei vollständiger Zahlung direkt auf Bezahlt, ohne dass eine Bankabstimmung nötig ist. Den zweiten Weg, den Zahlungsverkehr im Bankabgleich, führt der Editionsvergleich ausschliesslich in der Zeile Comprehensive Accounting der Enterprise-Spalte: Dort klicken Sie im Buchhaltungsdashboard auf den Namen Ihres Bankjournals oder die Schaltfläche Transaktionen, öffnen die importierte Transaktion mit Abstimmen, markieren den Rechnungsposten und wählen Auswählen. Ist an der Transaktion kein Partner hinterlegt, vergleicht Odoo ihren Verwendungszweck mit Nummer, Kundenreferenz, Rechnungsreferenz und Zahlungsreferenz bestehender Rechnungen und Zahlungen; steht die QR-Referenz im importierten Verwendungszweck, ordnet Odoo die Zahlung auch ohne Kundennamen zu. Die automatische Zuordnung stützt sich damit auf den Verwendungszweck der eingelesenen Transaktion; prüfen Sie am ersten Auszug Ihrer Bank, ob sie die Referenz dort mitliefert. Den Import von Kontoauszügen behandelt Schweizer Bankanbindung in Odoo: CAMT und ISO 20022.
Ist der Zahlbetrag kleiner als die Rechnung, gilt die Transaktion als vollständig abgestimmt und der Rest bleibt offen; ist er grösser, bleibt sie teilweise abgestimmt. Differenzen schliessen Sie über einen weiteren Posten, über Konto festlegen oder über die Markierung vollständig bezahlt. Ohne hinterlegtes ausstehendes Konto setzt erst die Abstimmung der Banktransaktion die Rechnung auf Bezahlt. Trägt die Rechnung Ist-Versteuerung (Cash-Basis), legt Odoo beim Abstimmen der Banktransaktion zusätzlich eine Buchung für den Steuerbetrag an; die Zahlung ist also nicht in jedem Fall steuerneutral. Den Ablauf des Bankabgleichs beschreibt Bankabstimmung in Odoo: Zahlungen den Rechnungen zuordnen. Die Schritte folgen der offiziellen Dokumentation Bank reconciliation (20.0; deutschsprachig 20.0: Bankabstimmung); den Editionsumfang nennt der Editionsvergleich.
So prüfen Sie das Ergebnis
- Vergleichen Sie Betrag und Währung auf dem Zahlteil mit dem offenen Betrag der Rechnung.
- Prüfen Sie am Ausdruck oder in der PDF, dass der Zahlteil auf der letzten Seite liegt und keine Rechnungszeile überdeckt: Odoo hängt keine zusätzliche Seite an.
- Lesen Sie den Swiss QR Code mit der Bank-App ein und vergleichen Sie Kontonummer, Betrag und Referenz mit dem Zahlteil.
- Zählen Sie die Referenz nach: 27 Zeichen, nicht ausschliesslich Nullen, keine abweichende Zahl gegenüber dem Feld Zahlungsreferenz.
- Prüfen Sie bei Firma und Kunde PLZ, Ort und Land; fehlt eines davon, bricht der Druck mit einer Fehlermeldung ab.
- Nach dem Zahlungseingang: Die Rechnung steht auf Bezahlt — mit dem Hauptbankkonto als ausstehendem Konto schon nach der vollständigen Zahlung, sonst nach der Abstimmung der Banktransaktion; im Bankjournal bleibt keine Zeile auf dem Zwischenkonto liegen.
Wenn etwas nicht klappt
| Symptom | Ursache | Abhilfe |
|---|---|---|
| Kein Zahlteil an der PDF | Kundenland nicht CH oder LI, Währung weder CHF noch EUR, Konto keine IBAN oder Steuerland der Firma nicht Schweiz | Land, Währung und Steuerland am Datensatz korrigieren, Konto am Journal prüfen |
| Der Druck bricht mit einer Fehlermeldung ab | PLZ, Ort oder Land fehlen beim Kunden oder beim Inhaber des Bankkontos, oder eine QR-IBAN steht ohne gültige QR-Referenz | Adresse ergänzen, Zahlungsreferenz als QR-Referenz mit 27 Zeichen erfassen |
| Die QR-IBAN steht ohne QR-Referenz, obwohl die Adressen stimmen | Der Mitteilungsstandard Schweiz fehlt am Journal der Rechnung; Odoo bildet die QR-Referenz nur dort | Mitteilungsstandard am Journal der Rechnung auf Schweiz stellen; für die bereits gebuchte Rechnung die Zahlungsreferenz als QR-Referenz erfassen (26 Ziffern mit Nullen aufgefüllt, dazu die Prüfziffer) |
| Odoo nimmt die QR-IBAN nicht an | Die Nummer ist keine CH- oder LI-IBAN, oder die Bank-IID liegt ausserhalb von 30000 bis 31999 | Nummer mit der Bank abklären; QR-IBANs vergibt die Bank |
| Der Zahlteil zeigt keine Referenz | Das Konto führt keine QR-IBAN, und die Zahlungsreferenz ist keine Gläubigerreferenz | Gläubigerreferenz nach ISO 11649 erfassen oder QR-IBAN bei der Bank verlangen |
| Die Zahlung wird im Bankabgleich (Edition Enterprise) nicht vorgeschlagen | Betrag, Referenz oder Partner weichen ab, etwa bei Teilzahlung, Skonto oder Sammelzahlung, oder die QR-Referenz steht nicht im Verwendungszweck der eingelesenen Transaktion | Verwendungszweck im Auszug prüfen, Transaktion sonst manuell abstimmen |
Wann Sie Hilfe holen sollten
- Für die Wahl zwischen QR-IBAN, QR-Referenz und Gläubigerreferenz ist Ihre Bank die richtige Stelle: Sie vergibt die QR-IBAN und weiss, welche Referenzart sie für Ihre Rechnungen verlangt.
- Bei Anzahlungen, Raten und Skonto verändert sich der offene Restbetrag und damit der Betrag auf dem Zahlteil; klären Sie das mit Ihrer Treuhand.
- Die Zahlung verändert Rechnung und Bankkonto; trägt die Rechnung Ist-Versteuerung (Cash-Basis), legt Odoo beim Abstimmen der Banktransaktion zusätzlich eine Buchung für den Steuerbetrag an. Die Rechenwege in die MWST-Abrechnung stehen in MWST-Abrechnung aus Odoo.
- Die Aussagen zum Zahlteil sind im öffentlichen Community-Zweig 20.0 des Moduls l10n_ch belegt; die offizielle Schweizer Seite der Version 20.0 nennt die QR-Rechnung nicht und beschreibt nur den Einzahlungsschein. Der Bankabgleich in Schritt 7 gehört laut Editionsvergleich dagegen zur Edition Enterprise. Für Enterprise, Odoo Online und Odoo.sh prüfen Sie die QR-Rechnung deshalb vor dem ersten Versand und klären den Funktionsumfang im Angebot.