Finacle or TCS BaNC
- Anand Nerurkar
- Feb 18
- 5 min read
š¦ 1ļøā£ Finacle (Core Banking System ā CBS)
Finacle
Finacle is a Core Banking System (CBS).It is the system of recordĀ for:
Customer master
Accounts (CASA, FD, RD, Loans)
GL & accounting
Interest calculations
Transactions posting
Regulatory reporting base data
š” Important Architecture Principle:
CBS owns the balance and accounting truth.Everything else surrounds it.
Think of CBS as the heart, and other systems as organs connected through arteries (APIs, MQ, files).
š§© 2ļøā£ CBS Integration Patterns
There are 5 major integration patterns used with Finacle.
š¹ Pattern 1: Synchronous API (Real-Time)
Used when immediate response is required.
Example:
Customer applies for personal loan ā LOS calls Finacle ā
Check customer CIF
Check liabilities
Validate KYC
Block lien
Open loan account
Flow:
LOSĀ ā API Gateway ā ESB/Middleware ā Finacle API ā Response ā LOS
ā Used for:
Balance enquiry
Account creation
Fund transfer
Real-time limit validation
ā Pros:
Immediate confirmation
Better UX
ā Cons:
Tight coupling
Dependency on CBS uptime
š¹ Pattern 2: Asynchronous (Event / MQ Based)
Used when immediate response is not mandatory.
Example:
Loan disbursement completed āEvent published āLMS / CRM / Reporting consumes event.
Flow:
Finacle ā Event Bus (Kafka / MQ)Ā ā Downstream Systems
ā Used for:
Notifications
CRM updates
Analytics
Audit trail
ā Pros:
Decoupled systems
Resilient
Scalable
ā Cons:
Eventual consistency
š¹ Pattern 3: Batch File-Based Integration
Old but still heavily used.
Example:
EOD GL extract
NPA marking
Regulatory reporting
Bulk interest application
Flow:
Finacle ā SFTP ā Batch Processor ā Target System
ā Used for:
Regulatory reporting
Data warehouse loads
Reconciliation
ā Pros:
Handles large volumes
Simpler
ā Cons:
Delayed updates
Not real-time
š¹ Pattern 4: Database-Level Integration (Avoided Today)
Older systems used direct DB read.
ā Not recommended in modern banking:
Security risk
Upgrade impact
Vendor support issues
Modern banks prefer API-first.
š¹ Pattern 5: Microservices Wrapper Around CBS
Modern pattern.
You create a digital abstraction layerĀ over Finacle.
ChannelĀ ā Digital Microservice ā API Gateway ā Finacle
This prevents:
Direct CBS exposure
Overloading CBS
Tight coupling
This is common in modernization programs.
š§± 3ļøā£ Surround Systems Around CBS
Now letās go one by one.
š¦ LOS ā Loan Origination System
Purpose:
Customer onboarding
Credit underwriting
Document capture
Eligibility calculation
Integration with CBS:
Customer CIF check (real-time)
Loan account creation (real-time)
Status updates (async)
LOS = Pre-disbursement systemCBS = Financial booking system
š LMS ā Loan Management System
Purpose:
EMI schedule
Restructuring
Delinquency tracking
Collections
Integration:
Repayment posting ā real-time
DPD updates ā batch
NPA marking ā batch
Sometimes LMS is merged with CBS.Sometimes external (e.g., retail lending stack).
š¤ CRM ā Customer Relationship Management
Purpose:
360° customer view
Sales tracking
Cross-sell
Integration:
CIF creation event
Account opening event
Transaction alerts
Mostly event-driven (async).
š AML ā Anti-Money Laundering
Purpose:
Suspicious transaction detection
Regulatory compliance
Integration:
Real-time transaction screening
Batch monitoring
Sanction list matching
High sensitivity.Usually hybrid (real-time + batch).
š³ Payments System
Purpose:
NEFT / RTGS / UPI / IMPS
Card processing
Integration:
Real-time debit validation
Real-time balance check
End-of-day settlement batch
Payments must be real-time, but reconciliation is batch.
ā” 4ļøā£ Real-Time vs Batch Integration (Deep Comparison)
Feature | Real-Time | Batch |
Response | Immediate | Delayed |
Use Case | Balance check, debit | Reporting, EOD |
Coupling | Tight | Loose |
Risk | CBS downtime impacts flow | Safer |
Performance | Lower volume | High volume |
Consistency | Strong | Eventual |
š„ When to Use Real-Time
Use when:
Customer is waiting
Money movement happens
Regulatory validation needed
Fraud check required
Example:UPI debit ā Must validate balance instantly.
š When to Use Batch
Use when:
No customer impact
Large volume
Heavy compute
Historical reporting
Example:Interest calculation for 20 million accounts.
š 5ļøā£ Modern Target Architecture (Ideal)
In modernization programs (especially cloud-based):
Channels
ā
API Gateway
ā
Digital Microservices Layer
ā
Event Bus
ā
Finacle (CBS)
Surround systems subscribe via events.
This gives:
Loose coupling
Cloud scalability
Faster product launch
CBS protection
šÆ
āCBS like Finacle should remain the system of record. Surround systems should integrate via API-first and event-driven architecture. Real-time should be limited to balance-impacting transactions, while analytics and regulatory processes should move to async or batch for scalability.ā
š¦ How Do You Modernize Around Finacle Without Disturbing the Core?
Finacle
First principle:
Do not touch the core unless absolutely necessary.Modernize aroundĀ it, not insideĀ it.
Finacle remains the system of record.Everything else evolves around it.
š· 1ļøā£ Establish a Digital Abstraction Layer
Problem:
Channels directly calling Finacle ā tight coupling ā performance risk ā upgrade dependency.
Solution:
Introduce a Digital Services Layer (DSL).
Mobile / Web / Branch
Ā Ā Ā Ā Ā Ā Ā Ā ā
API Gateway
ā
Digital Microservices Layer
ā
Finacle APIs
Why this works:
CBS is shielded
Channels donāt depend on Finacle schema
You can change UX without touching core
Future core replacement becomes easier
This is the strangler pattern for core banking.
š· 2ļøā£ API-First, Not DB-First
Never allow:
Direct DB reads
Custom SQL hacks
Stored procedure dependencies
Instead:
Use Finacle APIs
Wrap them with your own microservices
Add transformation layer
You decouple domain logic from CBS structure.
š· 3ļøā£ Move Non-Financial Workloads Outside
Finacle should only handle:
Balance updates
GL posting
Regulatory accounting
Core transaction posting
Move outside:
Customer 360
Campaign management
Analytics
Notifications
Eligibility engines
Product configuration logic
This reduces:
Core load
Upgrade risk
Batch window pressure
š· 4ļøā£ Introduce Event-Driven Architecture
Instead of polling Finacle:
Finacle ā EventĀ ā Kafka/EventĀ Bus ā Downstream Systems
Examples:
Account opened ā CRM updated
EMI paid ā Collections updated
Transaction done ā AML screened
This ensures:
Loose coupling
Real-time propagation
No CBS overload
š· 5ļøā£ Carve Out Microservices Gradually
Use domain decomposition:
Start with:
Limits service
Customer profile service
Fees engine
Document service
Notification service
Gradually reduce business logic dependency on CBS.
Over time:CBS becomes ledger engine.
š· 6ļøā£ Reduce Batch Dependency
Legacy model:
Heavy EOD
Overnight reconciliation
Batch GL posting
Modern model:
Near real-time posting
Event-based reconciliation
Incremental processing
Goal:Shrink EOD window without touching core algorithms.
š· 7ļøā£ Use Middleware as Shock Absorber
Introduce:
ESB or lightweight integration layer
API Gateway
Circuit breaker
Rate limiter
This protects Finacle from:
Traffic spikes
Retry storms
Channel bugs
š· 8ļøā£ Upgrade Without Impact Strategy
Before any Finacle upgrade:
Freeze contract at API layer
Regression test only wrapper layer
Avoid customizations inside Finacle
Keep core vanilla as much as possible
Customization inside CBS = modernization killer.
š§ Architecture Vision (Target State)
Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Ā Channels
ā
API Gateway
ā
Digital Microservices Layer
ā
Event Streaming
ā
Finacle
(Ledger & Accounting Only)
Core becomes:ā Stableā Minimal customizationā Ledger-centric
Digital innovation happens outside.
š„ Risk Areas You Must Manage
Risk | Mitigation |
Performance bottleneck | Caching layer |
Duplicate transactions | Idempotency keys |
Retry storms | Exponential backoff |
Data mismatch | Reconciliation microservice |
Upgrade breakage | Contract testing |
šÆ
āOur modernization approach preserves Finacle as a stable ledger engine while shifting innovation to an API-driven, event-enabled digital layer. This reduces upgrade risk, improves scalability, and allows faster product launches without destabilizing the core.ā
.png)

Comments