Skip to main content

Undo Close Teller Till

Overview

Reverses a till closure, reopening it to correct errors or process additional transactions.

Command

UndoCloseTellerTillCommand

Endpoint

POST /api/bpm/cmd

Request Headers

Authorization: Bearer {access_token}
Content-Type: application/json
X-Tenant-Id: {tenant_id}

Request Body

{
"cmd": "UndoCloseTellerTillCommand",
"data": {
"tillId": "TILL-T001",
"reason": "Closing balance was incorrect, need to reconcile",
"approvedBy": "SUPER-001"
}
}

Request Parameters

ParameterTypeRequiredDescription
cmdstringYesMust be "UndoCloseTellerTillCommand"
dataobjectYesUndo closure data
↳ tillIdstringYesUnique identifier of the closed till
↳ reasonstringYesReason for undoing the closure
↳ approvedBystringNoSupervisor who approved the undo action

Response

Success Response (200 OK)

{
"success": true,
"message": "Till closure undone successfully",
"data": {
"tillId": "string",
"status": "Open",
"restoredBalance": "decimal",
"undoneDate": "datetime",
"reason": "string"
}
}

Error Responses

400 Bad Request

{
"success": false,
"message": "Validation failed",
"errors": ["Till ID is required", "Reason is required"]
}

404 Not Found

{
"success": false,
"message": "Till not found"
}

409 Conflict

{
"success": false,
"message": "Cannot undo till closure after end-of-day processing"
}

Business Rules

  1. Can only undo closures before end-of-day processing
  2. Requires valid reason for audit trail
  3. May require supervisor approval
  4. Restores till to state before closure
  5. Reverses vault transfer if applicable
  6. Creates audit trail entry

Code Example

async function undoCloseTellerTill(tillId, reason) {
const response = await fetch('/api/bpm/cmd', {
method: 'POST',
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json',
'X-Tenant-Id': tenantId
},
body: JSON.stringify({
commandType: 'UndoCloseTellerTillCommand',
data: {
tillId: tillId,
reason: reason
}
})
});

return await response.json();
}

Notes

  • Use sparingly and only when necessary
  • Document reason thoroughly for compliance
  • Verify balance restoration accuracy
  • Notify relevant parties of the undo action
  • Consider using Reopen instead for planned reopenings