Skip to content

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 2

Column Reference

ColumnRequiredExampleDescription
loanExternalIdYesDMI-LN-001Must match a loan from the loans CSV
installmentNumberYes1EMI number (1, 2, 3...) - used for ordering and deduplication
repaymentAmountYes15000Amount paid (must be > 0)
repaymentDateYes05 April 2024Date of payment
repaymentUtrNoUTR001Payment UTR reference
repaymentNoteNoEMI 1Free 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
  • installmentNumber is used for ordering - process EMI 1 before EMI 2
  • Rows with empty repaymentUtr are still valid
  • Failed repayments are automatically retried when you run the retry command

Turno Fineract LMS Documentation