Skip to content
View case studies
Fintech / Lending2023India

Loan Management System

Origination to closure, with an audit trail regulators can read.

Role
Full Stack Product Engineer
Industry
Fintech / Lending
Client
Enterprise
Market
India
Duration
9 months
Status
Live
Schedule · LN-4471v3
0705 Mar
₹18,240Paid
0805 Apr
₹18,240Due
0905 May
₹18,240·
Overview

What it is

A lending back office covering the whole life of a loan, application, KYC, credit decision, disbursal, EMI schedule, collections and closure, with every state change recorded and attributable.

Problem

What was going wrong

Loans were tracked across three spreadsheets and a legacy desktop tool. EMI schedules were recalculated by hand after every part-payment, disputes took days to resolve, and nothing recorded who changed what.

  • Model the full loan lifecycle in one system
  • Generate and adjust amortisation schedules automatically
  • Record an immutable, attributable history of every change
  • Support role-separated approval workflows
Solution

How it was built

A Laravel core with an explicit loan state machine and money handled in minor units as integers, never floats. Amortisation schedules regenerate deterministically from loan terms plus the payment history, so a part-payment or a moratorium reshapes the schedule without anyone editing a row. Every transition writes an append-only audit record with actor, timestamp and reason.

Challenges

The parts that were hard

01

Rounding that has to survive an auditor

WhyFloating-point interest across hundreds of instalments drifts, and a schedule that is a paisa short at the end is a compliance problem, not a rounding nit.

FixAll money is stored and computed in minor units as integers, with the rounding remainder deliberately assigned to a defined instalment rather than left to accumulate.

02

Part-payments that invalidated the schedule

WhyA single early payment changes every instalment that follows, and recalculating in place destroyed the record of what was originally agreed.

FixSchedules are derived from terms plus payment history and versioned on change, so the original agreement and the current position are both readable.

Outcome

What changed

  • Manual EMI recalculation removed from the operations workflow
  • Every loan change became attributable to an actor with a reason
  • Disputes resolvable from the audit log rather than by reconstructing spreadsheets
Takeaway

What I'd carry forward

Never store money in a float, and never overwrite a schedule. Both shortcuts save an afternoon and cost a quarter.

Start here

Have a product idea, or one that stalled?

Tell me what you’re building and who it’s for. If I’m the wrong fit I’ll say so on the first call and point you somewhere better.

Based in Jaipur, India (GMT+5:30). Replies within one business day.