Declining Balance Feature.pdf - Java
Declining Balance Feature.pdf - Java
Declining Balance Feature.pdf - Java
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
Code Bounty Offered for:<br />
<strong>Declining</strong> balance interest for loans<br />
Terms of the bounty can be found at http://wiki.java.net/bin/view/<strong>Java</strong>tools/CodeBounties<br />
Background: MFIs typically use two ways of calculating interest for their loans. One is<br />
called “flat interest” (also referred to as “simple interest) in which the interest is<br />
calculated as a “flat amount” based on the principal disbursed and the duration of the loan<br />
repayment. For example, 10% flat interest annually on a 100dollar loan repaid over a<br />
year would be 10 dollars. This amount is typically distributed equally across all<br />
payments, although some MFIs ask the clients pay the interest “up-front”. This way of<br />
calculating interest is not common in the US. Some MFIs also calculate interest based on<br />
the declining balance model which is typical in the US. In this approach, interest is<br />
calculated based on the amount of principal that has not yet been repaid. Because the<br />
amount of unpaid principal (theoretically) declines with each payment in the amortization<br />
schedule, the amount of interest due for each payment also declines. In the example<br />
above, if the interest was 10% declining balance and loan repayments were made<br />
monthly—the amount of interest paid by the customer would be less than 10dollars.<br />
<strong>Feature</strong> summary: This feature would allow MFIs to create loan repayment schedules<br />
with equal installments and interest based on the declining balance formula.<br />
User Flow:<br />
• User clicks on “Create a new loan product” from Admin screen<br />
• User fills out all details for the loan product. Under the “Interest rate” bolded<br />
header, in the field “interest rate type”, the option “declining balance” appears.<br />
User selects this option. User previews and saves the new loan product.<br />
• User then clicks “Create loan account” and selects an individual or group as the<br />
owner of the loan.<br />
• On “Create loan account – Enter loan account information”, user selects the loan<br />
product type that was defined in the steps above (ie, the one with declining<br />
balance). User fills out the required data needed to create a loan account, and<br />
clicks “continue”<br />
• On “Create loan account – Review Installments” page, user is shown a repayment<br />
schedule calculated based on EMI and declining balance interest rates.<br />
• Formula for calculating repayment schedule is the following:<br />
EMI formula:<br />
EMI = i*P / [1- (1+i)^-n]<br />
Where,<br />
P = Loan amount<br />
r = Rate of interest per year<br />
n = Term of the loan in periods<br />
I= loan duration (fraction of a year)<br />
i = Interest rate per period (r*l)<br />
Emily Tucker, 30 June 2006 - 1 -
Examples:<br />
P=1000, r = 5/100, l = 6/12 n = 2, i = 0.025<br />
EMI = 0.025 * 1000 / [1-(1+0.025)^-2]<br />
EMI = $518.83<br />
The way to apply payments is as follows:<br />
• Loan duration calculation- loan duration should be calculated in<br />
years as per the below given rules:<br />
o If Number of interest days in a year =360<br />
number of days in a month will be 30 for all months,<br />
number of days in a week = 7<br />
o If Number of interest days in a year = 365<br />
number of days in a month will be 30/31 (actual number of<br />
days in a month will be taken)<br />
o Example:<br />
number of interest days in a year = 360,<br />
if interest rate = 3 % p.a.<br />
frequency of installments = every week<br />
number of installments = 20<br />
Then loan duration = 20*7/360 = 140/360 = 0.38 years<br />
• Calculate interest on the principal due: If outstanding balance =<br />
$1000, and i = 0.025, interest is $25<br />
• Calculate the amount to principal which is the monthly payment<br />
minus the interest due: $518.83 - $25 = $493.83<br />
• Calculate the principal remaining, which is the previous principal<br />
remaining minus the amount applied to principal: $1000 - $493.83<br />
= $506.17 (remaining balance)<br />
• Repeat steps 1 – 3 for the remaining installments.<br />
• Repayment schedule should follow rounding rules and decimal precision rules<br />
as defined, and already implemented, in the system.<br />
• Repayment schedule is saved in the system and appropriate values for this<br />
repayment schedule are displayed on the “Repayment schedule” page and<br />
loan account details page.<br />
• If a user misses a payment, repayment schedule does not change. That is,<br />
loan is amortized in advance and interest is due regardless of early<br />
repayment.<br />
Alternate Flow 1:<br />
• User creates a new loan product with declining balance interest.<br />
• User checks the “interest deducted at disbursement”<br />
• System throws an error message that reads: You cannot deduct interest at<br />
disbursement for declining balance loans. Please unselect this option or change<br />
the interest calculation method to flat interest.”<br />
Alternate Flow 2:<br />
Emily Tucker, 30 June 2006 - 2 -
• User creates a new loan product with declining balance interest.<br />
• User selects “principal due on last installment” and saves loan product type.<br />
• User clicks to create a loan account with this product definition, types in relevant<br />
details, and generates repayment schedule.<br />
• Repayment schedule is calculated assuming no principal is paid throughout the<br />
loan cycle. Each payment includes interest charge but no principal. The last<br />
payment includes interest + principal payment.<br />
Alternate Flow 3:<br />
• User creates a new loan product with declining balance interest.<br />
• User selects Grace period type “Grace on all payments”, grace period as N<br />
installments, and saves loan product type.<br />
• User clicks to create a loan account with this product definition, types in relevant<br />
details, and generates repayment schedule.<br />
• Repayment schedule is calculated with the first loan repayment coming N + 1<br />
installments after disbursement date. Interest is not accumulated for this period.<br />
In other words, grace is given on both principal and interest. Start date for loan<br />
repayment schedule is essentially “pushed out”.<br />
Alternate Flow 4:<br />
• User creates a new loan product with declining balance interest.<br />
• User selects Grace period type “Principal only grace”, grace period as N<br />
installments, and saves loan product type.<br />
• User clicks to create a loan account with this product definition, types in relevant<br />
details, and generates repayment schedule.<br />
• To calculate loan duration, grace period should also be included in “total<br />
installments”.<br />
• Repayment schedule is calculated with the first N installments being interest-only<br />
payments—this amount calculated based on the assumption that no principal has<br />
been paid off. After the “principal only grace” ends, and repayment schedule<br />
includes both interest and principal payments amounts calculated per the EMI rule<br />
above.<br />
Other information:<br />
• No permissions are needed for this feature<br />
• This feature has no impact on the “change logs”<br />
Emily Tucker, 30 June 2006 - 3 -
Terms of Participation<br />
http://wiki.java.net/bin/view/<strong>Java</strong>tools/TermsParticipation<br />
Terms of the Agreement between you, the Volunteer, and GFUSA: You affirm to<br />
Grameen Foundation USA (GFUSA) in connection with your participation in the<br />
GFUSA-sponsored process of MIFOS development (the Project):<br />
• You will only contribute to the Project intellectual property that you are free to<br />
contribute and that belongs solely to you.<br />
• If you use the equipment or resources of your employer in connection with your<br />
work on the Project or you do work on the Project during you're the period that<br />
your employer considers to be working hours or you have an agreement or<br />
company policy that limits your participation in the outside projects, you have<br />
obtained permission from your employer to participate in the Project.<br />
• Your participation in the Project will not violate any laws of any applicable<br />
jurisdiction, including any United States Export laws. You are not a citizen of any<br />
nation to which export of (or access to) technology is prohibited under United<br />
States Export Laws and you are not a person listed in any United States law as<br />
prohibited from access to technology.<br />
• All code, including your contributions to the Project will be released under the<br />
Apache 2.0 open source license.<br />
• Information about or from the Project's beta customers is confidential and you<br />
will not disclose that information to third parties or use it for any purpose other<br />
than to make contributions to the Project.<br />
• You understand each of these matters and have had an opportunity to ask<br />
questions of GFUSA to get all clarifications required by you.<br />
Emily Tucker, 30 June 2006 - 4 -