Skip to content

Loan Collections

Complete guide to managing loan collection cases — tracking delinquent accounts, logging collection activities, assigning agents, and closing resolved cases.

Navigation: Loan Accounts → Operations → Collections

Overview

The Collections module provides a structured workflow for managing overdue loan accounts. When a loan enters arrears, a Collection Case can be opened to track all recovery efforts until the account is brought current or written off.

Key Concepts

  • Collection Case — A trackable record linked to a loan account, with status, priority, severity, and an assigned agent
  • Collection Activity — Individual actions taken on a case (calls, visits, emails, SMS, legal notices)
  • Collection Strategy — A planned approach for recovering the debt (contact frequency, assigned agent, priority level)
  • Early Warning Flags — Automated flags raised by the arrears engine (HIGH_DPD, REPEATED_PARTIAL_PAYMENTS, REDUCED_CASHFLOWS)

Collection Cases

Creating a Case

  1. Navigate to Loan Accounts → Operations → Collections
  2. Click New Collection Case
  3. Fill in:
    • Loan Account (lookup — search by account number)
    • Priority — LOW, MEDIUM, HIGH
    • Severity — LOW, MEDIUM, HIGH
    • Reason Code — PAST_DUE, BROKEN_PTP, SKIP_TRACE, LEGAL_ACTION, VOLUNTARY_DEFAULT, OTHER
    • Assigned Agent (optional — lookup by user name)
    • Opened Date (defaults to today)
  4. Click Submit (or Add to Batch for multiple cases)

Case Statuses

StatusDescription
OPENActive case — collection efforts ongoing
ON_HOLDTemporarily paused (e.g. restructuring in progress)
CLOSEDCase resolved — account current, written off, or settled

Editing a Case

Use the row action Edit Case to change:

  • Status (OPEN → ON_HOLD → CLOSED)
  • Priority / Severity
  • Reason code
  • Assigned agent

Closing a Case

Use the row action Close Case to mark a case as resolved. This sets case_status = CLOSED and closed_date = today.

Filtering

Use the status and priority dropdowns above the table to filter cases:

  • Status — OPEN, ON_HOLD, CLOSED
  • Priority — LOW, MEDIUM, HIGH

Collection Activities

Logging an Activity

  1. On a collection case row, click Log Activity
  2. Fill in:
    • Activity Type — CALL, SMS, EMAIL, VISIT, FIELD_VISIT, LEGAL_NOTICE, NOTE, OTHER
    • Contact Method — Free text (e.g. "Mobile", "Office Phone")
    • Outcome — PTP, NO_ANSWER, LEFT_MESSAGE, REFUSED, PAID, PARTIAL_PAYMENT, DISPUTE, OTHER
    • Next Action Date — When to follow up
    • Notes — Free text description of the interaction
  3. Click Submit

Viewing Activity History

Switch to the Activity Log tab to see all collection activities across all cases, sorted by date descending. The table shows:

  • Activity type, date, contact method
  • Outcome and notes
  • Next action date
  • Who performed the activity

Collection Strategies

Strategies define the planned approach for a specific loan account:

  • Strategy Type — e.g. "SOFT_COLLECTION", "HARD_COLLECTION", "LEGAL"
  • Priority Level — Numeric priority (1 = highest)
  • Contact Frequency — e.g. "DAILY", "WEEKLY", "BIWEEKLY"
  • Next Contact Date — When the next outreach should happen
  • Assigned To — The responsible agent

Early Warning Flags

The system automatically generates early warning flags during the nightly arrears update (update_arrears_status). These are stored in the loan_early_warning_flag table and can trigger proactive collection actions.

Flag Types

FlagTrigger ConditionSeverity Logic
HIGH_DPDDays in arrears ≥ 3030+ = MEDIUM, 60+ = HIGH, 90+ = CRITICAL
REPEATED_PARTIAL_PAYMENTS1+ partially paid past-due installments1 = LOW, 2+ = MEDIUM, 4+ = HIGH
REDUCED_CASHFLOWSLast 3 paid installments have avg payment ratio < 90%< 75% = MEDIUM, < 50% = HIGH

Automated Flag Details

Each flag stores JSON details with context:

  • HIGH_DPD: days_in_arrears, arrears_bucket, overdue_amount, next_due_date
  • REPEATED_PARTIAL_PAYMENTS: total_partial_payments, latest_partial_date
  • REDUCED_CASHFLOWS: installments_analysed, avg_payment_ratio, min_payment_ratio, trend (DECLINING/STABLE)

Permissions

PermissionDescription
VIEW_COLLECTION_CASESView collection cases and activities
CREATE_COLLECTION_CASECreate new collection cases
UPDATE_COLLECTION_CASEEdit existing cases (status, priority)
CREATE_COLLECTION_ACTIVITYLog collection activities
CREATE_COLLECTION_STRATEGYCreate collection strategies

API Endpoints

MethodPathDescription
GET/api/loans/collections/casesList collection cases
POST/api/loans/collections/cases/createCreate collection case
PUT/api/loans/collections/cases/updateUpdate collection case
GET/api/loans/collections/activitiesList activities
POST/api/loans/collections/activities/createLog activity
POST/api/loans/collections/strategies/createCreate strategy

Database Tables

TablePurpose
collection_caseMain case tracking (status, priority)
collection_action_logLegacy action log (per-case)
collection_activity_logActivity log (per-loan-account)
collection_agent_assignmentAgent assignment history
collection_promise_to_payPromise-to-pay tracking
collection_strategyStrategy definitions
loan_collection_routingHybrid group collection routing
loan_early_warning_flagAutomated early warning flags

PinkApple ERP by Stat Solutions Network