{"id":23952,"date":"2026-08-10T11:35:34","date_gmt":"2026-08-10T11:35:34","guid":{"rendered":"https:\/\/engineerbabu.com\/blog\/?p=23952"},"modified":"2026-08-10T12:03:42","modified_gmt":"2026-08-10T12:03:42","slug":"collections-management-software-development","status":"publish","type":"post","link":"https:\/\/engineerbabu.com\/blog\/collections-management-software-development\/","title":{"rendered":"How to Build a Collections Management Platform, Dunning Automation, Legal Escalation, Settlement Offers, Recovery Analytics 2026"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Collections is the function that separates lenders who build sustainable portfolios from lenders who grow fast and collapse. A digital lending platform that can disburse but cannot collect is not a lending business, it is a money transfer service.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The global collections software market is valued at <\/span><a href=\"https:\/\/www.grandviewresearch.com\/industry-analysis\/debt-collection-software-market-report\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">$6.3 billion<\/span><\/a><span style=\"font-weight: 400;\">. In India, the NBFC and digital lending ecosystem, 10,000+ registered NBFCs, 300+ digital lending apps, generates enormous collections demand.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The Reserve Bank of India&#8217;s 2022 digital lending guidelines added specific requirements for collections conduct, escalation timelines, and borrower communication that every lender must now operationalise technically.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This guide covers how to build a collections management platform, from the automated dunning sequences that recover pre-NPA accounts through the legal escalation workflows for NPAs through the settlement management tools that maximise recovery on written-off portfolios.<\/span><\/p>\n<p><a href=\"http:\/\/engineerbabu.com\"><span style=\"font-weight: 400;\">EngineerBabu<\/span><\/a><span style=\"font-weight: 400;\"> built LoanOS, processing \u20b91,000 crore annually, and lending technology for EarlySalary\/Fibe. CMMI Level 5. Google AI Accelerator 2024 Top 20. Contact: <\/span><a href=\"mailto:mayank@engineerbabu.com\"><span style=\"font-weight: 400;\">mayank@engineerbabu.com<\/span><\/a><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-23965\" src=\"https:\/\/engineerbabu.com\/blog\/wp-content\/uploads\/2026\/08\/collections-dashboard.png\" alt=\"\" width=\"1200\" height=\"675\" title=\"\"><\/p>\n<h2><b>What a Collections Management Platform Must Handle<\/b><\/h2>\n<table>\n<tbody>\n<tr>\n<td><b>Function<\/b><\/td>\n<td><b>Module<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Delinquency monitoring<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Real-time DPD tracking, bucket classification<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Automated dunning<\/span><\/td>\n<td><span style=\"font-weight: 400;\">SMS, WhatsApp, IVR, email, multi-channel, personalised<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Digital payment links<\/span><\/td>\n<td><span style=\"font-weight: 400;\">One-click payment in every communication<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Agent call management<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Dialler integration, call scripting, outcome logging<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Field collections<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Field agent app, GPS-verified visits<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Promise-to-pay tracking<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Commitment tracking, follow-up scheduling<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Escalation management<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Legal notice, SARFAESI, arbitration triggers<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Settlement management<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Settlement offer calculation, approval, documentation<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Legal process management<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Lawyer assignment, court date tracking, recovery<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Recovery analytics<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Roll-rate analysis, collector productivity, ROI<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">RBI compliance<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Communication norms, DNC compliance, conduct guidelines<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Integration<\/span><\/td>\n<td><a href=\"https:\/\/engineerbabu.com\/blog\/loan-origination-system\/\"><span style=\"font-weight: 400;\">LOS<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><a href=\"https:\/\/engineerbabu.com\/blog\/loan-management-software-development\/\"><span style=\"font-weight: 400;\">LMS<\/span><\/a><span style=\"font-weight: 400;\">, credit bureau, legal partners<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><b>Module 1 &#8211; Delinquency Monitoring and Bucket Management<\/b><\/h2>\n<p><b>The DPD (Days Past Due) classification:<\/b><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Bucket<\/b><\/td>\n<td><b>DPD Range<\/b><\/td>\n<td><b>Classification<\/b><\/td>\n<td><b>Regulatory<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Standard<\/span><\/td>\n<td><span style=\"font-weight: 400;\">0 days<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Current<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Performing<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">SMA-0<\/span><\/td>\n<td><span style=\"font-weight: 400;\">1\u201330 days<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Special Mention Account<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Watch<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">SMA-1<\/span><\/td>\n<td><span style=\"font-weight: 400;\">31\u201360 days<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Special Mention Account<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Watch<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">SMA-2<\/span><\/td>\n<td><span style=\"font-weight: 400;\">61\u201390 days<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Special Mention Account<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Requires action<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">NPA (Sub-standard)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">91\u2013360 days<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Non-Performing Asset<\/span><\/td>\n<td><span style=\"font-weight: 400;\">NPA<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">NPA (Doubtful)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">361\u2013720 days<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Non-Performing Asset<\/span><\/td>\n<td><span style=\"font-weight: 400;\">NPA<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">NPA (Loss)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">720+ days<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Loss Asset<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Write-off consideration<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b>The delinquency dashboard:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The collections head sees the portfolio stratified by bucket, how much outstanding is in each DPD category, how it has moved since last week (roll rates), and where new delinquency is entering the portfolio. This roll-rate analysis, what percentage of SMA-0 accounts rolled to SMA-1, and SMA-1 to SMA-2, is the primary leading indicator of portfolio quality.<\/span><\/p>\n<p><b>Automated account routing:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">When an account enters delinquency, it is automatically routed to the appropriate collections channel based on bucket, outstanding amount, and borrower segment:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Account Profile<\/b><\/td>\n<td><b>Primary Channel<\/b><\/td>\n<td><b>Secondary Channel<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">SMA-0, &lt; \u20b910,000 outstanding<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Automated digital dunning only<\/span><\/td>\n<td><span style=\"font-weight: 400;\">IVR call if no response<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">SMA-0, \u20b910,000\u2013\u20b91,00,000<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Digital dunning + tele-calling<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Field visit if no response by day 15<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">SMA-1, any amount<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Tele-calling + digital<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Field visit<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">SMA-2, any amount<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Field visit + tele-calling<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Legal notice<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">NPA, &lt; \u20b950,000<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Settlement offer + legal<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Write-off consideration<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">NPA, &gt; \u20b950,000<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Legal escalation + SARFAESI<\/span><\/td>\n<td><a href=\"https:\/\/engineerbabu.com\/blog\/top-loan-collection-and-recovery-software\/\"><span style=\"font-weight: 400;\">Recovery agent<\/span><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-23966\" src=\"https:\/\/engineerbabu.com\/blog\/wp-content\/uploads\/2026\/08\/automated-account-routing.png\" alt=\"\" width=\"1200\" height=\"675\" title=\"\"><\/p>\n<h2><b>Module 2 &#8211; Automated Dunning Engine<\/b><\/h2>\n<p><b>The dunning sequence architecture:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">A dunning sequence is a pre-defined series of communications triggered when an account becomes overdue. Each communication is timed, personalised, and includes a one-click payment link.<\/span><\/p>\n<p><b>Dunning sequence, SMA-0 account (0\u201330 DPD):<\/b><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Day<\/b><\/td>\n<td><b>Channel<\/b><\/td>\n<td><b>Message Tone<\/b><\/td>\n<td><b>Payment Link<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">DPD 1<\/span><\/td>\n<td><span style=\"font-weight: 400;\">WhatsApp<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Reminder, soft<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Yes<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">DPD 3<\/span><\/td>\n<td><span style=\"font-weight: 400;\">SMS<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Gentle reminder<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Yes<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">DPD 5<\/span><\/td>\n<td><span style=\"font-weight: 400;\">IVR call<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Automated, payment request<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Payment via IVR keypad<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">DPD 7<\/span><\/td>\n<td><span style=\"font-weight: 400;\">WhatsApp<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Slightly urgent<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Yes<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">DPD 10<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Email<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Formal reminder<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Yes<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">DPD 15<\/span><\/td>\n<td><span style=\"font-weight: 400;\">SMS<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Urgent, late fee mentioned<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Yes<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">DPD 20<\/span><\/td>\n<td><span style=\"font-weight: 400;\">IVR call<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Urgent, credit bureau warning<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Payment via IVR keypad<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">DPD 25<\/span><\/td>\n<td><span style=\"font-weight: 400;\">WhatsApp<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Final pre-escalation warning<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Yes<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">DPD 30<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Email<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Formal notice, credit bureau reporting confirmed<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Yes<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b>Personalisation in dunning:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Every message is personalised, the borrower&#8217;s name, the exact outstanding amount, the overdue instalment date, the late fee accrued, and the total payable today.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A generic &#8220;your payment is overdue&#8221; message has 20 to 30% lower response rate than a personalised &#8220;Ramesh, your EMI of \u20b93,450 due on July 1 is now 7 days overdue. Late fee of \u20b9200 has been added. Total due today: \u20b93,650&#8221; message with a payment link.<\/span><\/p>\n<p><b>DNC (Do Not Call) compliance:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Every communication respects TRAI&#8217;s DNC registry and RBI&#8217;s digital lending communication guidelines, maximum 3 calls per day, calls only between 8am and 7pm, and no communication to references without the borrower&#8217;s explicit consent. The dunning engine checks DNC status before every call attempt.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-23967\" src=\"https:\/\/engineerbabu.com\/blog\/wp-content\/uploads\/2026\/08\/dunning-sequence-dpd1-30.png\" alt=\"\" width=\"1200\" height=\"675\" title=\"\"><\/p>\n<h2><b>Module 3 &#8211; Tele-Calling and Agent Management<\/b><\/h2>\n<p><b>The dialler integration:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The platform integrates with a predictive dialler, automatically calling the next borrower in the queue when an agent becomes available. The agent sees the borrower&#8217;s complete profile before the call connects:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Information Shown<\/b><\/td>\n<td><b>Details<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Borrower name and contact<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Loan details<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Loan ID, amount, disbursement date<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Overdue summary<\/span><\/td>\n<td><span style=\"font-weight: 400;\">DPD, overdue instalments, total outstanding<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Payment history<\/span><\/td>\n<td><span style=\"font-weight: 400;\">All past payments, consistency pattern<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Previous contact attempts<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Date, channel, outcome<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Promise-to-pay history<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Did borrower keep previous promises?<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Call script<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Recommended script for this DPD bucket<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b>Call outcome logging:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">After every call, the agent logs the outcome through a structured interface, not a free-text note:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Outcome Category<\/b><\/td>\n<td><b>Specific Outcomes<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Connected, promise made<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Promise-to-pay date and amount committed<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Connected, refused to pay<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Reason for refusal logged<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Connected, disputed<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Dispute nature logged, routes to dispute resolution<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Connected, escalation required<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Specific escalation type requested<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Not connected, number busy<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Retry scheduled<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Not connected, no answer<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Retry scheduled<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Wrong number<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Number flagged, alternative contact sourced<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">RTP (Refused to Pay)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Hard escalation trigger<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b>Promise-to-pay tracking:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">When a borrower commits to pay by a specific date, the system creates a promise-to-pay record. On the committed date, if payment has not been received, an automatic follow-up communication goes to the borrower and the agent receives an alert to make a follow-up call.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Promises that are broken increase the account&#8217;s escalation priority, a borrower who has broken 3 promises is treated differently from one making a first commitment.<\/span><\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-23968\" src=\"https:\/\/engineerbabu.com\/blog\/wp-content\/uploads\/2026\/08\/collections-app-screens.png\" alt=\"\" width=\"1200\" height=\"675\" title=\"\"><\/p>\n<h2><b>Module 4 &#8211; Field Collections Management<\/b><\/h2>\n<p><b>The field agent app:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">Field agents visit borrowers at their home or business. The app gives the agent the borrower&#8217;s address, GPS directions, and complete account history before the visit. During the visit:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Action<\/b><\/td>\n<td><b>App Function<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Arrival confirmation<\/span><\/td>\n<td><span style=\"font-weight: 400;\">GPS-verified check-in at borrower location<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Collection<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Amount collected, payment mode<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Receipt<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Digital receipt generated and shared via WhatsApp<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Outcome logging<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Payment received \/ Not home \/ Refused \/ New PTP<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Photo evidence<\/span><\/td>\n<td><span style=\"font-weight: 400;\">For field verification requirements<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Next follow-up<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Schedule next visit if required<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b>Cash collection and digital receipt:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">When cash is collected, the app generates a numbered digital receipt instantly, sent to the borrower&#8217;s WhatsApp and stored in the platform.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The cash is tracked from collection through the agent&#8217;s daily closing submission to the branch vault. The agent&#8217;s daily collection report is generated automatically from app entries, no manual tallying.<\/span><\/p>\n<h2><b>Module 5 &#8211; Settlement Management<\/b><\/h2>\n<p><b>The settlement framework:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">For NPA accounts where full recovery is unlikely, the lender may offer a settlement, accepting less than the full outstanding in exchange for immediate payment and account closure.<\/span><\/p>\n<p><b>Settlement offer calculation:<\/b><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Factor<\/b><\/td>\n<td><b>Impact on Settlement Offer<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Days since NPA<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Older NPAs, lower offer (lower probability of recovery)<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Outstanding amount<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Larger outstanding, may justify higher offer as %<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Collateral availability<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Collateralised loan, higher full recovery expectation<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Borrower financial position<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Assessment of actual ability to pay<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Collection cost incurred<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Already spent collection cost reduces the available discount<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Vintage of relationship<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Long-standing customers, slightly better terms<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b>The settlement approval workflow:<\/b><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Settlement Size<\/b><\/td>\n<td><b>Approval Required<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">&lt; 10% waiver of principal<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Collections head<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">10\u201325% waiver<\/span><\/td>\n<td><span style=\"font-weight: 400;\">CFO approval<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">25\u201350% waiver<\/span><\/td>\n<td><span style=\"font-weight: 400;\">MD\/CEO approval<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">&gt; 50% waiver<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Board committee<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><b>Settlement documentation:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">When a settlement is agreed, the platform generates: Full and final settlement letter, legal document confirming the agreed settlement amount and the complete discharge of all obligations on payment. No-objection certificate (NOC), issued after receipt of settlement payment, confirming account closure.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Credit bureau update, the account status is updated from NPA to &#8220;Settled&#8221; in all credit bureaus immediately upon payment.<\/span><\/p>\n<h2><b>Module 6 &#8211; Recovery Analytics<\/b><\/h2>\n<p><b>The roll-rate matrix:<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The roll-rate matrix shows what percentage of accounts in each DPD bucket at the start of a period moved to each bucket at the end of the period. This is the most important analytical view for a collections head:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Start Bucket<\/b><\/td>\n<td><b>Cured (0 DPD)<\/b><\/td>\n<td><b>Same Bucket<\/b><\/td>\n<td><b>Rolled to Next<\/b><\/td>\n<td><b>Written Off<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">SMA-0 (1\u201330)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">65%<\/span><\/td>\n<td><span style=\"font-weight: 400;\">20%<\/span><\/td>\n<td><span style=\"font-weight: 400;\">12%<\/span><\/td>\n<td><span style=\"font-weight: 400;\">0%<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">SMA-1 (31\u201360)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">35%<\/span><\/td>\n<td><span style=\"font-weight: 400;\">30%<\/span><\/td>\n<td><span style=\"font-weight: 400;\">32%<\/span><\/td>\n<td><span style=\"font-weight: 400;\">0%<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">SMA-2 (61\u201390)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">20%<\/span><\/td>\n<td><span style=\"font-weight: 400;\">25%<\/span><\/td>\n<td><span style=\"font-weight: 400;\">50%<\/span><\/td>\n<td><span style=\"font-weight: 400;\">5%<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Sub-standard NPA<\/span><\/td>\n<td><span style=\"font-weight: 400;\">8%<\/span><\/td>\n<td><span style=\"font-weight: 400;\">20%<\/span><\/td>\n<td><span style=\"font-weight: 400;\">40%<\/span><\/td>\n<td><span style=\"font-weight: 400;\">32%<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400;\">A roll-rate matrix that shows worsening trends, more accounts rolling forward, fewer curing, is an early warning signal that the collections strategy needs adjustment.<\/span><\/p>\n<p><b>Collector productivity analytics:<\/b><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Metric<\/b><\/td>\n<td><b>Calculation<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Contact rate<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Borrowers reached \/ total attempts<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Promise rate<\/span><\/td>\n<td><span style=\"font-weight: 400;\">PTPs made \/ borrowers contacted<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Promise kept rate<\/span><\/td>\n<td><span style=\"font-weight: 400;\">PTPs honoured \/ PTPs made<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Recovery rate<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Amount collected \/ amount due from the collector&#8217;s accounts<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Right party contact rate<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Correct borrower reached \/ total calls connected<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-23970\" src=\"https:\/\/engineerbabu.com\/blog\/wp-content\/uploads\/2026\/08\/roll-rate-matrix-analytics.png\" alt=\"\" width=\"1200\" height=\"675\" title=\"\"><\/p>\n<h2><b>Build Cost: Collections Management Software Development<\/b><\/h2>\n<table>\n<tbody>\n<tr>\n<td><b>Module<\/b><\/td>\n<td><b>Cost Range (USD)<\/b><\/td>\n<td><b>Notes<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Delinquency monitoring + bucket management<\/span><\/td>\n<td><span style=\"font-weight: 400;\">$6K \u2013 $12K<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Real-time DPD, roll-rate<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Automated dunning engine (multi-channel)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">$10K \u2013 $18K<\/span><\/td>\n<td><span style=\"font-weight: 400;\">WhatsApp, SMS, IVR, email<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Payment link generation + gateway<\/span><\/td>\n<td><span style=\"font-weight: 400;\">$5K \u2013 $10K<\/span><\/td>\n<td><span style=\"font-weight: 400;\">One-click payment in communications<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Tele-calling + dialler integration<\/span><\/td>\n<td><span style=\"font-weight: 400;\">$8K \u2013 $15K<\/span><\/td>\n<td><span style=\"font-weight: 400;\">CRM integration, call logging<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Promise-to-pay tracking<\/span><\/td>\n<td><span style=\"font-weight: 400;\">$5K \u2013 $10K<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Field collections app (<\/span><a href=\"https:\/\/engineerbabu.com\/technologies\/flutter-development-services\"><span style=\"font-weight: 400;\">Flutter<\/span><\/a><span style=\"font-weight: 400;\">, GPS)<\/span><\/td>\n<td><span style=\"font-weight: 400;\">$8K \u2013 $15K<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Cash receipt, geo-verification<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Settlement management + approval workflow<\/span><\/td>\n<td><span style=\"font-weight: 400;\">$6K \u2013 $12K<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Legal escalation workflow<\/span><\/td>\n<td><span style=\"font-weight: 400;\">$5K \u2013 $10K<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Notice generation, tracking<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Recovery analytics + roll-rate<\/span><\/td>\n<td><span style=\"font-weight: 400;\">$5K \u2013 $10K<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">RBI compliance + DNC management<\/span><\/td>\n<td><span style=\"font-weight: 400;\">$4K \u2013 $8K<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Communication norms<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Credit bureau NPA reporting<\/span><\/td>\n<td><span style=\"font-weight: 400;\">$5K \u2013 $10K<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Real-time status updates<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">AWS + VAPT + Year 1 ops<\/span><\/td>\n<td><span style=\"font-weight: 400;\">$5K \u2013 $10K<\/span><\/td>\n<td><\/td>\n<\/tr>\n<tr>\n<td><b>Total<\/b><\/td>\n<td><b>$72K \u2013 $140K<\/b><\/td>\n<td><span style=\"font-weight: 400;\">Full collections platform<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400;\">Contact: <\/span><a href=\"mailto:mayank@engineerbabu.com\"><b>mayank@engineerbabu.com<\/b><\/a><\/p>\n<h2><b>FAQs about Collections Management Software Development<\/b><\/h2>\n<ul>\n<li aria-level=\"1\">\n<h3><b>What is a roll-rate matrix in collections and why is it the most important analytics view?<\/b><\/h3>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">A roll-rate matrix tracks the movement of delinquent accounts between DPD buckets from one period to the next, showing what percentage of accounts in each delinquency category were cured (returned to current), stayed in the same bucket, rolled forward to a worse bucket, or were written off. It is the most important collections analytics view because it provides two critical insights simultaneously: portfolio trajectory (is overall delinquency improving or worsening?) and collections effectiveness (is the collections strategy curing accounts or merely delaying their deterioration?). A collections strategy that keeps accounts in the SMA-1 bucket without curing them to SMA-0 is not successful, it is postponing NPA classification. The roll-rate matrix makes this distinction visible and measurable.<\/span><\/p>\n<ul>\n<li aria-level=\"1\">\n<h3><b>What are the RBI digital lending guidelines for collections conduct and how does a platform enforce them?<\/b><\/h3>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The RBI Digital Lending Guidelines (2022) set specific requirements for collections conduct that lenders must technically enforce: communications must not be made before 8am or after 7pm; maximum 3 contact attempts per day per borrower; collection agents must identify themselves and the lender they represent at the start of every call; communication cannot be made to the borrower&#8217;s references, family members, or employer without explicit borrower consent; and collection agents cannot use intimidation, harassment, or misleading statements. A collections platform enforces these through: time-based call blocking (the dialler cannot initiate calls outside permitted hours), daily call count limits enforced at the account level, mandatory agent identification scripts loaded before call connection, consent tracking for any communication to references, and call recording with compliance review. The platform generates a monthly compliance attestation report showing adherence to all communication guidelines.<\/span><\/p>\n<ul>\n<li aria-level=\"1\">\n<h3><b>What is a promise-to-pay (PTP) in collections and how does tracking it improve recovery?<\/b><\/h3>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">A promise-to-pay (PTP) is a commitment made by a borrower during a collections interaction, they agree to pay a specific amount on a specific date. PTP tracking improves recovery in three ways. First, it creates accountability, the borrower who has made a specific commitment is psychologically more likely to honour it than one who has not, because breaking a commitment creates cognitive dissonance. Second, it enables precise follow-up, rather than treating all delinquent accounts equally, the collections system prioritises follow-up on broken promises because a borrower who has broken a promise is at higher risk of roll-forward and requires immediate escalation. Third, it provides predictive data, the ratio of promises made to promises kept, by borrower segment, DPD bucket, and collector, tells the collections head which part of the portfolio is genuinely willing-but-unable vs unwilling-to-pay, which drives fundamentally different collection strategies.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Collections is the function that separates lenders who build sustainable portfolios from lenders who grow fast and collapse. A digital lending platform that can disburse but cannot collect is not a lending business, it is a money transfer service. The global collections software market is valued at $6.3 billion. In India, the NBFC and digital [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":23954,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1271],"tags":[],"class_list":["post-23952","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-software-development"],"_links":{"self":[{"href":"https:\/\/engineerbabu.com\/blog\/wp-json\/wp\/v2\/posts\/23952","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/engineerbabu.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/engineerbabu.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/engineerbabu.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/engineerbabu.com\/blog\/wp-json\/wp\/v2\/comments?post=23952"}],"version-history":[{"count":4,"href":"https:\/\/engineerbabu.com\/blog\/wp-json\/wp\/v2\/posts\/23952\/revisions"}],"predecessor-version":[{"id":23971,"href":"https:\/\/engineerbabu.com\/blog\/wp-json\/wp\/v2\/posts\/23952\/revisions\/23971"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/engineerbabu.com\/blog\/wp-json\/wp\/v2\/media\/23954"}],"wp:attachment":[{"href":"https:\/\/engineerbabu.com\/blog\/wp-json\/wp\/v2\/media?parent=23952"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/engineerbabu.com\/blog\/wp-json\/wp\/v2\/categories?post=23952"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/engineerbabu.com\/blog\/wp-json\/wp\/v2\/tags?post=23952"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}