Case study · Lending and wallets
An open-source lending and wallet core, taken to bank scale
IDFC Bank's new Bharat Banking division needed rural group lending, and Novopay needed a ledger for its agent wallet network. I was architect and lead engineer on the Apache Fineract-based lending and wallet core that served both.
The problem
IDFC received its banking licence in 2014 with a mandate to serve rural India. Its Bharat Banking division needed joint-liability group (JLG) and micro-enterprise lending through business correspondents in the field, without buying a legacy core banking system.
- Novopay had a parallel problem. It was building a retailer-led payments network for the unbanked ("mobile + Aadhaar + retail") and didn't want to build wallet management from scratch.
- Open source was a hard sell to banks. Buyers doubted the quality of free software, and knowledge transfer from core developers through partners was slow and expensive.
- The lending rules were regulator-grade, not generic. Repayments had to be applied interest-first while a loan was performing and principal-first once it was 90 days past due or written off. Loans had to move automatically through standard, sub-standard, doubtful and loss provisioning. RBI priority-sector and FATCA tags had to be recorded.
- Lending happened where connectivity didn't. Field agents needed to onboard borrowers biometrically, offline.
- The pilot was still taking shape. In August 2014 regions, retail versus group lending, the wallet and service levels were all still open.
The outcome
- A complete lending engine by 2014–15: individual and group loan products, chart of accounts, tablet onboarding with document capture, disbursement, repayment, charges, waivers and write-offs, with maker-checker, audit log, reporting, batch jobs and multi-tenancy.
- IDFC's instance configured end to end, including LDAP-only sign-in, an RBI-aligned chart of accounts and IDFC-specific accounting entries.
- The same ledger ran Novopay's agent network at scale: by Novopay's own figures, 50,000+ agents across 20+ states, 2.1 million wallet clients and over US$1 billion in transactions a year.
- Kept running in production through 2018, with ongoing fixes to foreclosure, interest accrual and other batch jobs.
- Cited by the Mifos Initiative as its flagship fintech adoption in India.
What shipped, when
| When | Milestone |
|---|---|
| Aug 2014 | Lending engine presented to IDFC: group and individual products, onboarding, full loan lifecycle |
| Oct 2015 | Product suite: assets architecture, ML credit-scoring design, loan-officer route planning |
| Nov 2017 | Solution architecture document v1.0 |
| Apr 2018 | Solution architecture v2.0: active/active DMZ and TOTP second factor |
| 2018 | Production support for foreclosure, accrual and batch jobs |
How it worked
Instead of a new core, both businesses ran on Apache Fineract, extended where banking rules demanded it:
- Field origination: offline biometric login for agents, rule-based duplicate detection, PAN validation and real-time credit bureau checks.
- Group lending through correspondents, with a first-loss default guarantee and revenue share settled by file exchange.
- Regulatory arithmetic inside the ledger: repayment appropriation that switches order at 90 days past due, automatic provisioning classes, priority-sector and FATCA tagging, and interest accrual that stops when a borrower is marked deceased.
- Wallets on the same ledger: Aadhaar-enabled deposits, withdrawals and remittance through partner banks, prepaid wallets, and utility and telecom payments for Novopay's retailer, merchant and consumer apps.
Tradeoffs worth keeping
- Open source over a licensed core. It meant earning banks' trust on quality, but both businesses got a proven ledger they didn't have to build or license.
- Put regulatory rules in the core, not around it. Provisioning and appropriation implemented in the ledger stay correct in every report and batch job; rules bolted on around it drift.
- Design for the field, not the branch. Offline biometric onboarding cost extra engineering, and it's what made lending through village correspondents workable.