Funktionalität
Das Plugin erweitert das OpenSource Zeiterfassungstool Kimai und ermöglicht es auf den Rechnungsvorlagen den Schweizer-QR-Code inkl. dessen Referenz anzuzeigen. Der Source-Code wird auf GitHub zur Verfügung gestellt.
Voraussetzungen
Damit das Plugin richtig funktioniert, müssen folgende Voraussetzungen gegeben sein:
-
Postleitzahl, Ort und Strasse müssen bei der eigenen Adresse sowie der Kundenadresse vorhanden sein.
Eigene Adresse: Administration -> Kunden -> [Firma] -> Adresse
Kundenadresse: Administration -> Kunden -> [Kunde] -> Adresse -
Die Strasse inkl. Nummer muss auf der letzten verwendeten Adresszeile (von drei) zu finden sein. z.B:

-
Im Feld Bankverbindung darf nur die “IBAN” oder “QR-IBAN/QRR-ID” stehen:
- Normale IBAN: Die Referenz startet mit “RF…”.
- QR-IBAN/QRR-ID: Diese speziell von der Bank zur Verfügung gestellte IBAN muss zusammen mit einer QRR-ID verwendet werden. Diese sechs Nummern der QRR-ID sind gleichzeitig die ersten sechs Ziffern der Referenz und können frei gewählt werden. Evtl. müssen die Nummern mit einem externen Buchhaltungstool übereinstimmen. Die QRR-ID wird mit einem / nach der QR-IBAN angegeben:
CHXX XXXX XXXX XXXX XXXX X/000000
Verwendung
Das Plugin erstellt bei der Rechnungserstellung zwei neue Variablen. Diese können auf dem Rechnungstemplate (HTML) ganz einfach verwendet werden:
-
QR-Code (base64 kodiert):
invoice.swiss_qr_code<div class="ch_qrcode"> <img src="data:image/svg+xml;base64,{{ invoice['invoice.swiss_qr_code'] }}" alt="Swiss QR Code"/> </div> -
QR-Referenz (RF… / 27-Zeichen Nummer):
invoice.swiss_qr_reference
Ein fertiges Rechnungstemplate findet sich im Ordner invoice. Dies kann unter var/invoices (Ordner muss zuerst erstellt werden) der Kimai Installation abgelegt und verwendet werden.
Screenshot

Technisches
Kompatibilität
Es gibt zwei Versionen des Plugin:
1.0.0Kimai <=2.40 - unstrukturierte Adresse2.0.0Kimai >=2.41 - strukturierte Adresse
Benötigt
- PHP >= 8.0
- sprain/swiss-qr-bill >= 4
- endroid/qr-code >= 4.4.4
- phpseclib/bcmath_compat >= 2.0
Installation
-
Plugin kopieren
cd var/plugins/ git clone https://github.com/eudo1111/kimai-swiss-qr.git SwissQrBundle -
Dependencies installieren
cd SwissQrBundle composer install -
Vorlage kopieren
mkdir ../../invoices cp invoice/qr-template.html.twig ../../invoices/qr-bill.html.twig cd ../../../ -
Cache löschen
cd ../../../ bin/console kimai:reload
Support
Für Fragen oder Anliegen bitte ein GitHub Issue erstellen.
Credits
- sprain/swiss-qr-bill - Swiss QR-Codes PHP Library
- HansPaulHansen/swissqr - Rechnungstemplate
Lizenz
MIT
Voraussetzungen Plugin Version 1
Damit das Plugin in der Version 1 richtig funktioniert, muss folgende Voraussetzung gegeben sein:
-
Die letzten zwei Zeilen der eigene Adresse sowie der Kundenadresse müssen wie folgt aussehen:
Teststrasse 11
8011 TestEigene Adresse: Rechnungen -> Vorlagen -> [Vorlage] -> Adresse
Kundenadresse: Administration -> Kunden -> [Kunde] -> Adresse