18.13 Edge cases catalogue
Production LMS / LOS handles thousands of edge cases. This page catalogues the meaningful ones — what’s expected, what often goes wrong.
LOS edge cases
Section titled “LOS edge cases”Application
Section titled “Application”1. Borrower abandons mid-application
Section titled “1. Borrower abandons mid-application”- Expected: save state; resume capability for
~30 days; auto-purge thereafter. - Common failure: state persisted but resume URL broken; borrower starts fresh, loses earlier data.
2. Borrower applies via two channels simultaneously
Section titled “2. Borrower applies via two channels simultaneously”- Expected: dedup at lead stage; both channels see “borrower already in process”; attribution policy decides which channel “wins”.
- Common failure: two applications created; duplicate KYC effort; conflicting status.
3. Borrower changes loan amount mid-application
Section titled “3. Borrower changes loan amount mid-application”- Expected: amount editable until submit; re-runs eligibility check.
- Common failure: backend cached old amount; decision runs on old.
4. Borrower with multiple GSTINs (multi-state)
Section titled “4. Borrower with multiple GSTINs (multi-state)”- Expected: each GSTIN linkable; data pulled per GSTIN; consolidated view.
- Common failure: only primary GSTIN considered; multi-state turnover under-stated.
5. Co-applicant out of country
Section titled “5. Co-applicant out of country”- Expected: Aadhaar OTP may fail (UIDAI permits OTP only to Indian SIM); alternate eSign path.
- Common failure: stuck; manual intervention needed.
6. Borrower’s data changes mid-application
Section titled “6. Borrower’s data changes mid-application”- Expected: re-trigger relevant verifications; recompute decision.
- Common failure: old data reflected in sanction; mismatch downstream.
7. PAN-Aadhaar name fuzzy mismatch
Section titled “7. PAN-Aadhaar name fuzzy mismatch”- Expected: similarity score
< 0.70→ REFER; rare names sometimes flagged. - Common failure: false-decline of legitimate borrowers; or false-accept of true mismatches if score not checked.
8. V-CIP session fails repeatedly
Section titled “8. V-CIP session fails repeatedly”- Expected: max attempts capped; switch vendor; alternative path.
- Common failure: borrower stuck retrying same failing vendor.
9. CKYC duplicate / multiple KIN
Section titled “9. CKYC duplicate / multiple KIN”- Expected: CKYC system should be unique by PAN; in practice, sometimes multiple KINs exist for same borrower (legacy data). Pick latest; flag for cleanup.
- Common failure: confusion; KYC marked complete but wrong KIN persisted.
10. Aadhaar offline zip corrupt / signature invalid
Section titled “10. Aadhaar offline zip corrupt / signature invalid”- Expected: borrower re-fetches from UIDAI; alternative OVD path.
- Common failure: silent failure; borrower confused.
11. Sanctions screening false positive
Section titled “11. Sanctions screening false positive”- Expected: REFER for disposition; document false-positive determination; clear.
- Common failure: borrower declined for common-name match without manual review.
Data ingestion
Section titled “Data ingestion”12. AA partial fetch (some accounts only)
Section titled “12. AA partial fetch (some accounts only)”- Expected: nudge borrower for missing; proceed with partial if material sufficient.
- Common failure: silent acceptance of incomplete data; bad decision.
13. AA TSP returns garbage / different schema
Section titled “13. AA TSP returns garbage / different schema”- Expected: schema validation; failover to alternate TSP.
- Common failure: parsing crashes; data not ingested.
14. PDF bank statement scanned / image-only
Section titled “14. PDF bank statement scanned / image-only”- Expected: OCR fallback; quality check; if low quality, manual handling.
- Common failure: bad OCR data fed into scoring; false signals.
15. Tampered bank statement detected
Section titled “15. Tampered bank statement detected”- Expected: tampering flag → DECLINE or REFER for fraud review.
- Common failure: flag missed; borrower approved on falsified data.
16. GST not filed for recent period
Section titled “16. GST not filed for recent period”- Expected: REFER until borrower files; alert borrower with timeline.
- Common failure: stale GST data used; decision based on out-of-date.
17. Bureau no-hit
Section titled “17. Bureau no-hit”- Expected: REFER; consider new-to-credit pathway; rely on cash-flow.
- Common failure: auto-decline.
18. Periodic refresh data conflicts with original
Section titled “18. Periodic refresh data conflicts with original”- Expected: surface as EWS; analyst review.
- Common failure: silent override; loss of historical context.
Decisioning
Section titled “Decisioning”19. New data arrives mid-decision-run
Section titled “19. New data arrives mid-decision-run”- Expected: queue for re-run after data settle.
- Common failure: decision uses inconsistent data snapshot.
20. Co-lending: dual policy disagrees
Section titled “20. Co-lending: dual policy disagrees”- Expected: both approve → co-lend; only originator approves → own book (if eligible); only partner approves → decline.
- Common failure: mis-routing.
21. Policy bug declines genuine borrowers
Section titled “21. Policy bug declines genuine borrowers”- Expected: sandbox catches in testing; production roll-out is gated.
- Common failure: policy deployed without sandbox; mass false-declines until rollback.
22. Deviation auto-escalation timeout
Section titled “22. Deviation auto-escalation timeout”- Expected: auto-escalate to higher authority; ultimately auto-decline if no action.
- Common failure: stuck pending forever.
Sanction / docs
Section titled “Sanction / docs”23. Sanction expires while borrower mid-eSign
Section titled “23. Sanction expires while borrower mid-eSign”- Expected: extend or re-sanction.
- Common failure: loan effectively orphaned; manual rescue.
24. eStamp paper unavailable in state
Section titled “24. eStamp paper unavailable in state”- Expected: fallback workflow (alternate vendor or physical stamping).
- Common failure: stuck.
25. Multi-signer eSign one signer drops out
Section titled “25. Multi-signer eSign one signer drops out”- Expected: nudge; alternative; eventually re-issue.
- Common failure: incomplete eSign blocks sanction.
26. NACH mandate rejected by sponsor bank
Section titled “26. NACH mandate rejected by sponsor bank”- Expected: error-code-specific remediation; bank account re-validation; re-register.
- Common failure: borrower stuck; manual intervention.
Disbursement
Section titled “Disbursement”27. Borrower changes bank account between sanction and disbursement
Section titled “27. Borrower changes bank account between sanction and disbursement”- Expected: re-do penny drop + NACH; potential re-execution of agreement.
- Common failure: disbursement to old (invalid) account.
28. Sponsor-bank API timeout during disbursement
Section titled “28. Sponsor-bank API timeout during disbursement”- Expected: idempotency prevents double-disbursement; status polled.
- Common failure: double-disbursement if idempotency mishandled.
29. Beneficiary bank rejects (account frozen / closed)
Section titled “29. Beneficiary bank rejects (account frozen / closed)”- Expected: returned funds workflow; reverse loan booking; re-attempt or close.
- Common failure: orphan loan with bank account that never received funds; LMS thinks loan active.
30. Co-lender’s funds not yet in escrow at execution time
Section titled “30. Co-lender’s funds not yet in escrow at execution time”- Expected: disbursement queued; partner SLA monitoring.
- Common failure: borrower expects disbursement; lender hasn’t received partner funds; stuck.
LMS edge cases
Section titled “LMS edge cases”Schedule / accrual
Section titled “Schedule / accrual”31. Bank holiday / weekend due date
Section titled “31. Bank holiday / weekend due date”- Expected: per board policy — push to next working day or stay; accrual continues; NACH presentation timed appropriately.
- Common failure: missed presentation; borrower not given grace.
32. Repayment received before due date
Section titled “32. Repayment received before due date”- Expected: applied per allocation; if advance, held against next due.
- Common failure: counted as overpayment refunded; loses tracking.
33. Partial NACH success
Section titled “33. Partial NACH success”- Expected: partial credit; remaining as bounce; charges applied appropriately.
- Common failure: full bounce treatment when partial succeeded.
34. Multiple bounces in NACH cycle
Section titled “34. Multiple bounces in NACH cycle”- Expected: re-presentation per NACH rules (typically
2 – 3 attempts); after cap, mark as final bounce; escalate. - Common failure: unlimited re-presentation; sponsor-bank may flag.
35. Leap year impact on Actual / 365
Section titled “35. Leap year impact on Actual / 365”- Expected: borrower effectively pays one extra day of interest in leap years; small (~
0.27%of annual rate). - Common failure: convention mishandled; year-end mismatch.
36. EOM (end-of-month) for monthly schedules
Section titled “36. EOM (end-of-month) for monthly schedules”- Expected: Feb 28/29 handling; months with 31 due on 31st.
- Common failure: month-end calculation goes to invalid date (e.g., Feb 31).
Classification
Section titled “Classification”37. Daily classification crossing month-end
Section titled “37. Daily classification crossing month-end”- Expected: daily snapshots; monthly aggregates derived.
- Common failure: monthly-only classification (now non-compliant per Nov 2021 IRACP).
38. Upgrade from NPA on partial payment
Section titled “38. Upgrade from NPA on partial payment”- Expected: NOT permitted per Nov 2021; only full clearance upgrades.
- Common failure: legacy logic upgrades on partial.
39. Restructured loan upgrade attempt
Section titled “39. Restructured loan upgrade attempt”- Expected: only after observation period + satisfactory performance + approval.
- Common failure: auto-upgrade after a few clean months.
40. Multi-loan borrower with mixed performance
Section titled “40. Multi-loan borrower with mixed performance”- Expected: per-loan classification; borrower-level view influences operational priority.
- Common failure: borrower-level downgrade applied to all loans without policy basis.
Repayment / waterfall
Section titled “Repayment / waterfall”41. Repayment with disputed charge
Section titled “41. Repayment with disputed charge”- Expected: allocate per waterfall but flag for dispute resolution.
- Common failure: payment held in suspense indefinitely.
42. Foreclosure of floating-rate MSME with charge applied
Section titled “42. Foreclosure of floating-rate MSME with charge applied”- Expected: NO foreclosure charge (RBI 2014 ban).
- Common failure: charge mistakenly applied; regulator-flag.
43. Penal charge capitalised into principal
Section titled “43. Penal charge capitalised into principal”- Expected: NEVER (RBI Aug 2023 ban).
- Common failure: legacy LMS still does this.
44. Multi-draw revolving line repayment
Section titled “44. Multi-draw revolving line repayment”- Expected: per agreement — FIFO across draws or specific draw.
- Common failure: silent attribution; mis-mapped.
Restructure / write-off
Section titled “Restructure / write-off”45. Restructure after restructure (re-restructure)
Section titled “45. Restructure after restructure (re-restructure)”- Expected: treated as fresh stress event; further downgrade; tighter review.
- Common failure: ignored; appears as routine.
46. Write-off post-restructure-period
Section titled “46. Write-off post-restructure-period”- Expected: per board approval; bureau updated.
- Common failure: silent write-off without approval trail.
47. Post-write-off recovery
Section titled “47. Post-write-off recovery”- Expected: cash basis recognition; bureau updated to reflect recovery.
- Common failure: recovery recorded but bureau not updated.
Co-lending
Section titled “Co-lending”48. Partner classification mismatch (lockstep failure)
Section titled “48. Partner classification mismatch (lockstep failure)”- Expected: same-day update both sides.
- Common failure: originator classifies NPA; partner sees Standard for days; audit issue.
49. DLG cap approached / breached
Section titled “49. DLG cap approached / breached”- Expected: alerts at
4%,4.5%; breach prevented. - Common failure: silent breach; regulator-flag.
50. Buyback / substitution mid-cycle
Section titled “50. Buyback / substitution mid-cycle”- Expected: per agreement; LMS supports the transition.
- Common failure: data state inconsistent post-substitution.
GST / accounting
Section titled “GST / accounting”51. GST rate change mid-loan
Section titled “51. GST rate change mid-loan”- Expected: apply prospectively; invoice versioned.
- Common failure: retroactive application.
52. Multi-state operations (CGST+SGST vs IGST)
Section titled “52. Multi-state operations (CGST+SGST vs IGST)”- Expected: per invoice, per state of supply.
- Common failure: wrong tax mode applied.
53. Backdated correction to a loan
Section titled “53. Backdated correction to a loan”- Expected: adjustment journal with full audit trail.
- Common failure: silent retroactive change.
Borrower data
Section titled “Borrower data”54. Borrower’s primary mobile changes mid-loan
Section titled “54. Borrower’s primary mobile changes mid-loan”- Expected: borrower updates; verified; old mobile retained for audit.
- Common failure: communication fails; borrower unreachable.
55. Borrower’s primary bank account changes
Section titled “55. Borrower’s primary bank account changes”- Expected: new account verified; new NACH mandate; old marked inactive.
- Common failure: NACH continues to old account; bounces.
56. Borrower deceased
Section titled “56. Borrower deceased”- Expected: special handling; recovery against estate per applicable succession.
- Common failure: standard collection process inappropriate.
Bureau / reporting
Section titled “Bureau / reporting”57. CIC rejects monthly file
Section titled “57. CIC rejects monthly file”- Expected: error file parsed; rejected rows fixed; re-submission.
- Common failure: rejection not acted on; subsequent month builds on bad data.
58. RBI return discrepancy with management accounts
Section titled “58. RBI return discrepancy with management accounts”- Expected: investigated; usually classification / cut-off issue.
- Common failure: explained away; recurring.
Vendor / integration
Section titled “Vendor / integration”59. Vendor API breaking change
Section titled “59. Vendor API breaking change”- Expected: monitoring detects; alternate vendor active; fix vendor adapter.
- Common failure: silent failures; build-up.
60. Sponsor bank settlement file format change
Section titled “60. Sponsor bank settlement file format change”- Expected: vendor adapter updated; reconciliation continues.
- Common failure: reconciliation breaks; exceptions pile up.
What the platform must enforce
Section titled “What the platform must enforce”For each edge case:
- Detection — automated where possible.
- Triage — clear queue + ownership.
- SLA — within-time resolution.
- Audit trail — every action documented.
- Postmortem — recurring edge cases drive policy / system changes.
How to use this catalogue
Section titled “How to use this catalogue”- Pre-launch: ensure platform handles each case correctly.
- Operational discipline: ops team aware of patterns.
- QA: test cases cover each edge.
- Documentation: each module’s docs reference the relevant cases.
- Training: ops / credit / collections staff trained on edge handling.
Related
Section titled “Related”- Every other page in §18 — these edge cases are the “what the system handles” reference for the conventions and algorithms described elsewhere.
- 11. Risk register — operational risks.
- 13. Implementation backlog — edge cases inform user-story / test-case design.