Overview
By the end of this guide, you will understand how to record loan repayments, choose appropriate payment methods, handle partial payments and overpayments, understand how the system allocates payments, track schedule status, and manage overdue accounts.Understanding Repayment Flow
When a borrower makes a payment:- You record the repayment with amount, date, and method
- System automatically allocates payment to schedule items
- Payment is applied to interest first, then principal
- Schedule items are updated (PENDING → PAID or PARTIAL)
- Loan balance is recalculated
- If overdue items exist, they’re paid first
The allocation logic is automatic. You simply record the payment amount, and the system handles the distribution across schedule items according to backend/src/controllers/repayment.controller.ts.
Recording a New Repayment
Method 1: From the Repayments Page
Navigate to Repayments
From the sidebar:
- Click “Business Management”
- Click “Repayments”
- Click ”+ Add Repayment” button
Select the Loan
- Choose the loan from the dropdown
- Search by borrower name or loan number
- Only ACTIVE loans appear in the list
Enter Repayment Details
Fill in all required information:
| Field | Description | Required | Format |
|---|---|---|---|
| Amount | Payment amount received | ✅ Yes | Decimal (14,2) |
| Payment Date | When payment was made | ✅ Yes | Date (YYYY-MM-DD) |
| Payment Method | How payment was received | ✅ Yes | See payment methods below |
| Reference Number | Transaction reference | Optional | Text |
| Notes | Additional information | Optional | Text |
Payment Methods
The system supports these payment methods (RepaymentMethod enum, schema.prisma:49-56):| Method | Description | Use Case |
|---|---|---|
| CASH | Cash payment | Walk-in payments, field collections |
| TRANSFER | Bank transfer | Online transfers, wire transfers |
| POS | Point of Sale terminal | Card payments |
| MOBILE | Mobile money | Mobile wallet payments |
| USSD | USSD code payment | Mobile USSD transactions |
| OTHER | Other payment types | Any other payment method |
Method 2: From the Loan Detail Page
Open the Specific Loan
- Navigate to Business Management → Loans
- Find the loan (search by borrower name or loan number)
- Click on the loan to open details
Access Add Repayment
In the loan detail page:
- Scroll to the Repayment section
- Click “Add Repayment” or “Record Payment” button
Fill in Payment Details
The loan is already pre-selected, so just enter:
- Payment amount
- Payment date
- Payment method
- Reference number (if applicable)
- Notes
This method is faster when you’re already viewing a specific loan, as the loan selection is automatic.
How Payments Are Allocated
The system follows a specific allocation strategy:Allocation Priority
- Overdue items first: Payments go to overdue schedule items before current ones
- Interest before principal: Within each schedule item, interest is paid first
- Oldest to newest: Overdue items are paid in chronological order
- Sequential application: Payment flows through schedule items in sequence
Example
Imagine a loan with these schedule items:| Sequence | Due Date | Total Due | Status |
|---|---|---|---|
| 1 | 2026-01-15 | ₦5,000 | OVERDUE (unpaid) |
| 2 | 2026-02-15 | ₦5,000 | PENDING |
| 3 | 2026-03-15 | ₦5,000 | PENDING |
- ₦5,000 → Schedule item #1 (overdue)
- Status changes to PAID
- ₦2,500 → Schedule item #2 (current)
- Status changes to PARTIAL
- Schedule item #3 remains PENDING
Choosing the Right Payment Method
Selecting the correct payment method is important for:- Accurate financial reporting
- Bank reconciliation
- Payment method analytics
- Audit trails
Guidelines
| Method | When to Use | Reference Number |
|---|---|---|
| CASH | Physical cash received | Receipt number |
| TRANSFER | Bank-to-bank transfer | Transfer confirmation code |
| POS | Card payment via terminal | Transaction ID from POS |
| MOBILE | Mobile money (M-Pesa, etc.) | Mobile transaction ID |
| USSD | USSD banking payment | USSD transaction reference |
| OTHER | Checks, other methods | Check number or other ref |
Handling Partial Payments
Borrowers sometimes pay less than the full scheduled amount.Record the Actual Amount
Simply record the actual amount received, even if it’s less than expected.Example:
- Expected payment: ₦5,000
- Actual payment: ₦3,000
- Record: ₦3,000
System Updates Schedule
After recording:
- Schedule item status changes to
PARTIAL - The
paidAmountfield increases by ₦3,000 - Remaining balance: ₦2,000
- Schedule item stays PARTIAL until fully paid
Track the Shortfall
The shortfall is tracked automatically:
- View the schedule to see PARTIAL status
- The remaining amount is visible:
totalDue - paidAmount - No additional configuration needed
According to schema.prisma:295-296, each schedule item tracks both
totalDue and paidAmount, making it easy to see partial payments.Handling Overpayments
Borrowers sometimes pay more than the scheduled amount.What Happens
- System allocates payment to current schedule item
- Excess automatically flows to next schedule items
- Future payments may be prepaid
- Loan is paid off faster
Example
Schedule:- Item 1: ₦5,000 due today
- Item 2: ₦5,000 due next month
- Item 3: ₦5,000 due in 2 months
- ₦5,000 → Item 1 (PAID)
- ₦5,000 → Item 2 (PAID)
- ₦2,000 → Item 3 (PARTIAL)
Overpayments reduce the principal balance faster, which can reduce total interest paid over the life of the loan.
Tracking Overpayments
View the repayment schedule to see:- Which items are marked PAID ahead of due date
- How much has been prepaid
- Updated loan completion date (if applicable)
Understanding Schedule Status
Each schedule item has one of four statuses (ScheduleStatus enum, schema.prisma:42-47):Status Definitions
| Status | Meaning | When It Occurs |
|---|---|---|
| PENDING | Not yet paid, not overdue | Due date is in the future, no payment made |
| PARTIAL | Partially paid | Some payment recorded but less than totalDue |
| PAID | Fully paid | paidAmount >= totalDue |
| OVERDUE | Past due and unpaid | dueDate has passed, not fully paid |
Status Transitions
Schedule items move through statuses as payments are made:Monitoring Repayment Schedules
The Repayment Schedules page provides a powerful overview of all payments.Access the Schedules Dashboard
From the sidebar:
- Go to “Business Management”
- Click “Repayment Schedules”
- Summary cards with aggregate statistics
- Detailed list of all schedule items
- Advanced filtering options
Review Summary Cards
The top of the page shows real-time statistics:
| Card | Shows | Use Case |
|---|---|---|
| Total Schedule | Total number of schedule items | Overall workload |
| Pending Payments | Items with status PENDING | Upcoming collections |
| Overdue | Items with status OVERDUE | Priority collections |
| Total Amount Due | Sum of all pending + overdue | Cash flow projection |
Apply Filters
Filter the schedule list by:
| Filter | Options | Use Case |
|---|---|---|
| Search | Borrower name | Find specific member |
| Union | Union dropdown | See one union’s schedules |
| Union Member | Member dropdown | All schedules for one member |
| Credit Officer | Officer dropdown | One officer’s portfolio |
| Status | PENDING, PAID, PARTIAL, OVERDUE | Focus on specific status |
| Date Range | Today Only, Single Date, Date Range | Schedules in time period |
| Amount Range | Min/Max | Find large or small payments |
Refer to repayment.controller.ts:154-165 for the complete list of filter parameters supported by the API.
Handling Overdue Payments
Managing overdue accounts is critical for portfolio health.Identify Overdue Accounts
- Go to Repayment Schedules
- Filter by Status = OVERDUE
- Sort by due date (oldest first)
Review Overdue Details
For each overdue item, check:
- How many days overdue (calculate from dueDate)
- Amount still owed
- Borrower’s contact information
- Payment history (any partial payments?)
Contact the Borrower
Use the contact information from the union member profile:
- Phone number
- Address
- Alternative contact
Record Late Payment
When the borrower pays:
- Record the repayment normally (see Recording a New Repayment)
- Payment automatically goes to overdue items first
- Schedule item changes from OVERDUE to PAID or PARTIAL
- Overdue count decreases
The system prioritizes overdue items automatically. You don’t need to manually specify which schedule item to pay.
Viewing Repayment History
For All Loans
Apply Filters
Filter by:
- Date range: Payments in a specific period
- Loan: Specific loan’s payments
- Payment method: All CASH payments, etc.
- Received by: Which staff member recorded it
For a Specific Loan
Scroll to Payment History
The loan detail page includes:
- Repayment Schedule section: All scheduled payments
- Payment History section: All repayments made
Generating Repayment Reports
Use the repayment summary and collections reports.Repayment Summary
Get aggregate statistics:- Total repayments in a date range
- Total amount collected
- Breakdown by payment method
- Collection rate
GET /api/repayments/summary (repayment.controller.ts:225-252)
Collections by Union
See how much each union has repaid:- Filter by date range
- Filter by credit officer
- Compare union performance
GET /api/repayments/collections-by-union (repayment.controller.ts:254-282)
Editing or Deleting Repayments
Editing a Repayment
Modify Details
You can change:
- Amount (will trigger re-allocation)
- Payment date
- Payment method
- Reference number
- Notes
Changing the amount will recalculate all allocations and update schedule items accordingly.
Deleting a Repayment
- Only Admins can delete repayments (repayment.controller.ts:115-141)
- Deletion removes the repayment record
- Allocations are reversed
- Schedule items revert to previous status
- Loan balance is adjusted
API Reference
For developers integrating with the repayment system:Related Features
- Loan Processing - Create and approve loans
- Reporting & Analytics - Collection reports
- User Management - Manage Credit Officers
Best Practices
Payment Method Accuracy: Accurate payment method recording is essential for:
- Bank reconciliation
- Cash management
- Fraud prevention
- Audit compliance
