Skip to main content

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.

Core Banking Ledger Posting Engine & Double-Entry Accounting Matrix
CUSTOMER ACCOUNT LEDGER CONTROLS
REAL-TIME BALANCE IMPACT
Booked Ledger Balance (EOD):$1000
Available Balance (Real-Time):$650
FUNDS AVAILABILITY DECISION
โœ… APPROVED (Sufficient Funds)

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

Ingress SourceCore CBS Subsystem ModuleFunctional Capabilities & Ledger RoleIntegration Model
Channels
(Mobile App, Web, Branch, ATM, API)
Account Management ModuleCreates/updates accounts, manages status (Active/Dormant/Frozen), offset linkages, and permission flags.Synchronous REST / gRPC API
Channels
(Onboarding, CRM)
Customer / CIF ModuleCustomer Information File (CIF): single source of truth for KYC identity, beneficial owners, and risk scores.Event-Driven & CDC Kafka sync
Product EngineProduct ConfigurationDefines interest calculation schedules, tier thresholds, loan amortization rules, and overdraft limits.Internal CBS Rules Engine
Financial EngineLedger / Accounting EngineReal-time double-entry general ledger posting (Assets, Liabilities, Equity, Revenue, Expense).Zero-loss transactional ACID writes
Billing EngineInterest & Fees EngineDaily accrual calculations and monthly capitalisation of debit/credit interest and fee schedules.Automated overnight batch job
Payments Rails
(NPP, BECS, SWIFT, RTGS)
Reporting & StatementsGenerates regulatory APRA returns, tax reporting, and periodic customer PDF/e-statements.Enterprise Message Bus

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)

VendorProductNotes
TemenosTransact (T24)Very widely used globally
InfosysFinacleMajor in Asia-Pacific
OracleFLEXCUBELarge enterprise banks
FISProfile, BancWareUS/AU market
Thought MachineVaultCloud-native; newer generation
MambuMambuCloud-native; SaaS
TCSBaNCSLarge APAC banks
In-houseCustomSome 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

BalanceFormulaPurpose
Ledger BalanceSum of all booked entriesBank's books
Available BalanceLedger โˆ’ HoldsWhat customer can spend
Cleared BalanceBooked entries past clearing windowNo reversal risk
Shadow/Memo BalancePre-booked/authorised amountReal-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:

RequirementTarget
Availability99.99% (< 1 hour downtime/year)
Planned maintenanceOff-peak (Sunday 2โ€“4 AM)
Disaster recoveryHot standby (< 5 min RTO for payments)
Read replicasYes โ€” balance enquiries hit replica; postings hit primary
Transaction rateMajor banks: thousands of TPS

Interview Questions

  1. How do you isolate core banking availability risk from channel and payment-service failures?
  2. What migration strategy minimizes risk when modernizing legacy CBS integrations?
  3. How do you enforce ledger integrity under high-concurrency posting workloads?
  4. 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.
Interview Focus

Position CBS as ledger authority with strict posting correctness and reconciliation guarantees.

Interview Trap

Treating CBS as a generic downstream service without accounting invariants.

๐Ÿ“–
Track Page Progress0 / 635 Read
Knowledge Base Completion0%