Overview
As an Operations Manager, I want to define a loan product that supports interest recalculation.
When repayments are on time and for the exact due amount always, then there is no need for interest recalculation.
However, when repayments are either not on time or not for the due amount, then the following scenarios need to be handled:
a) Exact Due Amount is paid and
- is paid Late
- is paid Early
b) Only part of the Due Amount is paid and:
- is paid On Time
- is paid Late
- is paid Early
c) Excess of Due Amount is paid and:
- is paid On Time
- is paid Late
- is paid Early
For such scenarios, the exact interest calculation depends on following factors:
a) Days Calculation Basis:
- Actual
- 30 – here number of days will be computed as (Y2-Y1)*360 + (m2-m1)*30 + (d2-d1)
d1 and d2 will be treated as 30 if they are > 30
b) Number of days in a year:
- Actual
- 360
- 365
- 364
c) Rest or Frequency at which outstanding principal is recalculated – may be daily, weekly, fortnightly or monthly
Background and strategic fit
Many financial institutions have the need to re-compute interest based on actual date of repayment. This feature is a must when Mifos needs to support operations of a commercial bank.
Requirements/User Stories
# | Title | User Story | Importance | Notes |
---|---|---|---|---|
1 | Define Loan Product | As an Operations Manager, I want to define a loan product that supports interest recalculation | Must Have | |
2 | Create Loan Account | As an Loan Officer, I want to create a loan account that supports interest recalculation | Must Have |
Business Rules
A Daily Rest may be specified for loans of any frequency and the days in year may be:
- 365 – for all repayment frequency
- 364 – for weekly or fortnightly repayment loans
- 360 – for monthly repayment loans
A Weekly Rest may be specified for loans that are repaid weekly or fortnightly and the days in year may be 365 or 364
A Fortnightly Rest may be specified for loans that are repaid fortnightly and the days in year may be 365 or 364
A Monthly Rest may be specified for loans that are repaid Monthly and the days in year may be 365 or 360
These rules will not be implemented in the Mifos X code. But this is expected to be followed defining loan products and loan accounts. Mifos will be tested only in the above scenarios for consistent interest calculations.
Interest Calculation will be done as follows:
Interest = Principal * Annual Interest Rate * Days Calculated / Number of Days in a Year
- Principal – Principal as per the Rest Spcified
- Days Calculated – based on “Days Calculation Basis”
Attributes
For Loan Products and Loan Accounts
(Note: For Loan Accounts – all the below 4 attributes are inherited from Loan Product and cannot be modified for each account)
Attribute | Description | Notes |
---|---|---|
Days In Year | Number of days to be considered for a year when calculating interest. Can be: Actual 365 360 364 | Not Null Default is "Actual" |
Recalculate Interest? | For this loan product, if interest is to be recalculated when early or late payments or exact amount is not paid (True or false) | Checkbox – Nullable Default is Null |
Frequency at which Outstanding Principal is recalculated | Rest or Frequency at which outstanding principal is recalculated – Same as Repayment Frequencyll Daily Weekly Fortnightly Monthly | Dropdown - Nullable Default is Null |
Days Calculation Basis | Basis for calculation of number of days between the start and end dates Actual 30 | Default is Actual |
Security and Permissions
No new security considerations or permissions for this feature
Mifos Functionality Enhancements
- Loan Products to be enhanced to capture above 4 attributes
- Loan Accounts to be enhanced to capture above 4 attributes
- When make payment screen is submitted – then system checks if the payment was on time and was for the exact amount. If not, then the current and future installment and interests are re-calculated for the loan as described in Business Rules.
- New Batch job to be introduced for Daily Interest Calculation for Loans
New Screens
None
Changes to Existing Screens
- Loan Products screens to be enhanced to capture above 4 attributes
- Loan Accounts screens to be enhanced to capture above 4 attributes
- Make Payment Screen – interest calculation and application of principal changes (see Business Rules for calculations)
Changes/Enhancements to Batch Jobs
New Batch job to be introduced for “Interest Re-Calculation for Loans” – For all loans with overdue repayments, the current and future installment and interests are re-calculated for the loan as described in Business Rules.
- To be verified: If “Loan Summary” job needs to be modified
- To be verified: If “Update Loan Arrears Aging” job needs to be modified
Changes/Enhancements to Accounting Entries
No changes
User interaction and design
TBD
Exception Handling
TBD
Reporting
No new reports or changes to existing reports needed
APIs
APIs to be enhanced for including the above fields for loans products and loan accounts.
Notes
All existing loans to have the following default value during upgrades:
- Days in Year – Actual
- Recalculate Interest? – checkbox - Null
- Rest or Frequency at which outstanding principal is recalculated – Null
- Days Calculation Basis – Actual
Questions
Below is a list of questions to be addressed as a result of this requirements document:
Question | Outcome |
---|---|