Close Teller Till
Overview
Closes a teller till at the end of a shift, reconciling cash and transferring remaining balance to the vault.
Command
CloseTellerTillCommand
Endpoint
POST /api/bpm/cmd
Request Headers
Authorization: Bearer {access_token}
Content-Type: application/json
X-Tenant-Id: {tenant_id}
Request Body
{
"cmd": "CloseTellerTillCommand",
"data": {
"tillId": "TILL-T001",
"closingBalance": 487500.00,
"vaultId": "VLT-001",
"denominationDetails": {
"1000": 200,
"500": 150,
"200": 125,
"100": 100
},
"notes": "End of day reconciliation completed"
}
}
Request Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
| cmd | string | Yes | Must be "CloseTellerTillCommand" |
| data | object | Yes | Till closure data |
| ↳ tillId | string | Yes | Unique identifier of the till to close |
| ↳ closingBalance | decimal | Yes | Physical cash count at till closure |
| ↳ vaultId | string | No | Vault to receive remaining till balance |
| ↳ denominationDetails | object | No | Breakdown of cash by denomination |
| ↳ notes | string | No | Additional notes about the closure |
Response
Success Response (200 OK)
{
"success": true,
"message": "Teller till closed successfully",
"data": {
"tillId": "string",
"openingBalance": "decimal",
"closingBalance": "decimal",
"totalTransactions": "integer",
"variance": "decimal",
"status": "Closed",
"closedDate": "datetime"
}
}
Error Responses
400 Bad Request
{
"success": false,
"message": "Validation failed",
"errors": ["Till ID is required", "Closing balance is required"]
}
409 Conflict
{
"success": false,
"message": "Till has pending transactions"
}
Business Rules
- All pending transactions must be completed
- Closing balance should match system balance
- Large variances may require supervisor approval
- Remaining balance transferred to vault
- Creates comprehensive audit trail
Code Example
async function closeTellerTill(tillId, closingBalance) {
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: 'CloseTellerTillCommand',
data: {
tillId: tillId,
closingBalance: closingBalance,
notes: 'End of shift closure'
}
})
});
return await response.json();
}
Related Commands
- Open Teller Till - Open new till
- Undo Close Teller Till - Undo closure
- Get Teller Till Transaction List - View transactions
Notes
- Perform physical cash count before closing
- Document any variances for investigation
- Ensure all transactions are posted before closing
- Keep detailed records for audit purposes