Core Banking System (CBS)
Overviewโ
The Core Banking System (CBS) is the central software platform that manages a bank's primary banking operations โ account management, transaction processing, product configuration, and customer records. Every payment, deposit, withdrawal, and account event ultimately flows through or is recorded in the core banking system.
Think of it as the single source of truth for:
- What accounts exist
- What balances they hold
- What transactions have been posted
- What products are configured
What CBS Doesโ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ CORE BANKING SYSTEM โ
โ โ
Channels โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โโโ Mobile App โ โ Account โ โ Ledger / โ โ
โโโ Internet โ โ Mgmt โ โ Accounting โ โ
โโโ Branch โ โ Module โ โ Engine โ โ
โโโ ATM โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โโโ API โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โ โ โ Product โ โ Customer / โ โ
โโโโโโโโโโโบโ โ Config โ โ CIF Module โ โ
โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
Payments โ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โโโ NPP โ โ Interest โ โ Reporting & โ โ
โโโ BECS โ โ & Fees โ โ Statements โ โ
โโโ SWIFT โโโโโบโ โโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโโ โ
โโโ RTGS โ โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
Core Modulesโ
1. Account Managementโ
- Create, modify, and close accounts
- Manage account status (Active / Dormant / Closed / Blocked)
- Maintain account linkages (offset accounts, joint accounts)
- Account-level flags (direct debit allowed, international payments, etc.)
2. Customer Information File (CIF)โ
- Central customer record (KYC details)
- Links all accounts to a customer
- Risk classification, PEP flags, relationship history
- One customer โ many accounts
CIF (Customer Master)
โโโ CustomerID: CUST-001
โโโ Name: Jane Smith
โโโ DOB: 1985-06-15
โโโ KYC Status: VERIFIED
โโโ PEP Flag: false
โโโ Risk Rating: LOW
โโโ Accounts:
โโโ Account 001 โ Transaction (AUD)
โโโ Account 002 โ Savings (AUD)
โโโ Account 003 โ Term Deposit (AUD)
3. General Ledger / Accounting Engineโ
- Double-entry bookkeeping
- Posts debits and credits for every event
- Maintains real-time account balances
- Generates trial balances and financial reports
4. Product Factory / Configurationโ
- Defines product parameters (interest rates, fees, limits)
- Attaches rules to account types
- Supports product versioning and promotional rates
5. Interest & Fees Engineโ
- Calculates interest daily (accrual basis)
- Credits/debits interest on schedule
- Applies transaction fees, maintenance fees, dishonour fees
6. Statement & Reportingโ
- Generates end-of-day camt.053 statements
- Regulatory reports (APRA, AUSTRAC)
- Customer statements
Common CBS Vendors (Market)โ
| Vendor | Product | Notes |
|---|---|---|
| Temenos | Transact (T24) | Very widely used globally |
| Infosys | Finacle | Major in Asia-Pacific |
| Oracle | FLEXCUBE | Large enterprise banks |
| FIS | Profile, BancWare | US/AU market |
| Thought Machine | Vault | Cloud-native; newer generation |
| Mambu | Mambu | Cloud-native; SaaS |
| TCS | BaNCS | Large APAC banks |
| In-house | Custom | Some major banks built their own |
CBS and the Payment Systemโ
The CBS is not the payment engine itself โ it is the system of record that payment engines connect to:
Payment Gateway / Processor
โโโ Receives pacs.008
โโโ Validates payment
โโโ Screens for sanctions/fraud
โโโ Calls CBS API: "Debit account X by $Y" โโโ CBS interaction
โ "Credit account Z by $Y" โโโ CBS interaction
โโโ Submits to NPP/RTGS/BECS
CBS:
โโโ Checks account status
โโโ Checks available balance
โโโ Posts the debit/credit entry
โโโ Updates balance
โโโ Returns transaction reference
Account Balance โ How CBS Tracks Itโ
Every transaction creates a ledger entry in CBS. Balance is derived from all entries:
// Simplified โ real CBS uses optimised running balance
BigDecimal balance = ledgerEntries.stream()
.map(e -> e.isCrdt()
? e.getAmount()
: e.getAmount().negate())
.reduce(BigDecimal.ZERO, BigDecimal::add);
Balance Types in CBSโ
| Balance | Formula | Purpose |
|---|---|---|
| Ledger Balance | Sum of all booked entries | Bank's books |
| Available Balance | Ledger โ Holds | What customer can spend |
| Cleared Balance | Booked entries past clearing window | No reversal risk |
| Shadow/Memo Balance | Pre-booked/authorised amount | Real-time view |
CBS APIs for Payment Systemsโ
Modern CBS platforms expose APIs that payment processors call:
// Typical CBS API contract for payments
interface CoreBankingService {
// Check available balance before payment
BalanceResponse getAvailableBalance(String accountId);
// Reserve funds (debit hold)
HoldResponse createHold(String accountId, BigDecimal amount, String reference);
// Convert hold to final debit
PostingResponse finaliseDebit(String holdId, String txReference);
// Release a hold (payment cancelled)
void releaseHold(String holdId);
// Direct credit (no prior hold needed for inbound)
PostingResponse postCredit(String accountId, BigDecimal amount,
String txReference, String narrative);
// Account validation
AccountValidationResponse validateAccount(String bsb, String accountNumber);
// Account details lookup
AccountDetails getAccountDetails(String accountId);
}
CBS in a Microservices Architectureโ
Modern payment platforms integrate CBS as a downstream service:
API Gateway
โ
โผ
Payment Orchestrator (Spring Boot)
โ
โโโโบ Sanctions Service
โโโโบ Fraud Service
โโโโบ CBS Adapter (Spring Boot) โโโบ Core Banking System (T24/Finacle)
โโโโบ Network Gateway (NPP/SWIFT)
โโโโบ Notification Service
The CBS Adapter abstracts CBS-specific APIs, so the payment orchestrator is not coupled to the vendor's proprietary interface.
CBS Availability and Resilienceโ
CBS is the most critical system in a bank. Availability requirements:
| Requirement | Target |
|---|---|
| Availability | 99.99% (< 1 hour downtime/year) |
| Planned maintenance | Off-peak (Sunday 2โ4 AM) |
| Disaster recovery | Hot standby (< 5 min RTO for payments) |
| Read replicas | Yes โ balance enquiries hit replica; postings hit primary |
| Transaction rate | Major banks: thousands of TPS |
Related Conceptsโ
- account_types.md โ Account types managed by CBS
- debit_post.md โ How payment systems call CBS for postings
- inbound.md โ CBS credit after settlement
- outbound.md โ CBS debit before submission
- reconciliation.md โ Reconciling CBS entries against scheme
Interview Questions (Senior Level)โ
- How do you isolate core banking availability risk from channel and payment-service failures?
- What migration strategy minimizes risk when modernizing legacy CBS integrations?
- How do you enforce ledger integrity under high-concurrency posting workloads?
- What recovery controls are mandatory for CBS incident scenarios?
Short answer guide:
- Use resilient adapters, queues, and controlled degradation around CBS dependencies.
- Migrate via strangler patterns with parallel validation and reconciliation.
- Enforce idempotent posting keys and strict accounting invariants.
- Define RTO/RPO drills, replay safety, and reconciliation checkpoints.
Position CBS as ledger authority with strict posting correctness and reconciliation guarantees.
Treating CBS as a generic downstream service without accounting invariants.