A step-by-step guide to building a co-lending arrangement in India. Eight stages, the options at each one, exactly how each step connects to the next, real costs, and what breaks. Written for someone who has not built this before.
Verified September 2026Free · No signupOfficial sources only
BeginnerStart here. No prior knowledge assumed.
How to use this page
This page walks you through building one product: two regulated lenders funding the same loan to
the same borrower, at the same time. A bank brings cheap money, an NBFC brings reach and
underwriting.
Watch out
Everything written about co-lending before August 2025 describes a repealed framework. The RBI (Co-Lending Arrangements) Directions, 2025 (issued 6 August 2025, refs RBI/DOR/2025-26/139 and DOR.STR.REC.44/13.07.010/2025-26) took effect 1 January 2026 and repealed the 2020 circular entirely. Three things changed that invalidate most existing designs: the bank can no longer reject loans after sourcing, the borrower must be charged a single blended rate, and both partners retain 10% rather than the NBFC retaining 20%.
What co-lending actually is
Co-lending exists because banks and NBFCs have opposite problems. A bank has cheap deposits and
weak reach into small-ticket and rural lending. An NBFC has the reach and the underwriting but funds
itself expensively. Put them on the same loan and the borrower gets a rate neither could offer
alone.
The blended rate is the change with the most commercial consequence. Under the hurdle-rate model an NBFC could price the borrower above its own cost and keep the spread created by the bank's cheaper funds. A single weighted-average rate removes that margin entirely. If your co-lending business case was built on it, the business case is gone — and that is the point of the rule.
What it is not:
Not loan sale. Buying loans after origination is the Transfer of Loan
Exposures regime — a different rulebook with different economics.
Not two loans. One borrower, one loan, one rate, one point of contact.
Not outside digital lending rules. A digital co-lending arrangement is governed
by both these Directions and the Digital Lending Directions, 2025.
The whole journey, in one table
#
Step
In plain words
1
Find a partner, write the CLA
A board-approved policy and a formal agreement. Before any code.
2
Agree the commitment
Irrevocable, back-to-back. The bank cannot cherry-pick later.
3
Compute the blended rate
Weighted average. One number to the borrower.
4
The KFS
Each lender's share and rate, plus the blended APR.
5
Disburse and transfer
Escrow, and 15 calendar days.
6
Two books, one borrower
Separate accounts, one common reference number.
7
Service it
One customer interface. Rate changes ripple.
8
Classify and disclose
The same borrower cannot be standard at one lender and NPA at the other.
Note
Steps 3 and 8 are the two that break integrations. Blended pricing has to recompute whenever either partner moves its rate, and unified asset classification requires two institutions with different internal norms to agree on one answer about one borrower, every day.
IntermediateBuild it. Pipelines, tools and working code.
Steps 1 to 3 — partner, commitment, pricing
Step 1 — The partner and the agreement
Both parties need a board-approved co-lending policy, and the arrangement needs a
formal CLA covering, at minimum:
Terms and the funding split
Borrower selection criteria, agreed up front rather than applied case by case
Fee structure between the partners
Segregation of responsibilities — sourcing, underwriting, servicing, collections
Which lender is the customer interface
Step 2 — The commitment that changed the product
Watch out
Under the 2020 model the bank could look at each sourced loan and decline it. That discretion is abolished. The partner now gives an irrevocable commitment to fund its agreed share on a back-to-back basis, and selective or post-disbursement acquisition falls under the Transfer of Loan Exposures Directions instead — a different regime entirely. The consequence is architectural: your credit policy must be agreed BEFORE origination, in the CLA, because there is no second look. Every co-lending stack built on “source, then send to the bank for approval” needs rebuilding as “apply the agreed policy, then both fund automatically”.
Step 3 — The blended rate
Python — step 3, the blended rate, recomputed whenever either side moves
from decimal import Decimal, ROUND_HALF_UP
# ONE rate to the borrower: the weighted average of the partners' rates,
# weighted by their funding share. The hurdle-rate model -- where each lender
# priced separately and the originator kept the difference -- is gone.
def blended_rate(legs) -> Decimal:
"""legs = [{'re':'BANK','share':Decimal('0.80'),'rate':Decimal('9.50')}, ...]"""
total = sum(l["share"] for l in legs)
assert total == Decimal("1"), f"shares must sum to 1, got {total}"
for l in legs:
# Each partner retains a minimum 10% of EVERY individual loan.
# 2025 Directions: applies to BOTH sides, not just the NBFC.
assert l["share"] >= Decimal("0.10"), f"{l['re']} below the 10% floor"
r = sum(l["share"] * l["rate"] for l in legs)
return r.quantize(Decimal("0.01"), ROUND_HALF_UP)
def borrower_apr(legs, fees_paise, principal_paise, tenure_months) -> Decimal:
# Any charge the borrower pays on top of blended interest goes into the APR.
# A fee that exists anywhere in the journey and is not in the APR makes the
# APR wrong, and the APR is the binding number.
return apr_from(principal_paise, fees_paise, blended_rate(legs), tenure_months)
def on_partner_rate_change(loan, re_id, new_rate):
# A rate move by EITHER partner changes what the borrower pays. Servicing
# must recompute, reschedule and re-disclose -- this is not a back-office
# adjustment, it is a change to the customer's contract terms.
legs = [dict(l, rate=new_rate) if l["re"] == re_id else l for l in loan["legs"]]
new = blended_rate(legs)
return {"old_blended": loan["blended_rate"], "new_blended": new,
"reschedule": new != loan["blended_rate"],
"fresh_kfs_required": new != loan["blended_rate"],
"notify_borrower": True}
# WHAT TO CHECK
# [ ] the 10% floor is asserted PER LOAN, not per portfolio. A portfolio at 12%
# containing individual loans at 4% does not comply
# [ ] shares sum to exactly 1. Use Decimal; a float rounding error here is a
# mispriced loan
# [ ] blended rate recomputes on ANY partner rate change, and triggers a fresh
# KFS. Teams build the rate once at origination and never revisit it
# [ ] every borrower charge is in the APR, not just the interest
# [ ] store the LEGS with the loan -- share and rate per partner, at that date.
# Recomputing from today's rates cannot reproduce a historical instalment
# [ ] the borrower sees ONE rate. Showing two lenders' rates is the model the
# Directions replaced
The gotcha nobody documents: the blended rate is not a number you compute once.
If either partner changes its rate during the loan's life — and over a multi-year tenure one of
them will — the borrower's rate changes, the schedule changes, and a fresh Key Fact Statement is
owed. Most co-lending implementations compute the blend at origination and store it as a constant.
That is a defect that only surfaces at the first repricing, by which time there are thousands of
loans carrying a stale rate.
Steps 4 to 8 — the KFS, the money, the books
Step 4 — The Key Fact Statement
The KFS carries more than an ordinary loan's does. It must show each lender's share and
rate as well as the single blended figure:
Bank — 80% @ 9.50% · NBFC — 20% @ 16.00% ·
Blended — 10.80% · APR including all charges — 11.4%
Everything in Product Guide 03 about the KFS
applies here too: it is shown before sanction, the APR includes every fee, and
you store the rendered document rather than the inputs.
Steps 5 to 8 — Escrow, books, servicing, classification
Python — steps 5 to 8: escrow, two books, one answer about the borrower
from datetime import timedelta
TRANSFER_WINDOW = timedelta(days=15) # calendar days, not business days
def disburse(loan, escrow, legs):
# All transactions between the REs and the borrower route through an escrow
# maintained for the arrangement. Neither lender's own account touches
# borrower money directly.
for l in legs:
escrow.credit(source=l["re"], amount=l["share"] * loan["principal_paise"],
ref=loan["common_ref"])
escrow.debit(to=loan["borrower_account"], amount=loan["principal_paise"],
ref=loan["common_ref"])
return {"transfer_due_by": loan["origination_date"] + TRANSFER_WINDOW}
def book(loan, legs):
# SEPARATE loan accounts per co-lender, joined by ONE common reference.
# The common ref is what makes reconciliation and credit bureau reporting
# possible; without it you have two unrelated loans to the same person.
return [{"re": l["re"], "account_no": l["re"] + "-" + loan["common_ref"],
"common_ref": loan["common_ref"], "share": l["share"],
"rate": l["rate"], "outstanding": l["share"] * loan["principal_paise"]}
for l in legs]
def classify(loan, views):
"""views = each partner's own SMA/NPA view of this borrower."""
# UNIFIED BORROWER-LEVEL CLASSIFICATION. The same borrower cannot be
# standard at the bank and NPA at the NBFC. The partners' internal norms
# differ, so the CLA must say HOW the single answer is reached.
worst = max(views.values(), key=lambda v: v["severity"])
disagreement = len({v["stage"] for v in views.values()}) > 1
return {"agreed_stage": worst["stage"],
"partners_disagreed": disagreement,
"resolution_rule": loan["cla"]["classification_rule"],
"action": "escalate_to_cla_committee" if disagreement
and not loan["cla"].get("classification_rule") else "apply"}
# WHAT TO CHECK
# [ ] the transfer window is 15 CALENDAR days. A 15-business-day assumption is
# wrong by up to five days in a month with holidays
# [ ] common_ref is generated ONCE, at origination, and used by both partners in
# their own systems AND in credit bureau reporting
# [ ] the classification rule is written INTO the CLA, not resolved by email
# each time. Two institutions with different SMA norms will disagree, and
# the borrower's bureau record depends on the answer
# [ ] ONE customer interface, named in the loan agreement. If it changes during
# the tenure the borrower is told IN ADVANCE
# [ ] escrow reconciles daily. Two funders, one disbursal, one repayment stream
# -- see Build Sheet 05 for the control-total discipline
# [ ] DLG between the partners is capped at 5% and disclosed
The gotcha nobody documents: unified asset classification. Two institutions with
different internal SMA and NPA norms must produce one answer about one borrower,
every day, and that answer drives the borrower's credit bureau record. The Directions require the
unified view but do not resolve the methodological difference for you. If your CLA does not
state exactly how disagreement is settled, you will be settling it by email while a borrower's bureau
file is wrong. Write the rule into the agreement, implement it as code, and log every time
the partners disagreed — that log is the evidence the rule is being applied consistently.
Disclosure
NBFCs must list their co-lending partners publicly on their website.
Financial statements must disclose volumes, rates, fees, performance and
guarantees for co-lending arrangements.
Any DLG between the partners is capped at 5% and disclosed.
What it costs
Co-lending — what it costs and what it earns
Verified September 2026
The retentiondirect
10% of every individual loan, on both sides. That is capital tied up per loan, not per portfolio, and it is the real cost of participating.
The margin you can no longer takedirect
The blended rate removes the hurdle-rate spread. If the business case depended on pricing the borrower above your own cost while funding at the bank's, that margin is gone by design.
The DLGdirect
Capped at 5%, and it is real capital posted, not a marketing term. See Product Guide 03 for the eligible forms.
Two-system integrationdirect
Separate loan accounts in two institutions joined by one reference, daily escrow reconciliation, and a blended rate that recomputes on either side's move. Budget this as an integration project, not a feature.
The 15-day clockdirect
Operational cost of hitting a calendar-day transfer window every time, including across holidays.
What you earndirect
Reach and volume the NBFC could not fund alone, and assets the bank could not originate alone. The economics now come from volume and cost of funds, not from pricing opacity — which is a harder but more durable business.
Where to buy these: Credit Underwriting Build Sheet names every tool with its unit cost. Getting Access covers which ones you can sign up for today, which need a sales call, and which are licensed.
Note
Model the arrangement, not the loan. A co-lending book's economics depend on the funding split, both partners' costs of funds, the retention on both sides, and the DLG posted. Change any one and the whole arrangement reprices. Build that as a model you can run before you sign the CLA, because the CLA is hard to renegotiate afterwards.
AdvancedShip it. Failure modes, thresholds and evidence.
Three versions you could build
The starting version
Build: one bank partner → a CLA with the credit policy agreed up front
→ blended rate computed and stored with the legs → KFS showing both shares → escrow
disbursal → separate books with a common reference → manual classification reconciliation.
It breaks when: either partner reprices, or the partners disagree on a borrower's
stage.
The proper version
Build: everything above, plus — blended rate as a function that
recomputes on any leg change and triggers a fresh KFS → the classification rule written into the
CLA and implemented in code, with a disagreement log → daily escrow reconciliation with control
totals → the 10% floor asserted per loan → common reference flowing into both bureau
submissions → the public partner list and statutory disclosures automated.
Trade: you are operating inside another institution's release cycle. Their rate
change is your reschedule.
Multiple partners
Build: several bank partners, routed by product and geography, with an
arrangement-level economic model per partner.
It breaks when: you build it before one arrangement has run through a full cycle
— an origination, a repricing, a delinquency and a recovery. Until then you do not know what
you are scaling.
Note
If you take one thing from this page: the credit policy must be settled in the CLA, before origination. The bank's second look is gone. Every stack designed around “source, then get approval” has to become “apply the agreed policy, then both fund automatically” — and that is a rebuild, not a configuration change.
What goes wrong
What goes wrong
Why
Fix
The bank tries to decline a sourced loan
Designed against the 2020 discretionary model.
Irrevocable back-to-back commitment. Agree policy in the CLA.
Blended rate goes stale
Computed once at origination and stored as a constant.
A function over the legs, recomputed on any change.
Retention below 10% on some loans
The floor was applied at portfolio level.
Assert per individual loan.
Partners disagree on NPA stage
Different internal norms, no rule in the CLA.
Write the resolution rule into the agreement; log disagreements.
Two unrelated loans in the bureau
No common reference number.
One ref, generated at origination, used by both.
Transfer misses the window
15 business days assumed.
Calendar days.
Borrower sees two rates
The old model surfaced in the UI.
One blended rate; shares disclosed in the KFS only.
The business case evaporates
It rested on the hurdle-rate spread.
It is gone by design. Rebuild on volume and cost of funds.
This page is a guide, not a specification. Co-lending is a regulated arrangement between licensed entities and the CLA is a binding contract that is difficult to renegotiate. Nothing here is legal advice. Have your agreement, your pricing model and your classification rule reviewed by qualified counsel before the first loan is sourced.
Sources
Every figure, rule and date on this page, and where to check it. Entries are typed so you can see which are primary-sourced and which are industry reporting.
officialRBI (Co-Lending Arrangements) Directions, 2025 — issued 6 August 2025 (RBI/DOR/2025-26/139 · DOR.STR.REC.44/13.07.010/2025-26), effective 1 January 2026. The 10% retention on both sides, the irrevocable back-to-back commitment, the blended rate, the 15-calendar-day transfer, escrow routing, unified borrower-level classification, the 5% DLG cap and the disclosure obligations. www.rbi.org.in
officialRBI Co-Lending by Banks and NBFCs to Priority Sector (5 November 2020) — the repealed framework — retained here only to show what changed. www.rbi.org.in
officialRBI (Transfer of Loan Exposures) Directions — the regime that now governs selective or post-disbursement loan acquisition, which co-lending no longer permits. www.rbi.org.in
officialRBI (Digital Lending) Directions, 2025 — applies in addition to the Co-Lending Directions where the arrangement is digital. www.rbi.org.in
industryLegal and practitioner analysis of the 2025 Directions — the comparison table against the 2020 model, and the observation that the blended rate removes the hurdle-rate margin. Verify any specific figure against the Directions before relying on it.
industryCore lending platform implementation notes — the KFS share-disclosure format, common loan reference numbering, and dynamic rate recalculation. Vendor-sourced.
Checked September 2026. These Directions took effect on 1 January 2026; anything older describes a repealed framework.
Ask an AI about this page
Opens your assistant with this page as the source, and a question rather than a summary. It will ask what you are building before it answers.