Dans cette section, vous apprendrez comment le système fiscal génère une signature hors ligne (en cas de défaillance du dispositif TSE) et quelles données sont renvoyées dans ce cas par le FiscalClient.
Il arrive parfois que la communication avec le TSE / TSS renvoie un message d’échec (panne matérielle, impossibilité pour le Cloud TSE de se connecter au Cloud CSP, etc.). Dans ce cas, poursuivez le processus de caisse comme d’habitude : le système fiscal crée automatiquement des signatures hors ligne et se charge de la resignature automatique du ticket de caisse dès que le TSE / TSS est à nouveau disponible.
Plusieurs comportements sont possibles pour le système fiscal en cas de défaillance du TSE :
- défaillance du TSE uniquement lors de la création du document (createDocument)
- Échec du TSE uniquement lors de l’opération « storeDocument » ou « cancelDocument »
- défaillance du TSE lors des opérations createDocument et storeDocument/cancelDocument
Dans tous les cas, le système fiscal gère la défaillance du TSE pour le système de point de vente et seules les différentes réponses fiscales doivent être prises en charge.
Échec du TSE lors de la fonction « createDocument »
Dans ce cas, seule l’ouverture de la transaction sur le TSE a échoué (createDocument).
Le système fiscal renvoie une réponse fiscale spécifique :
{
"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."
}
}
Le processus pour le système de point de vente demeure inchangé. Il suffit de transmettre les valeurs enregistrées dans la réponse fiscale (y compris le numéro de document fiscal en cas d’erreur de connexion au TSE) lors de l’appel de la fonction storeDocument. Le système fiscal se charge alors de créer automatiquement la transaction avant l’enregistrement du document (signature) et renvoie une réponse fiscale standard lors de l’appel de la fonction storeDocument.
Échec TSE lors de storeDocument/cancelDocument
Dans ce cas, le système fiscal renvoie une réponse d’échec :
{
"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."
}
}
À l’issue de l’échec de la connexion TSE, le système fiscal resigne automatiquement tous les tickets de caisse générés et enregistrés pendant la panne. Le système de point de vente n’a aucune action à effectuer à ce stade.
Échec TSE lors des opérations createDocument et storeDocument/cancelDocument
Dans ces situations de défaillance du TSE, le processus d’envoi des données au système fiscal demeure inchangé ; le logiciel de point de vente n’a pas besoin d’être adapté, seule la réponse fiscale diffère d’une réponse de signature normale.
{
"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."
}
}
À l’issue de la défaillance du TSE, le système fiscal resignera automatiquement tous les tickets générés et enregistrés pendant la panne. Le système de point de vente n’a aucune action à effectuer à ce stade.
Cet article a été traduit automatiquement.
Commentaires
0 commentaire
Vous devez vous connecter pour laisser un commentaire.