Overview
By the end of this guide, you will understand the complete loan lifecycle from creation through approval to disbursement. You’ll learn how to create draft loans, submit them for approval, handle different loan statuses, and activate loans for repayment tracking.Understanding Loan Statuses
A loan moves through several stages during its lifecycle:| Status | Description | Who Can Set | Next Actions |
|---|---|---|---|
| DRAFT | Just created, not yet submitted | Credit Officer | Edit or Submit for Approval |
| PENDING_APPROVAL | Awaiting supervisor review | System (on submit) | Approve or Reject |
| APPROVED | Approved by supervisor | Supervisor/Admin | Disburse |
| ACTIVE | Disbursed and being repaid | System (on disburse) | Record repayments |
| COMPLETED | All repayments made | System (automatic) | None - archived |
| DEFAULTED | Borrower failed to repay | Admin | Collection or write-off |
| WRITTEN_OFF | Removed from active portfolio | Admin | None - archived |
| CANCELED | Application was canceled | Admin/Supervisor | None |
LoanStatus enum.
Status transitions are controlled by business logic. You cannot skip stages - for example, a DRAFT loan must go through PENDING_APPROVAL and APPROVED before being ACTIVE.
Creating a New Loan Application
Navigate to Loans Section
From the sidebar:
- Click “Business Management”
- Click “Loans”
- Click ”+ Add New Loan” button in the top right
Select the Borrower
Choose who will receive the loan:
-
Select Union: Choose from the dropdown of available unions
- Credit Officers only see unions assigned to them
- Admins and Supervisors see all unions
-
Select Union Member: Choose the borrower from the union
- Only verified members appear in this list (
isVerified = true) - If a member is missing, check their verification status
- Only verified members appear in this list (
Enter Loan Details
Fill in all required loan information:
Required Fields
| Field | Description | Validation | Format |
|---|---|---|---|
| Loan Type | Type of loan product | Required | Select from configured loan types |
| Principal Amount | Amount to lend | Required | Decimal, up to 14 digits |
| Interest Rate | Annual interest rate | Auto-filled from loan type | Percentage |
| Term Count | Loan duration | Required | Integer (1-999) |
| Term Unit | Duration unit | Required | DAY, WEEK, or MONTH |
| Repayment Frequency | How often payments are due | Required | Daily, Weekly, Monthly |
| Start Date | When loan begins | Required | Date (format: YYYY-MM-DD) |
| Purpose | Why the member needs the loan | Required | Text |
Optional Fields
- Notes: Additional information about the loan
- Processing Fee: May be auto-calculated based on loan type
- End Date: Usually calculated automatically
Review Repayment Schedule
After entering loan details, the system automatically:
- Calculates the total amount to be repaid
- Generates the full repayment schedule
- Shows all due dates and amounts
- Total Due: Principal + Interest + Fees
- Number of Installments: Based on term and frequency
- Due Dates: When each payment is expected
- Principal vs Interest: Breakdown per payment
The repayment schedule is generated using the RepaymentScheduleItem model (schema.prisma:282-308). Each installment tracks principal, interest, and fees separately.
Save as Draft or Submit
You have two options:Option 1: Save as Draft
- Click “Save as Draft”
- Loan status is set to
DRAFT - You can edit it later before submitting
- Use this when you need to verify information
- Click “Submit for Approval”
- Loan status changes to
PENDING_APPROVAL - It appears in your supervisor’s approval queue
- You cannot edit it after submission (contact admin if needed)
Required Field Validation
The system validates loan data before saving:Amount Validations
- Principal amount must be positive
- Must be within the min/max limits of the loan type
- Format: Decimal with up to 14 digits, 2 decimal places
Date Validations
- Start date cannot be in the past
- End date must be after start date
- Due dates are calculated based on frequency
Borrower Validations
- Union member must exist in the system
- Member must be verified (
isVerified = true) - Member must belong to the selected union
Editing Draft Loans
You can modify loans inDRAFT status before submission.
Find the Draft Loan
- Go to Business Management → Loans
- Filter by status: DRAFT
- Locate your loan in the list
Modify Details
You can change:
- Principal amount
- Interest rate
- Term and frequency
- Start date
- Purpose and notes
You cannot change the borrower (union member) after creation. To change the borrower, you must delete and recreate the loan.
Approving or Rejecting Loans (Supervisors/Admins)
Supervisors and Admins can review and approve loan applications.View Pending Approvals
- Navigate to Business Management → Loans
- Apply filter: Status = PENDING_APPROVAL
- You’ll see all loans awaiting your review
Review Loan Details
Click on a loan to view:
- Borrower information and credit history
- Loan amount and terms
- Repayment schedule
- Purpose of the loan
- Created by which Credit Officer
- Amount is reasonable for the member
- Terms align with loan type policies
- Member has capacity to repay
Approve the Loan
If the loan looks good:
- Click the “Approve” button
- Add approval notes (optional but recommended)
- Click “Confirm Approval”
- Loan status changes to
APPROVED - The loan is ready for disbursement
- The Credit Officer is notified
Disbursing a Loan (Giving the Money)
After approval, loans must be disbursed to activate them.Filter for Approved Loans
- Go to Business Management → Loans
- Filter: Status = APPROVED
- Find the loan to disburse
Open Disburse Dialog
- Click on the loan to open details
- Click the “Disburse” button
- A disbursement form appears
Enter Disbursement Details
Provide the following information:
| Field | Description | Required |
|---|---|---|
| Disbursement Date | When money was actually given | Optional (defaults to today) |
| Payment Method | How money was disbursed | CASH, TRANSFER, MOBILE, etc. |
| Reference Number | Transaction ID or check number | Optional |
| Notes | Additional disbursement notes | Optional |
If you don’t specify a disbursement date, the system uses the current date/time (loan.controller.ts:135-137).
Viewing Loan Details
Access comprehensive loan information at any time.Review Available Information
The loan detail page shows:Loan Summary
- Loan number (unique identifier)
- Current status
- Principal, interest, and total amounts
- Currency (default: NGN)
- Union member name and details
- Union affiliation
- Contact information
- Verification status
- All scheduled payments
- Due dates for each installment
- Principal and interest breakdown
- Payment status (PENDING, PAID, PARTIAL, OVERDUE)
- All repayments made so far
- Payment dates and amounts
- Payment methods used
- Running balance
- Attached loan documents
- Member documents
- Verification documents
- Timeline of status changes
- Who made each change
- Timestamps for each transition
Understanding the Repayment Schedule
The schedule shows all expected payments:| Column | Description | Source Field |
|---|---|---|
| Sequence | Payment number (1, 2, 3…) | sequence |
| Due Date | When payment is expected | dueDate |
| Principal Due | Amount toward loan principal | principalDue |
| Interest Due | Interest portion | interestDue |
| Fee Due | Any applicable fees | feeDue |
| Total Due | Total amount for this payment | totalDue |
| Paid Amount | How much has been paid | paidAmount |
| Status | PENDING, PAID, PARTIAL, OVERDUE | status (ScheduleStatus enum) |
- PENDING: Not yet paid, not overdue
- PARTIAL: Partially paid but not complete
- PAID: Fully paid
- OVERDUE: Past due date and not paid
Handling Different Loan Statuses
Active Loans
- Status:
ACTIVE - Action: Record repayments as they come in
- See: Repayment Tracking Guide
Completed Loans
- Status:
COMPLETED - Automatic when all repayments are made
- No further action needed
- Loan is archived but remains in records
Defaulted Loans
- Status:
DEFAULTED - Requires admin intervention
- Options: Collection actions or write-off
- Can be set manually by Admin users
Canceled Loans
- Status:
CANCELED - For applications that won’t proceed
- Can only be set by Admin/Supervisor
- Use instead of deleting
Assigning Loans to Officers
Admins can reassign loans between Credit Officers.Select New Officer
- Choose the new Credit Officer from the dropdown
- Enter a reason for reassignment (optional)
- Click “Confirm Assignment”
Loan Filtering and Search
Find loans quickly using filters:| Filter | Options | Use Case |
|---|---|---|
| Status | Any LoanStatus value | Find all pending approvals |
| Union | Union dropdown | See loans for specific union |
| Union Member | Member dropdown | View a member’s loan history |
| Search | Text input | Search by borrower name or loan number |
| Date Range | Start/End dates | Loans created in a period |
| Amount Range | Min/Max | Find loans above/below certain amounts |
API Reference
For developers integrating with the loan system:Related Features
- Repayment Tracking - Record payments against loans
- User Management - Manage Credit Officers and Supervisors
- Reporting & Analytics - Loan portfolio reports
- Loan Types Configuration - Set up loan products
