Skip to main content

Teller & Till Transactions Overview

Complete guide to teller operations and till management in BankLingo V2 Core Banking Platform.

Overview

Teller transactions handle all cash-based operations through bank tellers, including deposits, withdrawals, till management, and vault operations. BankLingo V2 implements a robust teller transaction processing engine with:

  • Till impact tracking: Every till balance change tracked
  • Cash movement audit: Complete trail of physical cash handling
  • Multi-phase processing: PENDING → APPROVED → COMPLETED → ACTIVE
  • Balance validation: Till min/max enforcement
  • Complete audit trail: Every cash movement recorded
  • Universal reversal: One framework works for all transaction types

Transaction Categories

Teller Customer Transactions

TransactionPurposeV2 CommandKey Features
Teller DepositDeposit via teller (Cash/Cheque)InitiateDepositCommand (with tillId)Till impact, cash tracking, cheque clearing, account activation
Teller WithdrawalWithdraw via teller (Cash/Cheque)InitiateWithdrawalCommand (with tillId)Till disbursement, hold management, cash verification, limit checks
Loan Repayment (Teller)Loan payment via tellerInitiateLoanRepaymentWithDepositCommandPayment allocation, schedule updates, till impact, GL income

Till Operations

TransactionPurposeV2 CommandKey Features
Add Cash to TillAdd cash to teller tillAddCashToTellerTillCommandMaximum balance enforcement, source tracking, audit trail
Remove Cash from TillRemove cash from teller tillRemoveCashFromTellerTillCommandMinimum balance enforcement, physical transfer, approval workflow
Till to Till TransferTransfer cash between tillsTransferBetweenTellerTillCommandAtomic dual-till operation, balance validation, handover process

Transaction States

All teller transactions follow a state machine:

States Explained:

  • PENDING: Created, physical cash verification in progress
  • APPROVED: Verified, ready to execute
  • REJECTED: Denied before execution
  • COMPLETED: Executed, till balances and accounts updated
  • ACTIVE: Finalized, permanent
  • REVERSED: Undone via compensating transaction
  • CANCELLED: Cancelled before completion
  • FAILED: Execution failed

Core Concepts

Till Management

Each teller has an assigned till (cash drawer) with:

  • Opening Balance: Starting cash at day/shift start
  • Current Balance: Real-time cash balance
  • Minimum Balance: Required reserve (cannot go below)
  • Maximum Balance: Security limit (must transfer excess)
  • Currency: Assigned currency (single-currency tills)
  • Status: OPEN, CLOSED, SUSPENDED

Till Balance Formula:

Current Balance = Opening Balance + Deposits - Withdrawals + Additions - Removals

Cash Movement Tracking

Every cash transaction creates an audit record:

TillTransaction {
tillId: "TILL-001"
transactionType: "DEPOSIT" | "WITHDRAWAL" | "ADD" | "REMOVE" | "TRANSFER"
amount: 5000
oldBalance: 50000
newBalance: 55000
physicalVerification: true
verifiedBy: "TELLER-123"
timestamp: "2026-01-04T10:30:00"
}

Why this matters:

  • Complete audit trail for cash handling
  • Enables accurate till reconciliation
  • Supports reversal and corrections
  • Detects discrepancies immediately

Impact Tracking

Every teller transaction records exactly what changed:

ImpactedEntity {
entityType: "TellerTill"
entityId: 123
fieldName: "CurrentBalance"
oldValue: 50000
newValue: 55000
deltaAmount: +5000 // The actual cash movement
}

GL Integration

All teller transactions automatically post to General Ledger:

Teller Deposit Example:

DR: Till Cash Account              +5,000
CR: Customer Deposits -5,000

Teller Withdrawal Example:

DR: Customer Deposits              +5,000
CR: Till Cash Account -5,000

Till Addition Example:

DR: Till Cash Account              +10,000
CR: Vault Cash Account -10,000

Till Balance Limits

Maximum Balance Enforcement

When till balance exceeds maximum:

  1. Alert: System notifies teller
  2. Action Required: Transfer excess to vault
  3. Restriction: No further deposits until resolved
  4. Compliance: Regulatory and security requirement

Minimum Balance Enforcement

When till balance falls below minimum:

  1. Alert: System notifies teller
  2. Action Required: Request replenishment from vault
  3. Restriction: Large withdrawals blocked
  4. Operations: Ensures sufficient cash for operations

Approval Workflows

Teller transactions can require approval based on:

  • Transaction amount (threshold)
  • Till balance impact
  • Removal requests (security)
  • Transfer between tills (audit)
  • User permissions

Workflow:

Initiate Teller Transaction (PENDING)

Physical Cash Verification

Check Approval Requirement

Auto-Approve OR Await Approval

Execute Transaction (COMPLETED)

Update Till Balance & Account

API Integration

All teller transactions are executed via BPMCore command pattern:

Endpoint:

POST /api/bpm/cmd
Content-Type: application/json
Authorization: Bearer {access_token}

Request Structure - Teller Deposit:

{
"commandName": "InitiateDepositCommand",
"data": {
"accountEncodedKey": "ACC-001",
"amount": 5000.00,
"tillId": "TILL-001",
"channelCode": "TELLER",
"notes": "Cash deposit via teller"
}
}

Request Structure - Till Addition:

{
"commandName": "AddCashToTellerTillCommand",
"data": {
"tillId": "TILL-001",
"amount": 10000.00,
"source": "VAULT",
"notes": "Morning replenishment"
}
}

Response:

{
"isSuccessful": true,
"statusCode": "00",
"message": "Transaction completed successfully",
"data": {
"transactionKey": "TXN-2025-001",
"tillId": "TILL-001",
"tillBalance": {
"previous": 50000.00,
"current": 60000.00
},
"transactionState": "COMPLETED"
}
}

End-of-Day (EOD) Reconciliation

Till Closing Process

  1. Count Physical Cash: Teller counts all cash in till
  2. Compare with System: System balance vs. physical count
  3. Record Variance: Any discrepancy recorded
  4. Transfer Excess: Move cash to vault
  5. Close Till: Lock till for the day

Variance Handling

Cash Short (Physical < System):

System Balance: 50,000
Physical Count: 49,500
Variance: -500 (short)

GL Entry:
DR: Cash Short/Over (Expense) +500
CR: Till Cash Account -500

Cash Over (Physical > System):

System Balance: 50,000
Physical Count: 50,200
Variance: +200 (over)

GL Entry:
DR: Till Cash Account +200
CR: Cash Short/Over (Income) -200

Concurrent Transaction Safety

BankLingo V2 ensures till integrity in concurrent scenarios:

Optimistic Locking

Every till has a Version field that increments with each update. Concurrent updates detected and retried.

Delta-Based Tracking

Changes tracked as deltas, not snapshots, preserving concurrent modifications.

Example Scenario

Time 10:00 - Till Balance: 50,000
Time 10:01 - Deposit 5,000 PENDING
Time 10:02 - Withdrawal 2,000 COMPLETED (balance: 48,000)
Time 10:03 - Deposit 5,000 COMPLETED (balance: 53,000)

Final: 53,000 ✓ (both transactions preserved)

Error Handling

All transactions use standard error codes:

Error CodeDescriptionAction
00SuccessTransaction completed
01Insufficient till cashRequest replenishment
05Till closed/suspendedCannot transact
12Invalid amountVerify amount
51Limit exceededTransfer to vault
91System errorRetry or contact support

Best Practices

For Tellers

  1. Count cash carefully before and after transactions
  2. Verify customer identity for withdrawals
  3. Keep till organized (sort by denomination)
  4. Report discrepancies immediately
  5. Never leave till unattended
  6. Follow physical security protocols

For Supervisors

  1. Monitor till balances throughout day
  2. Approve large transactions promptly
  3. Verify EOD reconciliations
  4. Investigate variances immediately
  5. Ensure adequate vault cash
  6. Review audit trails regularly

For Developers

  1. Always track till impact in transactions
  2. Use delta-based tracking for balances
  3. Implement proper locking mechanisms
  4. Test concurrent transaction scenarios
  5. Validate till limits before execution
  6. Log all cash movements

Next Steps

Explore specific transaction types:

For implementation:


Last Updated: January 4, 2026
Version: 2.0
Status: Production Ready