Additional Interest on Custom
Overview
Lenders can charge additional interest on the interest-bearing principal types listed in the additional interest component. However, in the future, a lender may want to charge an additional interest on an interest-bearing principal that is not listed.
For example, a lender may want to charge an additional interest on the Principal Remaining or on the Loan Amount. To accomodate all the possible options, an Interest Bearing Principal type called Custom is introduced in the Oxygen release. When you select Custom as an Interest Bearing Principal, you can charge an additional interest as per your custom logic for the additional interest calculation defined in a custom class.
You can define a custom class in Custom Settings > Custom Hooks. When you do this, your custom class extends the AbstractCustomInterestCompInterestCalc class to customize the additional interest calculation.
For more information on this AbstractCustomInterestCompInterestCalc class, see AbstractCustomInterestCompInterestCalc.
Define a Custom Class
To be able to charge an additional interest on a custom amount, you need to first define a custom class.
Prerequisites
None
Steps
To define a custom class:
Log in to your Salesforce account.
Go to (Setup) > Setup.
In the Quick Find box, search for Custom Settings and then click it.
Scroll down and click Custom Hooks.
Click Manage.
Click New.
-
In the Custom Interest Comp Calculator Class field, specify the custom class name, and then click Save.
Note:The custom class name that you provide in this field must be a global class. For example, if you have a custom class named CustomInterestComponentInterestCalc1, then you can specify it as highlighted in the following image:
Custom Class This enables the product to consider this custom class for the calculation of the custom interest component.
Example: Charge Additional Interest on Custom
Let us look at an example to understand how an additional interest on a custom interest bearing principal works.
Define Custom Class
Let us say we have defined the following class in Custom Settings that calculates the additional interest on Loan Balance: CustomInterestComponentInterestCalc1.
For the Borrower (Loan Contract)
Let us understand how custom interest bearing principal works on the loan contract.
Create a Simple Loan Lending Product
Let us say a Simple Loan Lending Product is created with the following details:
Lending Product Detail | |
Is Interest Posting Transaction Enabled | True |
Interest Posting Frequency | Monthly |
Interest Component | |
Interest Bearing Principal | Custom |
Interest Rate | 5% |
Interest Posting Frequency | Billing Frequency |
Time Counting Method | Month and Days |
Create a Contract
Let us create a contract with the following terms and conditions:
Details | |
Loan Amount | $20,000 |
Contract Date | May 18, 2015 |
Interest Rate | 10% |
Next Due Date | June 18, 2015 |
On the Next Due Date
On the Next Due Date, June 18, 2015:
A bill gets generated with the Due Amount = $2092.81.
-
Two IPTs are created as follows:
Regular IPT with Interest Posted = Principal * Interest Rate of the loan contract * (Month and Days) = $20,000 * (10/100) * (30/360) = $166.67.
-
Additional Interest IPT with Interest Posted = Loan Balance * Interest Rate of the additional interest component * (one month as per Time Counting Method) = $20,000 * (5/100) * (30/360) = $83.33.
Note:The calculation of the additional interest is based on the custom logic defined in the custom class.
For the Investor (Investment Order)
Let us understand how custom interest bearing principal works on the investment order.
Create a Simple Loan Lending Product
Let us say a Simple Loan Lending Product is created with the following details:
Lending Product Detail | |
Is Interest Posting Transaction Enabled | True |
Interest Posting Frequency | Monthly |
Enable Interest Posting for IO | True |
Interest Component | |
Interest Bearing Principal | Custom |
Interest Rate | 5% |
Interest Posting Frequency | Billing Frequency |
Time Counting Method | Month and Days |
Create a Contract
Let us create a contract with the following terms and conditions:
Details | |
Loan Amount | $2000 |
Contract Date | September 19, 2015 |
Interest Rate | 10% |
Delinquency Grace Day | 1 |
Next Due Date | June 18, 2015 |
Create an Investment Order
Let us create an investment order with the following terms and conditions:
Investment Amount | $10,000 |
Share | 50% |
IO Commitment Amount | $16,000 |
IO Commitment Percent | 80% |
Interest Component | |
Interest Rate | 5% |
Interest Bearing Principal | Custom |
Time Counting Method | Month and Days |
On the Next Due Date
On the Next Due Date, October 19, 2015:
Run IO Interest Accrual Job and IO Interest Posting Job.
-
Following IPTs are created in the system:
Investment Order IPT with Interest Posted = Principal Amount * Interest Rate of the Investment Order * one month as per Time Counting Method = 10,000 * (10/100) * (30/360) = $83.33.
-
Additional interest IPT with Interest Posted = Investment Amount * Interest Rate of the Additional Interest Component of the Investment Order * one month as per Time Counting Method = 10,000 * (5/100) * (30/360) = $41.67.
Note:The calculation of the additional interest is based on the custom logic defined in the custom class.