Skip to main content

Safe audit format

The format of safe-audits: one message per submitted safe audit, with the counted and calculated amounts per currency. What each field means for an integration, and how to consume the event, is in Receiving the events.

The copy External Events links to is cmm.public.event.safe-audits.v1.json.

{
"$id": "cmm.public.event.safe-audit.v1",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "SafeAudit",
"description": "Safe audit values",
"type": "object",
"required": [
"tenantId",
"userId",
"businessUnitId",
"repositoryId",
"audits",
"eventDateTime"
],
"properties": {
"safeAuditId": {
"type": "string",
"description": "Id of the safe audit. Stable across redeliveries; use it to deduplicate. Equals eventId on the Correction and BankDeposit transactions the audit produced."
},
"tenantId": {
"type": "string",
"description": "Id of tenant"
},
"userId": {
"type": "string",
"description": "Id of user"
},
"externalUserId": {
"type": "string",
"description": "External user id of user"
},
"businessUnitId": {
"type": "string",
"description": "Id of business unit"
},
"repositoryId": {
"type": "string",
"description": "Id of repository"
},
"audits": {
"type": "array",
"description": "Array of safe audit",
"items": {
"$ref": "#/$defs/Audit"
}
},
"eventDateTime": {
"type": "string",
"format": "date-time",
"description": "Event timestamp"
},
"businessDate": {
"type": "string",
"format": "date",
"description": "The date (not time) for the safe audit"
}
},
"$defs": {
"Audit": {
"type": "object",
"title": "Audit",
"required": [
"currencyId",
"additionalProperties"
],
"properties": {
"currencyId": {
"type": "string",
"description": "Id of audited currency"
},
"reconciledAmount": {
"type": "number",
"description": "Cash transferred from tills to safe due to reconciliations/till audits."
},
"reconciledDeviationAmount": {
"type": "number",
"description": "Deviation in reconciliations for today"
},
"cashChangerAmount": {
"type": "number",
"description": "Cash transferred from cash changer to safe."
},
"cashChangerDeviationAmount": {
"type": "number",
"description": "Deviation in cash changer for today"
},
"safeAmount": {
"type": "number",
"description": "Cash counted in the safe, excluding the day's cash from till audits and the cash changer (reported separately in reconciledAmount and cashChangerAmount)."
},
"safeDeviationAmount": {
"type": "number",
"description": "Deviation in safe"
},
"bankDepositAmount": {
"type": "number",
"description": "Amount deposited to bank"
},
"comment": {
"type": "string",
"description": "Comment from user for audit"
},
"additionalProperties": {
"type": "array",
"description": "Customer specific dynamic fields",
"items": {
"$ref": "#/$defs/Audit/$defs/AdditionalProperty"
}
},
"referenceId": {
"type": [
"string",
"null"
],
"description": "Id of bank bag reference"
}
},
"$defs": {
"AdditionalProperty": {
"type": "object",
"title": "AdditionalProperty",
"required": [
"id",
"name",
"value"
],
"properties": {
"id": {
"type": "string",
"description": "Id of additional property"
},
"name": {
"type": "string",
"description": "Name of additional property"
},
"value": {
"type": "number",
"description": "Value of additional property"
},
"isNegativeSignByDefault": {
"type": "boolean",
"description": "If true, this indicates that the value entered is a negative amount by default"
},
"sortOrderKey": {
"type": "number",
"description": "Indicates the sequence the dynamics fields should be displayed in the UI"
}
}
}
}
}
}
}