Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Page Properties
Target release
Epic
Document status
Status
titleDRAFT
Document ownerBinny Gopinath Sreevas
Designer
Developers
QA

...

Many Banks and  Financial Institutions use lending rates that are linked to the Base Lending Rates defined by the Central Bank of the country. Home Loans and other longer term loans are usually given out by banks/financial institutions at floating interest rates - where the interest rate applicable for the loan is linked to the interest rate set by the Central Bank and is periodically revised by the Central Bank. The interest rate applicable for the loan, can change during the tenure of the loan. The loan may start off as a 10% loan and may get revised to 10.5% after a period of time and can even be revised downwards (for example: 9.5%) depending on guidelines issued by the Central Bank from time-to-time. 

Background and strategic fit

...

QuestionOutcome

Should Base Lending Rate and Floating Interest Rate be provided for the same period?

For example: if Base Lending Rate is given as yearly rate, can Floating Interest Rate be provided as a monthly rate? Will there be any conflicts during calculations?

 
Is it ok to keep the floating interest linked to the disbursal date (and not link it to the loan application submission date and loan approval date)?Yes, Should be linked to disbursal date (DBH)
Should floating interest rate be application for products that do not support Interest Recalculation? If yes, need to get list of exact scenarios to be supported. 
Once a loan account starts using a floating interest rate and repayments are already made, then it is planned to not allow any modification prior to the repayment date for Base Lending Rate and loan product level Floating Interest Rate. Is this ok? yes, the only time it would be feasible to make a modification prior to repayment date is in the case of error correction. this would then be done thru journal entries. (DBH)
  

Out of Scope

TBD

 

Detail Design for Implementation

Defining Floating Interest Rates

...

  • Interest Rate periods can be added/updated/modified only with a future start date
  • Only one Base Lending Rate type of scheme at any given time
  • Differential to Base Lending Rate type cannot be created without Base Lending Rate already defined
  • interestRatePeriodEnum attribute for Differential to Base Lending Rate type will be same as Base Lending Rate
  • Base Lending Rate cannot be inactivated when there is any Differential to Base Lending Rate type active

 

Defining a Loan Product

API

Following additional attributes will be added to /mifosng-provider/api/v1/loanproducts list/add/update APIs

SlAttributeTypeDefinition
1isLinkedToFloatingInterestRatesbooleanIdentifies a loan product is linked to floating rates
2floatingRateIdlong

Floating rates scheme to be followed

3interestRateDifferentialdecimal

Differential on top of rate as derived by Floating rate scheme

Basically "Loan Product Base Rate" is derived based on this differential

4minDifferentialLendingRatedecimalMin differential w.r.t "Loan Product Base Rate" while providing loans
5defaultDifferentialLendingRatedecimalDefault differential w.r.t "Loan Product Base Rate" while providing loans
6maxDifferentialLendingRatedecimalDefault differential w.r.t "Loan Product Base Rate" while providing loans
7isFloatingInterestRateCalculationAllowedboolean

If true, loan can be given with floating interest calculations

If false, interest rate for the loan is fixed as per the rate derived as on loan application date

 

UI

Loan product create/edit screens will have following additional fields

  • A checkbox "Is Linked To Floating Interest Rates" under section "Terms"
    • If unchecked, existing "Nominal interest rate" attributes would be visible and captured
    • If checked, attributes 2-6 defined above will become visible and be captured
  • A checkbox "Is Floating Interest Rate Calculation Allowed" under section "Interest Recalculation"
    • Only allowed to check if Interest Method is Declining Balance

 

Defining Loan

API

Following additional attributes will be added to /mifosng-provider/api/v1/loans view/create/edit APIs

AttributeTypeDescriptionRestrictions
interestRateDifferentialdecimalInterest Rate differential applicable to loan application w.r.t "Loan Product Base Rate"Should be within min/max rage as defined in loan product
isFloatingInterestRateboolean

Is floating interest rate calculation applied for the loan?

If false, flat interest rate as applicable on loan application date

If true, interest rate as applicable from period to period

Only allowed if isFloatingInterestRateCalculationAllowed is true at loan product definition

 

UI

Loan create/edit screens will have following attributes

  • "Nominal interest rate" field will be replace with "Interest Rate Differential" field in case loan product is linked to Floating Interest Rates
  • A checkbox "Is Floating Interest Rate Loan" will be added in case loan product is linked to Floating Interest Rates and isFloatingInterestRateCalculationAllowed is allowed for the loan product

 

 

 

 

 

...

DB changes

Following new tables would be added

m_floating_rates  
field_namefield_typeContraints
idlongnot null auto increment
namevarchar[200]not null
is_base_lending_ratebitnot null default false
is_activebitnot null default true
created bybigintnot null
created datedatetimenot null
modified bybigintnot null
modified datedatetimenot null
m_floating_rates_periods  
idlongnot null auto increment
floating_rates_idlongnot null
from_datedatetimenot null
interest_ratedecimalnot null
interest_rate_period_enumsmallintnot null
is_differential_to_base_lending_ratebitnot null default false
is_activebitnot null default true
created bybigintnot null
created datedatetimenot null
modified bybigintnot null
modified datedatetimenot null

 

Defining a Loan Product

API

Following additional attributes will be added to /mifosng-provider/api/v1/loanproducts list/add/update APIs

SlAttributeTypeDefinition
1isLinkedToFloatingInterestRatesbooleanIdentifies a loan product is linked to floating rates
2floatingRateIdlong

Floating rates scheme to be followed

3interestRateDifferentialdecimal

Differential on top of rate as derived by Floating rate scheme

Basically "Loan Product Base Rate" is derived based on this differential

4minDifferentialLendingRatedecimalMin differential w.r.t "Loan Product Base Rate" while providing loans
5defaultDifferentialLendingRatedecimalDefault differential w.r.t "Loan Product Base Rate" while providing loans
6maxDifferentialLendingRatedecimalDefault differential w.r.t "Loan Product Base Rate" while providing loans
7isFloatingInterestRateCalculationAllowedboolean

If true, loan can be given with floating interest calculations

If false, interest rate for the loan is fixed as per the rate derived as on loan application date

 

UI

Loan product create/edit screens will have following additional fields

  • A checkbox "Is Linked To Floating Interest Rates" under section "Terms"
    • If unchecked, existing "Nominal interest rate" attributes would be visible and captured
    • If checked, attributes 2-6 defined above will become visible and be captured
  • A checkbox "Is Floating Interest Rate Calculation Allowed" under section "Interest Recalculation"
    • Only allowed to check if Interest Method is Declining Balance

DB Changes

New table will be added

m_product_loan_floating_rates  
idlongnot null auto increment
loan_product_idlongnot null
is_linked_to_floating_interest_ratesbitnot null default false
base_lending_rates_idlongnot null
interest_rate_differentialdecimalnot null default 0
is_floating_interest_rate_calculation_allowedbitnot null default false
min_differential_lending_ratedecimalnot null default 0
default_differential_lending_ratedecimalnot null default 0
max_differential_lending_ratedecimalnot null default 0

 

Defining Loan

API

Following additional attributes will be added to /mifosng-provider/api/v1/loans view/create/edit APIs

AttributeTypeDescriptionRestrictions
interestRateDifferentialdecimalInterest Rate differential applicable to loan application w.r.t "Loan Product Base Rate"Should be within min/max rage as defined in loan product
isFloatingInterestRateboolean

Is floating interest rate calculation applied for the loan?

If false, flat interest rate as applicable on loan application date

If true, interest rate as applicable from period to period

Only allowed if isFloatingInterestRateCalculationAllowed is true at loan product definition

 

UI

Loan create/edit screens will have following attributes

  • "Nominal interest rate" field will be replace with "Interest Rate Differential" field in case loan product is linked to Floating Interest Rates
  • A checkbox "Is Floating Interest Rate Loan" will be added in case loan product is linked to Floating Interest Rates and isFloatingInterestRateCalculationAllowed is allowed for the loan product

DB Changes

Following fields added to m_loan

m_loan  
is_floating_interest_ratebitnot null default false
interest_rate_differentialdecimalnullable

 

Example Illustration

Below table illustrates what will be the applicable interest rates for any given date period.

 

Loan Product 

Differential Rate

 

Loan Application

Differential Rate

 

Date

Base Lending Rate in %

(Rates defined as part of

"Base Lending Rate type")

 

Floating Interest Rate

(Loan product Linked to

"Base Lending Rate")

Differential to Base Lending Rate %

(Rates defined as part of

"Differential to Base Lending Rate type")

 

Floating Interest Rate

(Loan product Linked to

"Differential to Base Lending Rate type")

 

2101-10-2010811213
10-10-2010
16-10-2010912
31-10-2010710111
10-11-2010212
15-11-201069
30-11-2010811