Mit dem DocumentType AuditLog können nun auch nicht-transaktionale Ereignisse (z. B. Benutzeranmeldungen oder das Öffnen der Kassenschublade) erfasst und - wie normale Belege - über den Standard-Endpunkt signiert werden.
1. Neuer Beleg-Typ (DocumentType)
Das DocumentType-Enum enthält nun die folgende Option zur Erfassung von prüfbaren Ereignissen:
- AuditLog (1002)
2. Neue Eigenschaften im Document-Modell
Wenn Sie den documentType auf AuditLog setzen, müssen die folgenden neuen Eigenschaften im Document-Objekt verwendet werden:
| Eigenschaft | Typ | Beschreibung |
|---|---|---|
| auditLogEntryType | LogEntryType enum | (Verpflichtend) Definiert die Art des Audit-Ereignisses. Eine vollständige Liste befindet sich im nächsten Abschnitt. |
| amount | decimal? | (Optional) Ein monetärer Wert, der mit dem Protokolleintrag verknüpft ist, z. B. der Betrag einer Kassendifferenz. |
| identifier | string | (Optional) Eine zusätzliche Zeichenfolge zur Identifizierung oder für mehr Kontext, z. B. um anzugeben, welche Kassenschublade geöffnet wurde. |
3. Verfügbare AuditLogEntryTypes
Beleg-Ereignisse (Document Events)
- documentReprintOther
- documentSuspend
- documentResume
- documentTrainingModeOn
- documentTrainingModeOff
- documentTypeSales
- documentTypeReturn
- documentTypeProforma
- documentTypeDelivery
- documentTypeTraining
- documentTypeWithDrawal
- documentTypePayOut
- documentTypePayIn
- documentTypeOpeningBalance
- documentTypeNullReceipt
- documentTypeInvoice
- documentTypeOther
- documentTypeVoid
- documentTypeLongTermOrder
- documentTypePaymentConfirmation
- documentTypeCustomerOrder
- documentTypeInventory
- documentTypePurchase
- documentReprintLongTermOrder
- documentReprintPaymentConfirmation
- documentReprintReceipt
- documentReprintInvoice
- documentDuplicateReceipt
- documentDuplicateInvoice
- documentAbandonLongTermOrder
- documentTraceUnprintedLongTermOrder
- documentCancelLine
- documentVoidLine
- documentCancelDocument
- documentUpdatePayment
- documentUpdateLongTermOrder
- documentUpdateLine
- documentUpdateTable
Hardware- & Benutzer-Ereignisse
- drawerOpen
- drawerClose
- printerUnavailable
- printerAvailable
- userLogin
- userLogout
- userRightsChange
Anwendungs- & System-Ereignisse
- applicationStart
- applicationShutDown
- applicationUpdate
- applicationUpdateMinor
- applicationFiscalMiddlewareUpdate
- applicationEmergencyModeOn
- applicationEmergencyModeOff
- applicationInitialize
- applicationAddWorkstation
- applicationDeleteWorkstation
- applicationOfflineModeOn
- applicationOfflineModeOff
Stammdaten- & Datenintegritäts-Ereignisse
- masterDataItemPriceChange
- masterDataItemPriceLookup
- masterDataItemUpdateCompany
- transferOwnership
- dataIntegrityBackupDatabase
- dataIntegrityRestoreDatabase
- dataIntegrityPurgeDatabase
- dataIntegrityPurgeEventLog
- dataIntegrityDataRecovery
- dataIntegrityForwardData
- dataIntegrityConsolidationComplete
- dataIntegrityFailure
- dataSequenceChange
- dataSequenceFailure
- dataImportExternal
- dataExportAccounting
- dataExportGeneric
Fiskal- & Berichts-Ereignisse
- fiscalPeriodClosingDay
- fiscalPeriodClosingMonth
- fiscalPeriodClosingYear
- fiscalReportClosingDay
- fiscalReportUserReport
- fiscalErrorReceivedFromAuthorities
- fiscalArchiveYear
- fiscalArchiveIntermediate
- fiscalJournalExport
- fiscalSignatureUpdateKey
- fiscalAudit
- fiscalAuditFileTransfer
Allgemein
- other (ein generischer Typ für Ereignisse, die nicht in der Liste enthalten sind)
4. Buchen eines AuditLog-Belegs
AuditLog-Belege werden an denselben Endpunkt wie alle anderen transaktionalen Belege übermittelt:
POST /api/v1/transactions/storeDocument
JSON-Payload (request)
{
"ModelVersion": "1.6.1",
"UniqueClientId": "2a296a14-f644-4f3f-9ea2-d3f00a3b587c",
"UniqueCashRegisterId": "005-006",
"FiscalModuleVersion": "1.10.2.0",
"FiscalCountryModuleVersion": "1.0.21",
"SoftwareName": "x x x",
"AdditionalFields": {},
"AutomaticVatCalculation": 0,
"AuditLogEntryType": "userLogin",
"DocumentGuid": "a1a1a1a1-b2b2-c3c3-d4d4-e5e5e5e5e5e5",
"DocumentId": "AUD-LOGIN-001",
"CreateDate": "2025-08-08T12:59:10+02:00",
"BookDate": "2025-08-08T12:59:10+02:00",
"DocumentNumber": "AUD-LOGIN-001",
"IsTraining": true,
"DocumentType": "[1002] = AuditLog",
"User": {
"Id": "Armir A",
"Caption": "Armir A"
},
"AllocationGroups": [],
"PositionCount": 0,
"FiscalDocumentNumber": 8,
"FiscalDocumentRevision": 1,
"FiscalDocumentStartTime": 1754657874,
"Positions": [],
"Payments": [],
"AdditionalHeader": [],
"AdditionalFooter": [],
"FiscalAdditionalFields": {}
}Antwort (response)
Die Antwort enthält Fiskalisierungsdaten, die für das jeweilige Land relevant sind, wie das nachstehende Beispiel für Deutschland, das TSE-Details enthält.
{
"FiscalCountry": "[0] = Germany",
"FiscalisationDocumentNumber": 8,
"FiscalDocumentNumber": "8",
"FiscalDocumentStartTime": 1754657874,
"ProcessStartTime": 0,
"ErrorDescription": null,
"CashRegisterId": "005-006",
"Signature": "wn0cwKYhCes0dy4gEfjB7aAQF+iHXsyX3E6u9bBsJtJZTMtOoJ4IMDUYNJzZyykmZdrEMiT3YqtBvG7J/3sNzw==",
"UserMessage": null,
"PrintMessage": "***Test***",
"RequestTime": "2025-08-08T12:58:47.310674+00:00",
"RequestCompletionTime": "2025-08-08T12:58:47.6602076+00:00",
"QrCode": "V0;005-006;SonstigerVorgang;AVSonstige;8;78;2025-08-08T12:57:54.000Z;2025-08-08T12:58:46.000Z;ecdsa-plain-SHA256;unixTime;wn0cwKYhCes0dy4gEfjB7aAQF+iHXsyX3E6u9bBsJtJZTMtOoJ4IMDUYNJzZyykmZdrEMiT3YqtBvG7J/3sNzw==;BFG6opUQnbSdHq76J8py+zy5iw9zeCdwgRkhQJIkDKz38NrDiAiFvNwKf4NRRyzyRXGZB1vuFmqWJLr+gi6GKIg=",
"PrintingFields": {
"NOT IMPLEMENTED": "NOT IMPLEMENTED"
},
"AdditionalFields": {
"QrCodeDataString": "V0;005-006;SonstigerVorgang;AVSonstige;8;78;2025-08-08T12:57:54.000Z;2025-08-08T12:58:46.000Z;ecdsa-plain-SHA256;unixTime;wn0cwKYhCes0dy4gEfjB7aAQF+iHXsyX3E6u9bBsJtJZTMtOoJ4IMDUYNJzZyykmZdrEMiT3YqtBvG7J/3sNzw==;BFG6opUQnbSdHq76J8py+zy5iw9zeCdwgRkhQJIkDKz38NrDiAiFvNwKf4NRRyzyRXGZB1vuFmqWJLr+gi6GKIg=",
"TransactionStartTime": 1754657874,
"TransactionEndTime": 1754657926,
"ProcessData": "AVSonstige",
"ProcessType": "SonstigerVorgang",
"TseSerial": "2b56a7b994fdb3be51f973b311db0a4494d88dc2d63efdc8fb6c2f1f3df1b696",
"TseTimeFormat": "unixTime",
"TseHashAlgorithm": "ecdsa-plain-SHA256",
"TsePublicKey": "BFG6opUQnbSdHq76J8py+zy5iw9zeCdwgRkhQJIkDKz38NrDiAiFvNwKf4NRRyzyRXGZB1vuFmqWJLr+gi6GKIg=",
"TseSignatureCounter": 78,
"TseCertificate": "MIID0jCCA1mgAwIBAgIRAOxMaXsnzvjB/LzUZ7EN3ogwCgYIKoZIzj0EAwMwVTELMAkGA1UEBhMCQVQxFTATBgNVBAoTDGZpc2thbHkgR21iSDEjMCEGA1UEAxMaVEVTVC1GSVNLQUxZLVRTRS1TVUItQ0EtMDExCjAIBgNVBAUTATEwHhcNMjUwNjI3MDAwMjM0WhcNMzMwNjI3MjM1OTU5WjCB2TELMAkGA1UEBhMCQVQxFTATBgNVBAoTDGZpc2thbHkgR21iSDFOMEwGA1UEAwxFVEVTVC1CU0ktRFNaLUNDLTExNTNfQlNJLURTWi1DQy0xMTMwX0M0RjlFNkVDNkUxRTRENjg5NTlDNjFEREFDNjU0QTdDMUkwRwYDVQQFE0AyYjU2YTdiOTk0ZmRiM2JlNTFmOTczYjMxMWRiMGE0NDk0ZDg4ZGMyZDYzZWZkYzhmYjZjMmYxZjNkZjFiNjk2MRgwFgYDVQQuEw9CU0ktRFNaLUNDLTExNTMwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARRuqKVEJ20nR6u+ifKcvs8uYsPc3gncIEZIUCSJAys9/Daw4gIhbzcCn+DUUcs8kVxmQdb7hZqliS6/oIuhiiIo4IBgzCCAX8wDgYDVR0PAQH/BAQDAgeAMAwGA1UdEwEB/wQCMAAwHwYDVR0jBBgwFoAU4lSqfYaZDlZy+rtN24iJKVDaxzYwRAYIKwYBBQUHAQEEODA2MDQGCCsGAQUFBzAChihodHRwczovL2thc3NlbnNpY2h2LXRlc3QtcGtpLmZpc2thbHkuY29tMF4GA1UdHwRXMFUwU6BRoE+GTWh0dHA6Ly9rYXNzZW5zaWNodi10ZXN0LXBraS5maXNrYWx5LmNvbS9jcmw/aXNzdWVyPVRFU1QtRklTS0FMWS1UU0UtU1VCLUNBLTAxMEcGA1UdEgRAMD6BEm9mZmljZUBmaXNrYWx5LmNvbYYoaHR0cHM6Ly9rYXNzZW5zaWNodi10ZXN0LXBraS5maXNrYWx5LmNvbTBPBgNVHSAESDBGMEQGCisGAQQBg7YgAQMwNjA0BggrBgEFBQcCARYoaHR0cHM6Ly9rYXNzZW5zaWNodi10ZXN0LXBraS5maXNrYWx5LmNvbTAKBggqhkjOPQQDAwNnADBkAjAanoJFOYfYD6PN8k2WfLLiskBHuGiYKkLrTJWlvwzLpMU+7UeZT85eizm5BLo6OWwCMBsv+mErzb9grV/kHJsu9tJcIqhWXJSdKabAc4J6mTtiCFMSUikJgwO9NTpTdd1KEg==",
"FiscalDocumentRevision": 2
}
}
Kommentare
0 Kommentare
Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.