Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

 

 

Page Properties
Target release
Epic 
Document status
Status
titleDRAFT
Document owner 
Designer
Developers
QA

...

  • Principal – Principal as per the Rest Specified
  • Days Calculated – based on “Days Calculation Basis”

Other rules that will be followed:

a) When interest recalculation is turned on for a loan product, then any excess amount (over what is currently due or overdue) will be applied to the outstanding principal always. In this respect, it will override the settings for Repayment Strategy selected.

 

b) Any interest compounding will stop if any amount is overdue more than the number of days for the account to be treated as Non-Performing Asset (overdue_days_for_npa).

 

c) If there is a disbursement-time fee, which is calculated on principal+interest - then this fee amount will not be recomputed based on interest recalculations.

 

d) If any interest (or fee) was waived on an account - and the interest (or fee) changes due to the recalculations - then the waived amount will not be automatically changed by Mifos.

Example:

     Total Interest dues: Apr-14 - 300, May-14 - 250 and Jun-14 - 200

     Interest Waived = 300 (i.e. entire Apr-2014's interest is waived)

     Due to interest recalculation (due to a back-dated transaction), the interest amounts now change to: Apr-14 - 250, May-14 - 200 and Jun-14 - 150

     The waived amount remains as 300 (i.e. April's interest of 250  is waived and from May's interest - 50 is waived. If other behavior is needed, then user has to reverse the earlier waiver and then apply interest recalculation and then re-do the waiving with new amount).

The only situation when Mifos will automatically change the waived amount is when the total recalculated interest (or fee) due is less than the waived amount. In such a case, the waived amount is reduced to the recalculated amount.

 

e) If a fee is already paid and due to the recalculations if the fee is reduced (or increased), then the fee paid transaction is not altered. Any excess fees already paid in can be refunded at the end of the tenure of the loan (as then it will show that the account is overpaid). If there is an increase in fee due to the recalculations, then the additional fee can be collected.

Attributes

For Loan Products and Loan Accounts

...

  • Days in Year – Actual
  • Recalculate Interest? – checkbox - Null
  • Rest or Frequency at which outstanding principal is recalculated – Null
  • Days Calculation Basis – Actual

 

Database changes 

 

 1. Modifications to Loan Product (“m_product_loan”)

Column NameData TypeDescription
days_in_month_enumint

No of Days should be considered in loan calculation

Actual or 30 days
days_in_year_enumint

No of Days should be considered in loan calculation

Actual or 360 or 365 or 364
interest_recalculation_enabledtinyint

Boolean flag indicates is interest recalculation required if

payment not done as per the schedule.

 

2.   Modifications to Loan

...

Account(“m_loan”)

Column NameData TypeDescription
days_in_month_enumint

No of Days should be considered in loan calculation

Actual or 30 days
days_in_year_enumint

No of Days should be considered in loan calculation

Actual or 360 or 365 or 364
interest_recalculation_enabledtinyint

Boolean flag indicates is interest recalculation required if

payment not done as per the schedule.

 

 

3. Interest Recalculation settings (m_product_loan_recalculation_details)

int
Column NameData TypeDescription
interest_compound_enabledtinyint

Boolean flag indicates whether interest compounding to be used

in recalculation

rest_frequency_idbigintfrequency to be used for interest recalculation. references to m_frequency_details
reschedule_strategy
product_idbigintref m_product_loan
compound_type_enumint

indicates compounding strategy

  • none
  • interest
  • fee
  • interest and fee
 reschedule_strategy_enumint  

indicates which reschedule strategy to be used on prepayment

  • Reschedule Next Repayments
  • Reduce Number of Installments

...

  • Reduce EMI Amount

 

3. Interest Recalculation settings (m_

...

loan_recalculation_details)

Column NameData TypeDescription
frequencyloan_type smallint
  • days
  • weeks
  • months
  • years
repeat_on_daysmallint 
repeat_on_monthsmallint 
repeat_intervalsmallint 

...

idbigintref m_loan
compound_type_enumint

indicates compounding strategy

  • none
  • interest
  • fee
  • interest and fee
 reschedule_strategy_enumint  

indicates which reschedule strategy to be used on prepayment

  • Reschedule Next Repayments
  • Reduce Number of Installments
  • Reduce EMI Amount

Use cases:

     1. identify  recalculation : check the payment against schedule and should process recalculation in following scenarios 

...

    1. identify outstanding principal 
    2. identify amount for interest compound 
    3. regenerate schedule based on outstanding and rest frequency(from calendar instance)
    4. add the extra interest(in-case of late payment ) to next installment(should define the behavior if last payment is delayed?)
      1. for last installment,  will add extra installments with interest component only 
    5. if prepayment is done then use one of the strategy to reschedule.
      1. adjust EMI amount  
      2. adjust loan duration
      3. adjust next installments

...