Skip to main content

Teller Deposit

Overview

The teller deposit operation enables tellers to accept cash from customers and credit their deposit accounts. This is a customer-facing transaction where the teller receives physical cash and updates the customer's account balance.

Key Distinction

This operation involves physical cash received at the till and credited to a customer's deposit account. The till balance increases by the deposit amount. This is different from:

BPMCore Command

Command: InitiateDepositCommand
Handler: AdministrationCoreDepositTransactionCommandHandlers
Transaction Type: CoreTransactionType.Deposit (when channelCode is a teller channel)

Transaction Characteristics

CharacteristicDetails
Customer Involvement✅ Yes - Customer present at counter with cash
Till Cash Impact✅ Yes - Till balance INCREASES by deposit amount
Account Impact✅ Yes - Customer account balance INCREASES
Physical Cash✅ Yes - Cash received from customer
GL Posting✅ Yes - Dr Till GL / Cr Customer Account
Notifications✅ Yes - Customer receives deposit confirmation
Transaction TypeCoreTransactionType.Deposit
Channel TypeTeller channel (e.g., TELLER, BRANCH_TELLER)

Flow Diagram

Request Parameters

{
"commandType": "InitiateDepositCommand",
"accountEncodedKey": "string",
"amount": 0.00,
"channelCode": "TELLER",
"notes": "string",
"serviceId": "string",
"serviceDescription": "string",
"transactionType": 1
}

Parameter Details

ParameterTypeRequiredDescription
accountEncodedKeystring✅ YesCustomer account number or encoded key to deposit into
amountdecimal✅ YesAmount to deposit (must be positive)
channelCodestring✅ YesTeller channel code (e.g., TELLER, BRANCH_TELLER)
notesstring⚠️ OptionalAdditional notes or remarks
serviceIdstring⚠️ OptionalService identifier for categorization
serviceDescriptionstring⚠️ OptionalDescription of service being paid for
transactionTypeinteger✅ YesMust be 1 for CoreTransactionType.Deposit
Channel Configuration

The channelCode must be configured as a teller channel in the system. This determines:

  • Till GL account for posting
  • Transaction fees (if applicable)
  • Transaction limits
  • Audit trail categorization

Validation Rules

1. Account Validations

ValidationDescriptionError Code
Account ExistsAccount must exist in systemNOT_FOUND
Account ActiveAccount must not be in Locked or Dormant stateACCOUNT_IS_RESTRICTED
Not FrozenAccount must not be frozenACCOUNT_IS_RESTRICTED
Account Type CheckFixed deposits at maturity cannot accept depositsINVALID_OPERATION
Savings Plan CheckMatured savings plans cannot accept depositsINVALID_OPERATION

2. Amount Validations

ValidationDescriptionError Code
Positive AmountAmount must be > 0INVALID_AMOUNT
Deposit LimitAmount ≤ account tier deposit transaction limitTRANSFER_LIMIT_EXCEEDED
Maximum BalanceAccount balance + deposit ≤ tier maximum balanceINVALID_AMOUNT
Precision CheckAmount must have valid decimal placesINVALID_PRECISION

3. Till Validations

ValidationDescriptionError Code
Till OpenTeller's till must be in OPENED stateTILL_NOT_OPEN
Till AssignmentTeller must be assigned to tillTILL_NOT_ASSIGNED
Till CapacityTill balance after deposit ≤ maximum till capacityTILL_CAPACITY_EXCEEDED
Branch MatchAccount and till must be in same branchBRANCH_MISMATCH

4. Channel Validations

ValidationDescriptionError Code
Channel ExistsChannel code must be configuredCHANNEL_NOT_FOUND
Channel ActiveChannel must be activeCHANNEL_INACTIVE
Operation AllowedChannel must allow deposit operationsOPERATION_NOT_ALLOWED
Teller Channel TypeChannel must be teller-type channelINVALID_CHANNEL_TYPE

State Transitions

GL Postings

Teller Deposit Entry

AccountDr/CrAmountDescription
Till GL AccountDrDeposit AmountCash received into till
Customer Deposit AccountCrDeposit AmountCustomer account credited

Example

Customer deposits $5,000 cash into Savings Account (101-001). Till GL is 1010-TILL-001:

Dr  1010-TILL-001 (Till Cash)           $5,000.00
Cr 101-001 (Customer Savings) $5,000.00
Narration: Deposit of $5,000 to account 101-001 via TELLER
Till Balance Impact

Always remember: Teller deposits INCREASE the till balance. The physical cash received from the customer is now in the till drawer.

Response Structure

Success Response

{
"isSuccessful": true,
"message": "Deposit processed successfully",
"data": {
"transactionId": "TXN-20250119-001234",
"accountNumber": "101-001",
"accountBalance": 15000.00,
"depositAmount": 5000.00,
"tillBalance": 85000.00,
"transactionDate": "2025-01-19T10:30:00Z",
"reference": "DEP-001234",
"narration": "Deposit of $5,000 to account 101-001 via TELLER"
}
}

Error Response

{
"isSuccessful": false,
"message": "You cannot perform any transaction on this account. It is presently locked.",
"errorCode": "ACCOUNT_IS_RESTRICTED",
"statusCode": "06"
}

Common Use Cases

1. Regular Cash Deposit

Scenario: Customer wants to deposit salary received in cash

Flow:

  1. Customer provides cash and deposit slip with account number
  2. Teller counts cash and verifies amount matches deposit slip
  3. Teller enters deposit details into system
  4. System validates account and till status
  5. Deposit processes immediately
  6. Customer receives receipt with new balance
  7. Till balance increases by deposit amount

2. Split Deposit to Multiple Accounts

Scenario: Customer wants to split cash deposit across savings and current accounts

Flow:

  1. Process first deposit to savings account (e.g., $3,000)
  2. Process second deposit to current account (e.g., $2,000)
  3. Both accounts updated independently
  4. Till balance increases by total ($5,000)

3. Third-Party Deposit

Scenario: Person A deposits cash into Person B's account

Flow:

  1. Person A provides cash and beneficiary account number
  2. Teller verifies account exists and accepts deposits
  3. Process deposit transaction
  4. Account owner (Person B) receives notification
  5. Receipt shows depositor details for audit trail

Integration Points

Account Types Supported

Account TypeDeposit AllowedSpecial Rules
Savings Account✅ YesCheck deposit limits
Current Account✅ YesUsually no limits
Fixed Deposit⚠️ ConditionalNot allowed after maturity date
Savings Plan⚠️ ConditionalNot allowed after maturity date
Loan Account✅ YesTreated as loan repayment

Business Rules

Deposit Limits

Limit TypeConfigurationEnforcement
Minimum DepositDepositProductConfig.MinimumDepositPer transaction
Maximum TransactionAccountTier.DepositTransactionLimitPer transaction
Daily Deposit LimitAccountTier.DailyDepositLimitPer day aggregate
Maximum BalanceAccountTier.MaximumBalanceAccount balance cap
Maximum Balance Check

The system validates: Current Balance + Deposit Amount ≤ Maximum Balance
If this check fails, the deposit is rejected even if the amount is within transaction limits.

Processing Times

ScenarioProcessing Time
Standard DepositInstant (real-time)
Large Amount DepositMay require supervisor approval
Frozen AccountRejected immediately
System DowntimeQueued for processing

Narration Templates

Deposit narration is generated using configurable templates:

Customer Narration:

`Deposit of ${context.amount} to ${context.accountNumber} via ${context.channelName}`

Channel Narration:

`Deposit of ${context.amount} to ${context.accountNumber} via ${context.channelName}`

Transaction ID:

`${context.transactionKey}`

These templates can be customized in the DepositProductConfig.NarrationTemplates.

Audit Trail

All teller deposits create comprehensive audit records capturing:

  • Transaction Details: Amount, account number, transaction ID
  • Teller Information: Teller ID, till ID, branch ID
  • Customer Information: Customer ID, account details
  • Cash Details: Currency, denomination breakdown (if captured)
  • Timestamps: Request time, processing time, completion time
  • System Information: IP address, terminal ID, session ID
  • Before/After State: Account balance before/after, till balance before/after
  • Narration: Customer and internal narrations

Error Handling

Common Errors

ErrorCauseResolution
TILL_NOT_OPENTeller's till is closedOpen Till first
ACCOUNT_IS_RESTRICTEDAccount is locked, frozen, or dormantCheck account status, contact supervisor
TRANSFER_LIMIT_EXCEEDEDDeposit exceeds transaction limitSplit into smaller deposits or request limit increase
INVALID_AMOUNTAmount would breach maximum balanceCustomer must use different account
CHANNEL_NOT_FOUNDChannel code not configuredVerify channel code, contact IT support
NOT_FOUNDAccount doesn't existVerify account number with customer

Deposit Rejection Scenarios

ScenarioAction TakenCustomer Impact
Account LockedReject immediatelyCustomer must unlock account first
Frozen AccountReject immediatelyCustomer must contact branch manager
Dormant AccountReject immediatelyAccount must be reactivated
Fixed Deposit at MaturityReject immediatelyCustomer can only withdraw
Savings Plan MaturedReject immediatelyOpen new plan or use different account

Security Considerations

Authorization Requirements

  • Teller must be authenticated and authorized
  • Till must be open and assigned to teller
  • Large deposits may require supervisor approval (configurable threshold)
  • Customer identity verification required for large amounts
  • Third-party deposits may require additional documentation

Fraud Prevention

  • System checks for unusual deposit patterns
  • Velocity limits prevent rapid successive deposits
  • Alerts on deposits exceeding configurable thresholds
  • Cross-reference with customer's typical transaction behavior
  • Flag first-time large deposits for review
  • Cash denomination tracking for currency quality monitoring

Compliance Features

  • Automatic reporting for deposits above regulatory thresholds
  • Enhanced due diligence for high-risk accounts
  • Source of funds documentation for large deposits
  • Anti-money laundering (AML) screening
  • Politically Exposed Person (PEP) checks

Performance Considerations

Till Cash Management

Till Capacity Management

Monitor till balance throughout the day. When till reaches capacity:

  1. Transfer to Vault - Move excess cash to branch vault
  2. Transfer Between Tills - Balance cash across tills
  3. Request supervisor to collect excess cash

Deposit Counting

Amount RangeRecommended Practice
< $1,000Manual count by teller
$1,000 - $10,000Double-count verification
> $10,000Machine count + supervisor verification

Best Practices

  1. Always verify account number before accepting cash
  2. Count cash twice in front of customer
  3. Provide immediate receipt upon successful deposit
  4. Monitor till balance and transfer excess to vault regularly
  5. Verify large deposits with customer about source of funds
  6. Document third-party deposits with depositor information
  7. Check account status before accepting cash to avoid customer inconvenience