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