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:
- Hintergrundwissen zur neuen QR-Rechnung: https://www.kmu.admin.ch/kmu/de/home/praktisches-wissen/finanzielles/buchhaltung-und-revision/einfuehrung-der-qr-rechnung.html
- Repository der Python-Bibliothek: https://github.com/claudep/swiss-qr-bill
Dauauf habe ich gewartet. Danke! Das macht vieles leichter.
Ich habe gelesen, dass es python nun auch für webseiten gibt (WASM?) Das als kleines html file wäre echt super. Weiss da wer was?
Super! Welches GNU/Linux ist als Betriebssystem zu empfehlen? Ich möchte das in einem LXC-Container benutzen. Ganz toll für für Noobs wie mich ein fertiger Container für Proxmox!