Die QR-Code Anzeige sieht wie folgt aus:



Es gibt die Möglichkeit, den QR-Code via WebCam einzulesen, oder per Tastatur. Falls man mit einem Handscanner arbeitet, sollte man diesen auf "Tastaturemulation" stellen, mit dem deutschen Tastaurlayout.

Falls man mehrere QR-Codes hintereinander validieren möchte, bietet sich die Einstellung "Automatisches Validieren" an. In der Config kann man Einstellen, wie viele Millisekunden vergehen sollen, nachdem bei einer Änderung des Inputs die Validierung automatisch angestoßen wird. Der Standardwert ist 500ms. 


An diesem Bild erkennt man, dass direkt nach der Validierung der Focus wieder auf die Textbox gegeben und der komplette Text markiert wird. Dadurch kann man z.B. via Handscanner einen QR-Code nachdem anderen validieren, ohne die Maus oder Tastatur benutzen zu müssen. 


Zusätzlich kann man das Ergebnis der Validierung als PDF-exportieren. Der Abfalleimer dient dazu, alle Daten wieder zu resetten. Bei einem Klick auf die PKI (Public-Key-Infrastructure )-Anzeige bekommt man die PKI Informationen zu genau dieser Seriennummer zurück. 

In diesem Beispiel hat der QR-Code validiert, aber die PKI konnte das Zertifikat nicht bestätigen. In diesem Fall hat das den Hintergrund, dass eine ältere Development-TSE für das Erstellen des QR-Codes verwendet worden ist.


Die Validierung läuft in mehreren Schritten ab: 


  1. Einlesen der Daten. Falls der QR-Code vom beschriebenen Standard der DSFinV-K abweicht (zu wenige Felder, im Transaktionszähler ist ein Buchstabe,...) wird das als Fehler ausgegeben.
  2. Falls formell alles passt wird die Signatur validiert. Falls es hier fehlschlägt ist der Grund schwerer zu finden. Weil dann stimmt der Wert eines der Felder nicht mit den Werten der TSE überein (z.B. Zeit um 1 Sekunde falsch übergeben, ClientId Groß/Kleinschreibung, andere ProcessData als auf der TSE),
  3. Ist der Signatur-Check erfolgreich wird die PKI validiert.


Wie wird der QR-Code validiert?

Die Verifikation des QR-Codes erfolgt in mehreren Stufen: 

- Nachbauen der Logmessages aus den Belegdaten

- Die Signatur wird mit dem public Key verschlüsselt und mit dem Hashwert der Logmessage verglichen (Vereinfacht gesagt. Genaueres steht in den TR-03111). 

- Wenn identisch: Verifikation OK

- Sichtvergleich der Rechnungsdaten im QR-Code mit den Rechnungsdaten des Beleges: Wenn gleich 2. Verifikation OK

- Überprüfen des Zertifikats gegenüber der PKI/Meldeverfahren: 3. Verifikation OK


Durch diese Schritte wird sichergestellt, dass 

- Die Daten auf dem Beleg auch die Daten sind, die an die TSE geschickt wurden

- Diese Daten nicht verändert wurden/manipuliert wurden

- Eine gültige TSE eingesetzt wird

- Umsatzdaten vollständig an die TSE Übertragen wurden.