In diesem Abschnitt lernen Sie wie eine Offline-Signatur (Ausfall der TSE) generiert wird und welche Daten hier vom FiskalClient zurückgegeben werden.
In manchen Fällen ist es möglich, dass eine TSE nicht mehr funktioniert (Hardwaredefekt, Cloud-TSE hat keine Verbindung zur CSP, ...). In diesem Fall kann normal weiter kassiert werden, das System kümmert sich automatisch um eine Offline-Signatur und sobald wieder eine TSE verfügbar ist auch um die entsprechende Nachsignierung.
Szenarien, in welchen ein Ausfall einer TSE auftreten kann:
- TSE-Ausfall nur bei createDocument
- TSE-Ausfall nur bei storeDocument/cancelDocument
- TSE-Ausfall bei createDocument und storeDocument/cancleDocument
Das Fiskal-System erledigt in allen Szenarien für die korrekte Abwicklung des TSE-Ausfalls. Je nach Szenario werden allerdings unterschiedliche Rückgabeobjekte (FiscalResponse) an das Kassensystem geschickt.
TSE-Ausfall nur bei createDocument
In diesem Fall ist nur das Öffnen der Transaktion auf der TSE fehlgeschlagen (createDocument).
Das Fiskalsystem liefert eine spezielle Antwort:
{
"FiscalCountry":0,
"FiscalisationDocumentNumber": -99,
"FiscalisationDocumentRevision":0,
"FiscalDocumentStartTime":0,
"ProcessStartTime":0,
"ErrorDescription":"Tse connection error.",
"CashRegisterId":"3656-1",
"Signature":"Tse not connected.",
"UserMessage":"Tse not connected.",
"PrintMessage":"TSE ausgefallen.",
"RequestTime":"2021-09-07T07:07:09.5139728+02:00",
"RequestCompletionTime":"2021-09-07T07:07:09.7981746+02:00",
"AdditionalFields":
{
"QrCodeDataString":"", -- empty
"TransactionStartTime":0, -- zero
"TransactionEndTime":1630991229,
"ProcessData":"", -- empty
"ProcessType":"Kassenbeleg-V1",
"TseSerial":"7eeda69cb6fa8e78970150675ad03716fad85394447d6947d7a863b6cb6e5b3c",
"TseTimeFormat":"unixTime",
"TseHashAlgorithm":"ecdsa-plain-SHA256",
"TsePublicKey":"", -- empty
"TseSignatureCounter":0, -- zero
"TseCertificate":"Tse not connected."
}
}
Der Prozess für das Kassensystem ist derselbe wie bei einer regulären Belegübermittlung. Senden Sie einfach die gespeicherten Werte der Fiskalantwort (mit Fiskalbelegnummer für TSE-Verbindungsfehler) an storeDocument. Das Fiskalsystem kümmert sich um die automatische Erstellung der Transaktion vor der Speicherung des Dokuments (Signierung) und antwortet mit einer regulären Fiskalantwort an storeDocument.
TSE-Ausfall nur bei storeDocument/cancelDocument
Beispiel einer Antwort des Fiskalsystems, in diesem Fall:
{
"FiscalCountry":0,
"FiscalisationDocumentNumber":0,
"FiscalisationDocumentRevision":0,
"FiscalDocumentStartTime":0,
"ProcessStartTime":0,
"ErrorDescription":"Tse connection error.",
"CashRegisterId":"3656-1",
"Signature":"Tse not connected.",
"UserMessage":"Tse not connected.",
"PrintMessage":"TSE ausgefallen.",
"RequestTime":"2021-09-07T07:07:09.5139728+02:00",
"RequestCompletionTime":"2021-09-07T07:07:09.7981746+02:00",
"AdditionalFields":
{
"QrCodeDataString":"", -- empty
"TransactionStartTime":0, -- zero
"TransactionEndTime":1630991229,
"ProcessData":"", -- empty
"ProcessType":"Kassenbeleg-V1",
"TseSerial":"7eeda69cb6fa8e78970150675ad03716fad85394447d6947d7a863b6cb6e5b3c",
"TseTimeFormat":"unixTime",
"TseHashAlgorithm":"ecdsa-plain-SHA256",
"TsePublicKey":"", -- empty
"TseSignatureCounter":0, -- zero
"TseCertificate":"Tse not connected."
}
}
Nach Ende des TSE-Ausfalls, kümmert sich das Fiskalsystem automatisch um die Nachsignierung aller während des Ausfalls erzeugten und gespeicherten Belege. Das Kassensystem muss an dieser Stelle nichts tun.
TSE-Ausfall bei createDocument und storeDocument/cancelDocument
Der Vorgang wie Daten an das Fiskalsystem zu schicken sind, bleibt vollständig gleich, das Kassensystem muss diesbezüglich nicht angepasst werden. Einzig das Rückgabeobjekt FiscalResponse unterscheidet sich von einer normalen Signatur:
{
"FiscalCountry":0,
"FiscalisationDocumentNumber":0,
"FiscalisationDocumentRevision":0,
"FiscalDocumentStartTime":0,
"ProcessStartTime":0,
"ErrorDescription":"Tse connection error.",
"CashRegisterId":"3656-1",
"Signature":"Tse not connected.",
"UserMessage":"Tse not connected.",
"PrintMessage":"TSE ausgefallen.",
"RequestTime":"2021-09-07T07:07:09.5139728+02:00",
"RequestCompletionTime":"2021-09-07T07:07:09.7981746+02:00",
"AdditionalFields":
{
"QrCodeDataString":"", -- empty
"TransactionStartTime":0, -- zero
"TransactionEndTime":1630991229,
"ProcessData":"", -- empty
"ProcessType":"Kassenbeleg-V1",
"TseSerial":"7eeda69cb6fa8e78970150675ad03716fad85394447d6947d7a863b6cb6e5b3c",
"TseTimeFormat":"unixTime",
"TseHashAlgorithm":"ecdsa-plain-SHA256",
"TsePublicKey":"", -- empty
"TseSignatureCounter":0, -- zero
"TseCertificate":"Tse not connected."
}
}
Nach Ende des TSE-Ausfalls, kümmert sich das Fiskalsystem automatisch um die Nachsignierung aller während des Ausfalls erzeugten und gespeicherten Belege. Das Kassensystem muss an dieser Stelle nichts tun.
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.