Migration Repayments Template
One row per repayment (EMI payment). Multiple rows per loan.
Download migration_repayments_template.csv
Sample Data
csv
loanExternalId,installmentNumber,repaymentAmount,repaymentDate,repaymentUtr,repaymentNote
DMI-LN-001,1,15000,05 April 2024,UTR001,EMI 1
DMI-LN-001,2,15000,05 May 2024,,EMI 2Column Reference
| Column | Required | Example | Description |
|---|---|---|---|
loanExternalId | Yes | DMI-LN-001 | Must match a loan from the loans CSV |
installmentNumber | Yes | 1 | EMI number (1, 2, 3...) - used for ordering and deduplication |
repaymentAmount | Yes | 15000 | Amount paid (must be > 0) |
repaymentDate | Yes | 05 April 2024 | Date of payment |
repaymentUtr | No | UTR001 | Payment UTR reference |
repaymentNote | No | EMI 1 | Free text note |
Date Format
Recommended: dd MMMM yyyy (e.g., 05 April 2024)
Other supported formats: YYYY-MM-DD, DD-MM-YYYY, DD/MM/YYYY
TIP
Use the same date format consistently across both the loans and repayments CSVs.
Important Notes
Order of Operations
Always process loans first, then repayments. The loanExternalId in each repayment row must already exist in Fineract (created via the loans CSV).
- Each row results in one Fineract repayment API call
installmentNumberis used for ordering - process EMI 1 before EMI 2- Rows with empty
repaymentUtrare still valid - Failed repayments are automatically retried when you run the retry command