Skip to content

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.

  • 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.
  • 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.
  • 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.
  • Expected: max attempts capped; switch vendor; alternative path.
  • Common failure: borrower stuck retrying same failing vendor.
  • 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.
  • Expected: REFER for disposition; document false-positive determination; clear.
  • Common failure: borrower declined for common-name match without manual review.
  • 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.
  • Expected: tampering flag → DECLINE or REFER for fraud review.
  • Common failure: flag missed; borrower approved on falsified data.
  • Expected: REFER until borrower files; alert borrower with timeline.
  • Common failure: stale GST data used; decision based on out-of-date.
  • 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.
  • Expected: queue for re-run after data settle.
  • Common failure: decision uses inconsistent data snapshot.
  • Expected: both approve → co-lend; only originator approves → own book (if eligible); only partner approves → decline.
  • Common failure: mis-routing.
  • Expected: sandbox catches in testing; production roll-out is gated.
  • Common failure: policy deployed without sandbox; mass false-declines until rollback.
  • Expected: auto-escalate to higher authority; ultimately auto-decline if no action.
  • Common failure: stuck pending forever.

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.
  • 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.
  • Expected: error-code-specific remediation; bank account re-validation; re-register.
  • Common failure: borrower stuck; manual intervention.

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.
  • 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.
  • Expected: applied per allocation; if advance, held against next due.
  • Common failure: counted as overpayment refunded; loses tracking.
  • Expected: partial credit; remaining as bounce; charges applied appropriately.
  • Common failure: full bounce treatment when partial succeeded.
  • 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.
  • 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).

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).
  • Expected: NOT permitted per Nov 2021; only full clearance upgrades.
  • Common failure: legacy logic upgrades on partial.
  • 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.
  • 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.
  • Expected: per agreement — FIFO across draws or specific draw.
  • Common failure: silent attribution; mis-mapped.

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.
  • Expected: per board approval; bureau updated.
  • Common failure: silent write-off without approval trail.
  • Expected: cash basis recognition; bureau updated to reflect recovery.
  • Common failure: recovery recorded but bureau not updated.

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.
  • Expected: alerts at 4%, 4.5%; breach prevented.
  • Common failure: silent breach; regulator-flag.
  • Expected: per agreement; LMS supports the transition.
  • Common failure: data state inconsistent post-substitution.
  • 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.
  • Expected: adjustment journal with full audit trail.
  • Common failure: silent retroactive change.

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.
  • Expected: special handling; recovery against estate per applicable succession.
  • Common failure: standard collection process inappropriate.
  • 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.
  • 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.

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.
  • 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.
  • 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.