Einzahlungsscheine mit Python erstellen

Di, 22. Juni 2021, Marco

In der Schweiz ist es seit Ende Juni 2020 möglich, dass Rechnungen nicht mehr nur mit den alten orangen und roten Einzahlungsscheinen bezahlt werden. Neu gibt es auch die Möglichkeit, dass Rechnungen mit einem QR-Code ausgestellt werden können. Ein wichtiger Punkt der neuen QR-Rechnung ist, dass diese auf weisses Papier gedruckt werden kann und so auch einfach erstellt werden kann ohne die orangen resp. roten Vorlagen. Die Python-Bibliothek qrbill kann hier für Leute, die eine Rechnung erstellen müssen, sicherlich hilfreich sein. Der Initiator des Projekts, Claude Paroz, hat den Quelltext der Bibliothek auf Github unter der GPLv3-Lizenz veröffentlicht.

Die Bibliothek kann ganz einfach mit dem folgenden Befehl installiert werden:

pip install qrbill

Nach der Installation kann die Bibliothek entweder direkt als Kommandozeilenprogramm verwendet oder in eigene Python-Programme eingebunden werden. Nachfolgend möchte ich kurz zeigen, wie die Kommandozeilenversion mit einer minimalen Anzahl Argumenten genutzt werden kann:

qrbill --account "CH44 3199 9123 0008 8901 2" --creditor-name "Robert Schneider AG" --creditor-postalcode 2501 --creditor-city "Biel"

Das obere Beispiel generiert eine Rechnung, welche lediglich den Empfänger des Betrags in der Rechnung direkt aufdruckt. Absender, Betrag und weitere Informationen müssen bei diesem Beispiel manuell von der Kundin ausgefüllt werden. Bei der Verwendung des Kommandozeilenprogramms wird ein SVG generiert, welches danach genutzt werden kann. Mit der Option -h ist es möglich, sich die einzelnen Parameter von qrbill anzeigen zu lassen. Im README des Repositories wird ausserdem ein komplexeres Beispiel aufgeführt und die Verwendung der Bibliothek in einem Python-Programm dargestellt. Die Nutzung in einem eigenen Python-Programm bietet natürlich weitere Vorteile. So ist es problemlos möglich, den Einzahlungsschein in andere Formate zu konvertieren oder automatische Rechnungen erstellen, wenn die zugrundeliegenden Daten aus einer Datenbank ausgelesen werden.

Hinweis zur dargestellten Rechnung: Es gibt weder Pia Rutschmann aus Rorschach noch gibt es die Robert Schneider AG aus Biel. Dies sind fiktive Namen, welche für QR-Rechnungsbeispiele verwendet werden. Weiteres zu den Namen findet man hier.

Quellen:

Hallo
Geschrieben von Hallo am 22. Juni 2021

Danke für den Hinweis ! In kommerziellen Progammen gibt es immer wieder Fehler bei der Generierung von QRCode Rechnungen. Kein UTF-8, wie im Standard definiert, d.h. Umlaute halt wie unter Windows (oder macOS) üblich, keine strukturierten Adressen, sondern teilweise unstrukturiert, teilweise strukturiert. Bin gespannt, wie es mit diesem Programm läuft. Die roten EInzahlungsscheine werden früher oder später abgeschafft. Aktuell werden solche mit IBAN Kontonummern anstatt den alten Postkontonummern noch verschickt.

Marco Admin
Geschrieben von Marco am 22. Juni 2021

Hey Hallo, sehr gerne! Ich hoffe, dass das Erstellen von Rechnungen für dich mit diesem Programm funktioniert. Ansonsten gibt es bei diesem Programm ja immer noch die Möglichkeit Issues zu erstellen.