BMF-RKSV-Technik / at-registrierkassen-mustercode

111 stars 39 forks source link

Fehlermeldung "registrierkassen algorithmus kennzeichen" #608

Open Nilix5 opened 7 years ago

Nilix5 commented 7 years ago

Ich erhalte bei folgendem Datensatz

_R1-AT1_Kassa-4077_0000000034_2017-05-25T19:24:53_3,20_1,50_0,00_0,00_0,00_tYgwpFZ1+NF8J2GnJBjoXQ==487E89D8/EMCsQuqX+w=_VCQIotIAaPwXNulmUuuHhECtCMJyfXVzDgRWg0MzHjyMYs5Nwjdu5GKnv4t/2osQhHn4sUdmj10Wz9eZ9xnZtg==

eyJhbGciOiJFUzI1NiJ9. X1IxLUFUMV9LYXNzYS00MDc3XzAwMDAwMDAwMzRfMjAxNy0wNS0yNVQxOToyNDo1M18zLDIwXzEsNTBfMCwwMF8wLDAwXzAsMDBfdFlnd3BGWjErTkY4SjJHbkpCam9YUT09XzQ4N0U4OUQ4Xy9FTUNzUXVxWCt3PQ. VCQIotIAaPwXNulmUuuHhECtCMJyfXVzDgRWg0MzHjyMYs5Nwjdu5GKnv4t_2osQhHn4sUdmj10Wz9eZ9xnZtg

eine Fehlermeldung:

{ "verificationId" : "VERIFICATION_FROM_CASHBOX", "version" : 1, "verificationName" : "Prüfergebnis - Kasse", "verificationTextualDescription" : "Bei der Belegprüfung wird untersucht, ob die Vorgaben der RKSV in Bezug auf den maschinenlesbaren Code am Beleg und auf die meldepflichtigen Metadaten der Sicherheitseinrichtung befolgt werden. Im Fehlerfall sind die genauen Fehlerinformationen nachfolgend angeführt.", "verificationState" : "FAIL", "verificationResultDetailedMessage" : "Der vorliegende Beleg weist Fehler im maschinenlesbaren Code auf. Am besten, Sie übermitteln zur Problembehandlung die nachfolgende Fehlerbeschreibung an Ihren Kassenhersteller.", "verificationTimestamp" : "2017-06-02T15:43:36.275+02:00", "verificationResultList" : [ { "verificationId" : "CONSTRAINTS_PRE_DB", "version" : 1, "verificationName" : "Minimalanforderungen an den maschinenlesbaren Code vor Detailprüfungen", "verificationTextualDescription" : "In diesem Modul und den dazugehörigen Submodulen werden verschiedene Minimalanforderungen an den maschinenlesbaren Code überprüft bevor weitere Detailprüfungen durchgeführt werden.", "verificationState" : "FAIL", "verificationTimestamp" : "2017-06-02T15:43:36.276+02:00", "verificationResultList" : [ { "verificationId" : "BASICCONSTRAINTS", "version" : 1, "verificationName" : "Minimale Formatanforderungen an den maschinenlesbaren Code", "verificationTextualDescription" : "In diesem Modul und den dazugehörigen Submodulen werden die minimalen Formatanforderungen an den maschinenlesbaren Code überprüft.", "verificationState" : "PASS", "verificationTimestamp" : "2017-06-02T15:43:36.276+02:00", "verificationResultList" : [ { "verificationId" : "BASICCONSTRAINTS_RECEIPT_LENGTH", "version" : 1, "verificationName" : "Formatprüfung: Länge des maschinenlesbaren Codes", "verificationTextualDescription" : "Es wird überprüft ob der maschinenlesbare Code eine Länge von minimal 100 bis maximal 1000 Zeichen hat.", "verificationState" : "PASS", "verificationTimestamp" : "2017-06-02T15:43:36.276+02:00" }, { "verificationId" : "BASICCONSTRAINTS_NUMBER_OFELEMENTS", "version" : 1, "verificationName" : "Formatprüfung: 13 Elemente im maschinenlesbaren Code vorhanden", "verificationTextualDescription" : "Es wird überprüft ob 13 Elemente (Trennung durch ) im maschinenlesbaren Code vorhanden sind.", "verificationState" : "PASS", "verificationTimestamp" : "2017-06-02T15:43:36.276+02:00" } ] }, { "verificationId" : "RKSUITE", "version" : 1, "verificationName" : "Überprüfung des Registrierkassenalgorithmuskennzeichen", "verificationTextualDescription" : "Es wird überprüft ob das erste Element des maschinenlesbaren Codes - das Registrierkassenalgorithmuskennzeichen - korrekt formatiert ist.", "verificationState" : "FAIL", "verificationTimestamp" : "2017-06-02T15:43:36.276+02:00", "verificationResultList" : [ { "verificationId" : "FORMAT_RK_STRING", "version" : 1, "verificationName" : "Formatprüfung: Registrierkassenalgorithmuskennzeichen", "verificationTextualDescription" : "Es wird überprüft ob das erste Element des maschinenlesbaren Codes - das Registrierkassenalgorithmuskennzeichen - korrekt formatiert ist.", "verificationState" : "FAIL", "verificationTimestamp" : "2017-06-02T15:43:36.276+02:00" } ] } ] } ] }

Weiss jemand warum?

ErichFreitag commented 7 years ago

Zum Beispiel, weil der Teil Umsatzzähler-Seriennummer-Verkettungswert falsch ist: tYgwpFZ1+NF8J2GnJBjoXQ==487E89D8/EMCsQuqX+w=

Nilix5 commented 7 years ago

Und was ist daran Falsch?

_R1-AT1_Kassa-4077_0000000034_2017-05-25T19:24:53_3,20_1,50_0,00_0,00_0,00 _tYgwpFZ1+NF8J2GnJBjoXQ== //Umsatz 487E89D8 //Seriennummer /EMCsQuqX+w= //Signatur vorbeleg _VCQIotIAaPwXNulmUuuHhECtCMJyfXVzDgRWg0MzHjyMYs5Nwjdu5GKnv4t/2osQhHn4sUdmj10Wz9eZ9xnZtg==

lebail commented 7 years ago

Das war wohl ein Darstellungs-"Fehler" auf Github. Im ursprünglichen Beitrag waren manche Unterstriche als Kursivschrift-Steuerzeichen interpretiert worden und wurden dadurch unsichtbar.

Nilix5 commented 7 years ago

ah ok

Nilix5 commented 7 years ago

Das Registrierkassenalgorithmuskennzeichen ist doch richtig drin

Nilix5 commented 7 years ago

Hier mal als Bild dep

ErichFreitag commented 7 years ago

Was prüfen sie genau? Den QR-Code mit dem QR-Code-Prüftool? Den DEP-Export mit dem Export-Prüftool? Bitte posten sie das gesamte Material als Dateien.

Nilix5 commented 7 years ago

Ich prüfe das DEP format mit:

a -jar regkassen-verification-depformat-1.0.0.jar -v -f -i C:\xxx\DEP_Export.json -c C:\xxx\Prueftool\cryptographicMaterialContainer.json -o C:\xxx\Out

Es ist Beleg Nr 34

Beleg 34.zip DEP_Export.zip Prüftool out.zip

ErichFreitag commented 7 years ago

Es ist folgendermaßen:

Die Fehlermeldung kommt beim Beleg Nr. 35 (und nicht bei 34). Grund ist, dass das Prüftool den ersten Beleg mit der Nummer 00 zählt.

Der Beleg 35 (und einige folgende) sind Fälle, wo die Signaturerstellungseinheit ausgefallen ist. Bei diesen Belegen fehlt a) die Angabe des VDA und b) die Seriennummer:

_R1-__0000000035_2017-05-25T19:28:37_4,40_0,00_0,00_0,00_0,00_zjknVZaGxyN5Hj9yXHAKJQ==__nQ4Zuv4ztlc=.

Was sie bei Ausfall der Sicherheitseinrichtung hier machen müssen, ist ein gültiges Zertifikat zu verwenden, also beispielsweise den VDA und die Seriennummer jenes Zertifikats, mit dem zuletzt erfolgreich signiert wurde.

Nilix5 commented 7 years ago

Super danke