18.9 Co-lending share accounting
For each co-lent loan, the LMS maintains two share-level ledgers (originator + partner) plus a consolidated borrower ledger. This page is the share-accounting mechanic.
Why share-level accounting
Section titled “Why share-level accounting”- Each lender’s books must reflect their exact share at all times.
- Settlement between lenders depends on share-level data.
- Regulatory reporting (DNBS / bureau) requires per-lender data.
- Audit must show clean reconciliation between lenders.
- DLG invocation depends on share-level NPA accounting.
Data model
Section titled “Data model”Per co-lent loan:
loan_account { id: 1234560 sanction_amount: ₹25,00,000 current_outstanding_total: ₹15,00,000 (derived from share ledgers)}
loan_allocation { loan_id: 1234560 partner_lender_id: 7 originator_share_pct: 20 partner_share_pct: 80 originator_share_outstanding: ₹3,00,000 partner_share_outstanding: ₹12,00,000 booked_at: 2026-04-12}
loan_event (per event, share-attributed): { loan_id, event_type='accrual', payload: { originator_amount: ₹160, partner_amount: ₹640 } }Each loan event records both shares’ contribution (where applicable).
Daily accrual — share-level
Section titled “Daily accrual — share-level”For each co-lent loan: total_interest_daily = total_outstanding × rate / 365 originator_interest_daily = originator_share_outstanding × rate / 365 partner_interest_daily = partner_share_outstanding × rate / 365
emit event: accrual(loan_id, total=total_interest_daily, originator=originator_interest_daily, partner=partner_interest_daily)Repayment — share-level allocation
Section titled “Repayment — share-level allocation”When borrower pays:
Combined waterfall first: Penal, fees, interest, principal allocated per total view.
Then share-attribution: For each component (interest, principal, etc.): originator_share = component × (originator_share_pct / 100) partner_share = component × (partner_share_pct / 100)
Reduce each lender's outstanding accordingly.Worked example
Section titled “Worked example”Co-lent loan ₹25 lakh, 80:20 partner:originator. Outstanding split: partner ₹19,20,000, originator ₹4,80,000. Borrower pays EMI of ₹40,000.
Total interest accrued: ₹42,000 (partner ₹33,600, originator ₹8,400).
Allocation:
Interest collected: ₹40,000 Partner share: ₹40,000 × (33,600 / 42,000) = ₹32,000 Originator share: ₹40,000 × (8,400 / 42,000) = ₹8,000
Remaining interest arrears (each lender): Partner: ₹33,600 - ₹32,000 = ₹1,600 Originator: ₹8,400 - ₹8,000 = ₹400Each lender’s books updated independently:
Originator’s GL postings:
Dr Bank (collection escrow) - originator share ₹8,000 Cr Accrued Interest Receivable ₹8,000Partner’s GL postings (in partner’s own books):
Dr Bank - partner share ₹32,000 Cr Accrued Interest Receivable ₹32,000(Partner’s accounting happens in partner’s own systems; originator sends partner the MIS to enable partner-side posting.)
Daily settlement
Section titled “Daily settlement”Each day at the settlement-batch time:
For each partner: yesterday_partner_share_collected = sum of partner's allocation portions from yesterday's repayments
minus: servicing_fee_retained_by_originator (if applicable per agreement) minus: DLG_provision_retained (if applicable)
net_amount_due_to_partner = ...
Settlement instruction: From: Co-lending escrow account To: Partner's main account Amount: net_amount_due_to_partnerAfter settlement, both lenders’ books reflect the correct ownership.
Classification — lockstep
Section titled “Classification — lockstep”When daily classification runs for a co-lent loan:
days_overdue = compute as for any other loannew_class = classify per IRACPThe same classification applies to both lenders’ shares. There is no scenario where originator’s share is Standard while partner’s share is NPA.
On classification change: Update loan_account.current_classification Emit event: classification_change(loan_id, new_class) Push update to partner's MIS (next batch). Both lenders post provisioning per IRACP.Provisioning — share-level
Section titled “Provisioning — share-level”For each co-lent loan: For originator: originator_provision = originator_share_outstanding × provisioning_rate(class)
For partner: partner_provision = partner_share_outstanding × provisioning_rate(class) (Partner computes and posts in partner's own books.)Each lender’s prudential capital is affected by their share’s provisioning.
DLG impact
Section titled “DLG impact”If a DLG arrangement covers the partner’s portfolio with the originator providing 5% DLG:
When loan NPA classified + DLG eligibility window elapses (per agreement, e.g., 120 days): 1. Originator funds the DLG draw (debit FD lien or cash). 2. DLG amount credited to partner's share outstanding (reduces partner's NPA). 3. Originator records the DLG outflow.
GL postings on DLG invocation: Originator: Dr DLG Outflow (Expense / Asset reduction) [DLG amount] Cr Cash / FD [DLG amount]
Partner: Dr Bank (DLG receipt) [DLG amount] Cr Loan Outstanding (partner share) [DLG amount]Originator’s DLG cap monitored (2.5 DLG).
Partner MIS — daily
Section titled “Partner MIS — daily”Each day, originator sends partner an MIS file with per-loan share-level data:
| Column | Description |
|---|---|
partner_loan_account_id | Partner’s identifier |
originator_application_id | Originator’s identifier |
outstanding_principal (partner share) | |
outstanding_interest_accrued (partner share) | |
dpd_days | |
classification | |
repayments_today (partner share) | |
charges_today (partner share) | |
last_payment_date |
Partner uses this to update partner’s books.
Reconciliation between lenders
Section titled “Reconciliation between lenders”Periodic (typically monthly):
For each loan: Originator's records → Partner's records Compare: outstanding (partner share) accrued interest (partner share) repayments YTD (partner share) classification
Mismatches flagged for investigation.Reconciliation is critical for trust between lenders. Persistent mismatch is a contractual issue.
Settlement file format
Section titled “Settlement file format”Daily settlement file submitted to sponsor bank:
Header: settlement date, partner ID, total amountDetail records: per loan summary (loan_id, amount, ref)Trailer: count, totalBank executes NEFT / RTGS from co-lending escrow → partner main account.
What the LMS must enforce
Section titled “What the LMS must enforce”- Share-level postings for every accrual / repayment / charge / classification event.
- Total outstanding reconciles to sum of share outstandings always.
- Lockstep classification — same class for both shares same day.
- Daily MIS to partner with all required fields.
- Settlement file generation + execution monitoring.
- DLG monitoring per arrangement.
- Reconciliation report monthly minimum.
Compliance touchpoints
Section titled “Compliance touchpoints”- RBI Co-Lending Guidelines (2.6).
- DLG Guidelines (2.5).
- IRACP — applied per share.
- Bureau reporting — share-level data for each lender.