Vault Operations Overview
Complete guide to vault operations in BankLingo V2 Core Banking Platform.
Overview​
Vault operations handle cash management at the branch level, including vault funding from external sources, till replenishment, and excess cash collection. BankLingo V2 implements a robust vault transaction processing engine with:
- Cash movement tracking: Every vault balance change tracked
- Multi-source funding: CIT delivery, head office, bank withdrawal
- Till integration: Seamless replenishment and collection
- Complete audit trail: Every cash movement recorded
- Reconciliation support: Physical vs. system balance verification
- Universal reversal: One framework works for all transaction types
Transaction Types​
Vault Operations​
| Transaction | Purpose | V2 Command | Key Features |
|---|---|---|---|
| Vault Funding | Fund vault from external source | FundBranchVaultAccountCommand | CIT delivery, head office transfer, bank withdrawal, reconciliation |
| Vault to Till | Replenish till from vault | TransferFromBranchVaultAccountCommand | Till replenishment, cash allocation, balance limits, audit trail |
| Till to Vault | Transfer excess cash to vault | RemoveCashFromTellerTillCommand (vault destination) | Cash movement, till reduction, vault increase, reconciliation |
Transaction States​
All vault 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, vault and till balances updated
- ACTIVE: Finalized, permanent
- REVERSED: Undone via compensating transaction
- CANCELLED: Cancelled before completion
- FAILED: Execution failed
Core Concepts​
Vault Management​
Each branch has a vault (secure cash storage) with:
- Current Balance: Real-time cash balance
- Minimum Balance: Required reserve for operations
- Maximum Balance: Security/insurance limit
- Currency: Assigned currency (multi-currency support)
- Status: OPEN, CLOSED, SUSPENDED
- Custodian: Assigned vault custodian
Vault Balance Formula:
Current Balance = Opening Balance + Funding + Till Returns - Till Disbursements
Funding Sources​
Vaults can be funded from multiple sources:
| Source | Description | Process |
|---|---|---|
| CIT (Cash-in-Transit) | Armored car delivery | Physical delivery, signature verification, count verification |
| Head Office Transfer | Inter-branch transfer | Electronic notification, physical transport, reconciliation |
| Bank Withdrawal | Withdrawal from correspondent bank | Bank counter withdrawal, receipt verification, deposit to vault |
| Cash Deposit | Large cash deposit to branch | Customer deposit, verification, vault storage |
Cash Movement Tracking​
Every vault transaction creates an audit record:
VaultTransaction {
vaultId: "VAULT-001"
transactionType: "FUNDING" | "TO_TILL" | "FROM_TILL"
amount: 100000
oldBalance: 500000
newBalance: 600000
source: "CIT_DELIVERY" | "HEAD_OFFICE" | "TILL-001"
destination: "VAULT" | "TILL-001"
physicalVerification: true
verifiedBy: "CUSTODIAN-123"
timestamp: "2026-01-04T08:00:00"
}
Why this matters:
- Complete audit trail for high-value cash handling
- Enables accurate vault reconciliation
- Supports reversal and corrections
- Insurance and regulatory compliance
- Fraud prevention and detection
Impact Tracking​
Every vault transaction records exactly what changed:
ImpactedEntity {
entityType: "BranchVault"
entityId: 456
fieldName: "CurrentBalance"
oldValue: 500000
newValue: 600000
deltaAmount: +100000 // The actual cash movement
}
GL Integration​
All vault transactions automatically post to General Ledger:
Vault Funding Example (CIT Delivery):
DR: Vault Cash Account +100,000
CR: Cash in Transit Account -100,000
Vault to Till Example:
DR: Till Cash Account +50,000
CR: Vault Cash Account -50,000
Till to Vault Example:
DR: Vault Cash Account +30,000
CR: Till Cash Account -30,000
Vault Balance Limits​
Maximum Balance Management​
When vault balance exceeds maximum:
- Alert: System notifies branch manager and vault custodian
- Action Required: Transfer excess to head office or correspondent bank
- Security Risk: Insurance coverage may be voided
- Compliance: Regulatory reporting may be required
Minimum Balance Management​
When vault balance falls below minimum:
- Alert: System notifies branch manager
- Action Required: Request funding (CIT, head office)
- Operations Impact: Cannot adequately service tills
- Planning: Schedule regular funding deliveries
Approval Workflows​
Vault transactions can require approval based on:
- Transaction amount (threshold)
- Funding source
- Time of day (after-hours)
- User permissions
- Vault balance thresholds
Workflow:
Initiate Vault Transaction (PENDING)
↓
Physical Cash Verification
↓
Check Approval Requirement
↓
Auto-Approve OR Await Approval (Branch Manager/Head Office)
↓
Execute Transaction (COMPLETED)
↓
Update Vault Balance & Related Entities
API Integration​
All vault transactions are executed via BPMCore command pattern:
Endpoint:
POST /api/bpm/cmd
Content-Type: application/json
Authorization: Bearer {access_token}
Request Structure - Vault Funding:
{
"commandName": "FundBranchVaultAccountCommand",
"data": {
"vaultId": "VAULT-001",
"amount": 100000.00,
"source": "CIT_DELIVERY",
"referenceNumber": "CIT-2026-001",
"notes": "Weekly CIT delivery"
}
}
Request Structure - Vault to Till:
{
"commandName": "TransferFromBranchVaultAccountCommand",
"data": {
"vaultId": "VAULT-001",
"tillId": "TILL-001",
"amount": 50000.00,
"notes": "Morning till replenishment"
}
}
Response:
{
"isSuccessful": true,
"statusCode": "00",
"message": "Vault transaction completed successfully",
"data": {
"transactionKey": "TXN-2025-001",
"vaultId": "VAULT-001",
"vaultBalance": {
"previous": 500000.00,
"current": 600000.00
},
"transactionState": "COMPLETED"
}
}
Physical Reconciliation​
Daily Vault Count​
- Physical Count: Custodian counts all cash in vault
- System Balance: Retrieve current system balance
- Compare: Physical vs. System
- Record Variance: Any discrepancy documented
- Investigation: Investigate and resolve variances
Variance Handling​
Cash Short (Physical < System):
System Balance: 500,000
Physical Count: 499,500
Variance: -500 (short)
Action:
1. Recount immediately
2. Review transaction log
3. If confirmed, record variance:
GL Entry:
DR: Cash Short/Over (Expense) +500
CR: Vault Cash Account -500
Cash Over (Physical > System):
System Balance: 500,000
Physical Count: 500,200
Variance: +200 (over)
Action:
1. Recount immediately
2. Review transaction log
3. If confirmed, record variance:
GL Entry:
DR: Vault Cash Account +200
CR: Cash Short/Over (Income) -200
Security & Compliance​
Dual Control​
High-value vault transactions require:
- Two-Person Rule: Two authorized persons present
- Signature Verification: Both custodians sign
- Video Surveillance: CCTV recording mandatory
- Access Logs: Electronic access tracking
Regulatory Reporting​
Vault operations may require reporting:
| Threshold | Reporting Requirement | Authority |
|---|---|---|
| Large Cash Deposits | Currency Transaction Report (CTR) | Financial Intelligence Unit |
| Suspicious Patterns | Suspicious Activity Report (SAR) | Financial Intelligence Unit |
| Cross-Border | Cross-Border Cash Report | Customs/Central Bank |
Concurrent Transaction Safety​
BankLingo V2 ensures vault integrity in concurrent scenarios:
Optimistic Locking​
Every vault 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 08:00 - Vault Balance: 500,000
Time 08:01 - CIT Funding 100,000 PENDING
Time 08:02 - Till Replenishment 50,000 COMPLETED (balance: 450,000)
Time 08:03 - CIT Funding 100,000 COMPLETED (balance: 550,000)
Final: 550,000 ✓ (both transactions preserved)
Error Handling​
All transactions use standard error codes:
| Error Code | Description | Action |
|---|---|---|
00 | Success | Transaction completed |
01 | Insufficient vault cash | Request funding |
05 | Vault closed/suspended | Cannot transact |
12 | Invalid amount | Verify amount |
51 | Limit exceeded | Transfer excess to head office |
91 | System error | Retry or contact support |
Best Practices​
For Vault Custodians​
- Conduct daily physical counts
- Verify all funding deliveries immediately
- Keep vault organized (sort by denomination)
- Report discrepancies immediately
- Maintain dual control for large transactions
- Follow physical security protocols strictly
For Branch Managers​
- Monitor vault balance daily
- Schedule regular funding deliveries
- Approve large transactions promptly
- Investigate variances immediately
- Ensure adequate cash for operations
- Review audit trails regularly
- Maintain insurance coverage
For Developers​
- Always track vault impact in transactions
- Use delta-based tracking for balances
- Implement proper locking mechanisms
- Test concurrent transaction scenarios
- Validate vault limits before execution
- Log all cash movements with source/destination
Next Steps​
Explore specific transaction types:
- Vault Funding - Technical Flow →
- Vault to Till - Technical Flow →
- Till to Vault - Technical Flow →
Related operations:
- See Teller Transactions - Till operations
- See Deposit Transactions - Customer transactions
- See API Reference - Vault Transactions (./developer/)
Last Updated: January 4, 2026
Version: 2.0
Status: Production Ready