With the DocumentType AuditLog, it is now possible to record non-transactional events (e.g., user logins or opening the cash drawer) and have them signed via the standard endpoint, just like regular receipts.
1. New Document Type (DocumentType)
The DocumentType enum now contains the following option for capturing auditable events:
- AuditLog (1002)
2. New Properties in the Document Model
When you set the documentType to AuditLog, the following new properties must be used in the Document object:
| Property | Type | Description |
|---|---|---|
| auditLogEntryType | LogEntryType enum | (Mandatory) Defines the type of audit event. A complete list can be found in the next section. |
| amount | decimal? | (Optional) A monetary value associated with the log entry, e.g. the amount of a cash register discrepancy. |
| identifier | string | (Optional) An additional string for identification or for more context, e.g. to indicate which cash drawer has been opened. |
3. Available AuditLogEntryTypes
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 & User Events
- drawerOpen
- drawerClose
- printerUnavailable
- printerAvailable
- userLogin
- userLogout
- userRightsChange
Application & System Events
- applicationStart
- applicationShutDown
- applicationUpdate
- applicationUpdateMinor
- applicationFiscalMiddlewareUpdate
- applicationEmergencyModeOn
- applicationEmergencyModeOff
- applicationInitialize
- applicationAddWorkstation
- applicationDeleteWorkstation
- applicationOfflineModeOn
- applicationOfflineModeOff
Master Data & Data Integrity Events
- masterDataItemPriceChange
- masterDataItemPriceLookup
- masterDataItemUpdateCompany
- transferOwnership
- dataIntegrityBackupDatabase
- dataIntegrityRestoreDatabase
- dataIntegrityPurgeDatabase
- dataIntegrityPurgeEventLog
- dataIntegrityDataRecovery
- dataIntegrityForwardData
- dataIntegrityConsolidationComplete
- dataIntegrityFailure
- dataSequenceChange
- dataSequenceFailure
- dataImportExternal
- dataExportAccounting
- dataExportGeneric
Fiscal & Report Events
- fiscalPeriodClosingDay
- fiscalPeriodClosingMonth
- fiscalPeriodClosingYear
- fiscalReportClosingDay
- fiscalReportUserReport
- fiscalErrorReceivedFromAuthorities
- fiscalArchiveYear
- fiscalArchiveIntermediate
- fiscalJournalExport
- fiscalSignatureUpdateKey
- fiscalAudit
- fiscalAuditFileTransfer
General
- other (a generic type for events not included in the list)
4. Posting an AuditLog Document
AuditLog documents are submitted to the same endpoint as all other transactional documents:
POST /api/v1/transactions/storeDocument
Example JSON Payload
{
"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": {}
}Example Response
The response contains fiscalization data relevant to the respective country, such as the example below for Germany, which includes TSE details (Technical Security Equipment).
{
"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
}
}
Comments
0 comments
Please sign in to leave a comment.