Target release
Epic
Document statusDRAFT
Document owner 
Designer
Developers
QA

Overview

  • This feature allows a user to

Background and strategic fit

There is a need to tailor loan repayments to suit the cash flow patterns of the borrower. This is especially true of products like agricultural loans where clients cash flows can be quite volatile. Consequently returns in such sectors are seasonal, unpredictable and often lower than those of the regular commercial enterprises for which MFIs disburse loans. This necessitates the need for Financial Institutions to customize loans products, which allow for more flexibility with the installment schedule. 

The Variable Installment Loans feature of Mifos X accommodates this flexibility by specifying:

For a loan product:

    Minimum and maximum gap that should be present between installments (minimum is mandatory, however maximum is optional)

    An optional minimum installment amount

For a loan:

    Allow installment due dates to be modified

    Allow installment amounts to be modified (either total installment or principal portion can be modified)

    Add additional installments

    Validate the schedule and calculations after making these changes

Requirements/User Stories

#TitleUser StoryImportanceNotes
1Setup variable installment loan productAs an Operations Manager, I want to setup a loan product that will support variable installments so that loan officers can align loan repayments to client's ability to repayMust Have 
2Change installments amountsAs a loan officer, I want to change the amounts for installments for a loan so that the repayment amounts can be aligned to the client's ability to repayMust Have 
3Change installments datesAs a loan officer, I want to change the dates for installments for a loan so that the repayment dates can be aligned to the client's ability to repayMust Have 
4Add an installmentAs a loan officer, I want to add a new installment for a loan so that the repayment dates and amounts are aligned to the client's ability to repayMust HaveThe new installment may be added either in the middle of the repayment schedule or at the end of the repayment schedule.
5Validate Schedule Must Have 

Business Rules

Variable Installment may be specified for loans that have either flat interest calculation or diminishing balance based interest calculation

For a given loan schedule, user may either modify principal or installment amount (and not both)

User may make these modifications only prior to loan account approval.

User may modify the date of all the installments.

User may not modify the amounts for the last installment.

If the user enters an amount for either principal or installment amount, then the other will be automatically calculated by Mifos.

The user may specify variable installments in 3 scenarios:

1) Flat Interest Rate

2) Interest based on Diminishing Balance

3) Interest based on Diminishing Balance with Interest Recalculation

Scenario 1: Flat Interest Rate: Mifos will not recompute interest for each installment. And the total interest will remain the same as it was when the original schedule was generated.

User alters dates: Date cannot be before previous installment date or after the next installment date. The new date is accepted. No other change.

User alters principal amount: This amount can be zero. The amount is accepted. The installment amount is calculated by Mifos as "Installment Interest" + the principal amount specified . The difference in amount (between newly specified principal and original principal for the installment) will be equally distributed among other installments principal that were not modified.

User alters installment amount: Amount can be zero too.If the amount specified is greater than the interest, then the principal amount is calculated by Mifos as installment amount specified minus the "Installment Interest". If the amount specified is less than the interest amount for the installment, then the interest is set to this value. The difference in principal amount or interest amount (between newly specified amount and original amount for the installment for both interest and principal) will be equally distributed among other installments (principal and interest) that were not modified.

Scenario 2 and 3: Interest based on Diminishing balance (without or with interest recalculation)

User modifies dates: Date cannot be before previous installment date or after the next installment date. The new date is accepted. The interest on the installments that follow the modified installment will be recalculated based on principal outstanding and number of days of each installment.

User modifies principal amount: This amount can be zero. The amount is accepted. The difference in principal amount (between newly specified amount and original amount for the installment) will be equally distributed among other installments' principals that were not modified.The interest on the installments that follow the modified installment will be recalculated based on principal outstanding and number of days of each installment.

User alters installment amount: Amount can be zero too.If the amount specified is greater than the interest, then the principal amount is calculated by Mifos as installment amount specified minus the "Installment Interest". If the amount specified is less than the interest amount for the installment, then the interest is set to this value and the difference in interest is either added to the next installment (if compounding is turned off) or added to principal if compounded is turned on for this loan product. The interest on the installments that follow the modified installment will be recalculated based on principal outstanding and number of days of each installment.

 

The interest recalculation will be based on the relevant configuration of the loan product as specified at: Interest Amount Recalculation for Loan Accounts

 

Attributes

For Loan Products

AttributeDescriptionNotes
Can configure variable installmentsFlag denoting whether this loan product support variable installmentsTrue or False. Blank w.ould mean False.
Minimum gap between installmentsInteger value that denotes the minimum number of days that need to be present between any two installments for this loan product.

If above flag is true, then this field is mandatory.

Ex. 12 - means that at least 12 days is required between 2 adjacent loan installments. If less than 12, then the "validate" button would throw an error.

Maximum gap between installmentsInteger value that denotes the maximum number of days that need to be present between any two installments for this loan product.

Optional field.

Ex. 60 - means that utmost 60 days is allowed between 2 adjacent loan installments. If more than 60, then the "validate" button would throw an error.

Minimum installment amountInteger value that denotes the minimum installment amount.

Optional field.

 

Ex. 300 - means that the installment amount cannot fall below 300. If less than 300, then the "validate" button would throw an error.

This validation will not be applicable for the last installment as last installment will be auto-computed.

For Loan Installments

 

Security and Permissions

A new permission that will allow a user to "Edit Installment Amount and Dates".

Mifos Functionality Enhancements

New Screens

A new screen that will display the loan schedule and will allow installment dates and installment amounts to be edited. This screen will be invoked via a button "Edit Installments" which is displayed on the Repayment Info screen for a new loan account.

The screen will have the following attributes (displayed in a tabular form).

         # (Installment Number), Days, Date, Principal, Interest, Fees, Installment Amount

         Clicking on the Date, Principal, Installment Amount fields will allow these fields to be edited.

         Fields that have been edited will be displayed in a different color (or there will be a visual indication for the same).

The screen will have the following buttons:

         Validate, Save, Cancel (Save will be enabled only after Validate has returned success)

 

Changes to Existing Screens

A new button "Edit Installments" is to be added in the "Repayment Info" screen in the "new loan account" creation flow.

This button is to be displayed only if the user has the permissions to "Edit Installment Amount and Dates".

 

Changes/Enhancements to Batch Jobs

None

Changes/Enhancements to Accounting Entries

None

User interaction and design

Exception Handling

Reporting

APIs

Notes

Questions

Below is a list of questions to be addressed as a result of this requirements document:

QuestionOutcome

Out of Scope