- 26 Apr 2024
- 5 Minutes To Read
- Print
- DarkLight
- PDF
Loan Penalty Fees
- Updated On 26 Apr 2024
- 5 Minutes To Read
- Print
- DarkLight
- PDF
Description
This core extension point in lending facilitates bespoke penalty calculations which not only rely on overdue principal or overdue interest but now has access to account balances, custom fields, index rates, amongst others to create your own calculations.
Technical contract specification
Extension point ID: LOAN_PENALTY_FEE_AMOUNT_OVERDUE_PRINCIPAL
Input properties
PenaltyCalculationFunctionRequest
This class is a representation of technical contract of LOAN_PENALTY_FEE_AMOUNT_OVERDUE_PRINCIPAL input
Name | Type | Availability | Description |
---|---|---|---|
account | PenaltyCalculationAccountDTO | Sometimes present | Loan account related variables |
accountCustomFields | object | Sometimes present | Account standard custom fields |
accountGroupedCustomFields | object | Sometimes present | Account grouped custom fields |
context | PenaltyCalculationContextDTO | Sometimes present | Calculation context variables, that related to current specific calculation and not belong to any other |
features | object | Sometimes present | State of features that could affect calculations |
indexRatesConfigurations | [PenaltyCalculationIndexRateConfigurationDTO] | Sometimes present | Representation of an index rate configurations |
product | PenaltyCalculationProductDTO | Sometimes present | Loan product related variables |
repayment | PenaltyCalculationRepaymentDTO | Sometimes present | Representation of an installment/repayment |
Output properties
The only output for this extension point is the calculated amount created by the logic of your Mambu Function. The amount must be a string (number).
string(number)
Schemas
IndexType
The type of index rate source.
Enumerated values: INTEREST_RATE
| TAX_RATE
| WITHHOLDING_TAX_RATE
| PRINCIPAL_TAX_RATE
InterestRateReviewUnit
Interest rate review frequency measurement unit. Valid only for index interest rate.
Enumerated values: DAYS
| WEEKS
| MONTHS
PenaltyCalculationAccountDTO
Loan account related variables
Name | Type | Availability | Description |
---|---|---|---|
disbursementDate | string(date-time) | Sometimes present | The activation date, the date when the disbursement actually took place. |
feesBalance | string(number) | Sometimes present | Total fees expected to be paid on this account |
interestBalance | string(number) | Sometimes present | The interest balance for this account |
interestRate | string(number) | Sometimes present | Interest rate value. |
interestRateReviewCount | string(number) | Sometimes present | Interest rate review frequency unit count. Valid only for index interest rate. |
interestRateReviewUnit | InterestRateReviewUnit | Sometimes present | Interest rate review frequency measurement unit. Valid only for index interest rate. |
interestSpread | string(number) | Sometimes present | Interest spread value |
lastInterestReviewDate | string(date-time) | Sometimes present | The date the interest was reviewed last time, stored in the organization time format and time zone. |
penaltyBalance | string(number) | Sometimes present | Total penalty expected to be paid on this account |
penaltyRate | string(number) | Sometimes present | The rate (in percent) which is charged as a penalty |
principalBalance | string(number) | Sometimes present | The total principal owned by the client, from now on (principal disbursed - principal paid) |
totalBalance | string(number) | Sometimes present | The total balance of the account |
PenaltyCalculationContextDTO
Calculation context variables, that related to current specific calculation and not belong to any other
Name | Type | Availability | Description |
---|---|---|---|
daysLateSinceLastPayment | string(number) | Sometimes present | Number of days since last payment that affected principal(partial payment), with respect to holidays settings |
daysLateSinceRepaymentDue | string(number) | Sometimes present | Number of days since repayment due, with respect to holidays settings |
endDate | string(date-time) | Sometimes present | Define the end of calculated period, also known as entryDate |
lastPaidDateThatAffectPrincipal | string(date-time) | Sometimes present | Day of payment that affected principal(partial payment) |
penaltyRateChanges | [PenaltyRateChangeDTO] | Sometimes present | Intervals for which to compute the penalty amount. Each interval will have a constant penalty rate |
penaltyRatesByDaysLate | [PenaltyRatesByDaysLateDTO] | Sometimes present | Amount of days use for each specific penalty rate |
startDate | string(date-time) | Sometimes present | Start date of calculation period, depends on due date, penalty last applied date |
PenaltyCalculationFunctionRequest
This class is a representation of technical contract of LOAN_PENALTY_FEE_AMOUNT_OVERDUE_PRINCIPAL input
Name | Type | Availability | Description |
---|---|---|---|
account | PenaltyCalculationAccountDTO | Sometimes present | Loan account related variables |
accountCustomFields | object | Sometimes present | Account standard custom fields |
accountGroupedCustomFields | object | Sometimes present | Account grouped custom fields |
context | PenaltyCalculationContextDTO | Sometimes present | Calculation context variables, that related to current specific calculation and not belong to any other |
features | object | Sometimes present | State of features that could affect calculations |
indexRatesConfigurations | [PenaltyCalculationIndexRateConfigurationDTO] | Sometimes present | Representation of an index rate configurations |
product | PenaltyCalculationProductDTO | Sometimes present | Loan product related variables |
repayment | PenaltyCalculationRepaymentDTO | Sometimes present | Representation of an installment/repayment |
PenaltyCalculationIndexRateConfigurationDTO
Index rate configuration information
Name | Type | Availability | Description |
---|---|---|---|
encodedKey | string | Sometimes present | The encoded key of the index rate source, which is auto generated, and unique. |
id | string | Sometimes present | The ID of the index rate source, which can be generated and customized, and must be unique. |
indexRates | [PenaltyCalculationIndexRateDTO] | Sometimes present | Returns all index rates that correspond to an index rate source. |
name | string | Sometimes present | The name of the index rate source. |
notes | string | Sometimes present | The notes about the index rate source. |
type | IndexType | Sometimes present | The type of index rate source. |
PenaltyCalculationIndexRateDTO
Index rate information.
Name | Type | Availability | Description |
---|---|---|---|
id | string | Sometimes present | The ID of the index rate, which can be generated and customized, and must be unique. |
notes | string | Sometimes present | The notes or description attached to this object. |
rate | string(number) | Sometimes present | The percentage value of the index rate. |
startDate | string(date-time) | Sometimes present | The date when the index rate starts being the active rate for its source. |
PenaltyCalculationProductDTO
Loan product related variables
Name | Type | Availability | Description |
---|---|---|---|
daysInYear | string(number) | Sometimes present | Number of days in a year |
indexSourceKey | string | Sometimes present | Index rate source key. |
loanPenaltyGracePeriod | string(number) | Sometimes present | Number of days to wait before applying the loan penalty amounts |
taxesOnFeesEnabled | boolean | Sometimes present | Shows whether taxes on fees are enabled for this product or not. |
taxesOnInterestEnabled | boolean | Sometimes present | Shows whether taxes on interest are enabled for this product or not. |
taxesOnPenaltyEnabled | boolean | Sometimes present | Shows whether taxes on penalties are enabled for this product or not. |
PenaltyCalculationRepaymentDTO
Representation of an installment/repayment
Name | Type | Availability | Description |
---|---|---|---|
dueDate | string(date-time) | Sometimes present | Repayment/installment due date, organization day timezone(2023-11-01T00:00:00Z) |
feesDue | string(number) | Sometimes present | The fee amount that may be applied to the loan account. |
feesTaxDue | string(number) | Sometimes present | The taxes amount on the income from the installment fee amount. |
overdueInterest | string(number) | Sometimes present | The interest amount that is charged for the use of the loan. |
overduePrincipal | string(number) | Sometimes present | The original loan amount that is disbursed, excluding interest, fees, and penalties. |
taxesOnOverdueInterest | string(number) | Sometimes present | The taxes amount on the income from the installment allocation element amount. |
PenaltyRateChangeDTO
Penalty rate for the period
Name | Type | Availability | Description |
---|---|---|---|
endDate | string(date-time) | Sometimes present | The end of period for specific penalty rate |
penaltyRate | string(number) | Sometimes present | Specific penalty rate that was applied for specific period |
startDate | string(date-time) | Sometimes present | The start of period for specific penalty rate |
PenaltyRatesByDaysLateDTO
Penalty rate for numbers of days late
Name | Type | Availability | Description |
---|---|---|---|
daysLate | string(number) | Sometimes present | Number of days late with respect to holidays settings |
penaltyRate | string(number) | Sometimes present | Specific penalty rate that was applied for specific period |