LendingTerms

Describes the period, interest and repayment configuration for a lending contract.

Field

Data Type

Description

period

string

Required

Overall duration of a lending contract.

For example, 1 month or 1 year

Read-write

interest

object

( InterestSettings )

Required

Interest settings.

Read-write

fees

object

( FeeSettings ) [] | null

Required

Lending fees settings.

Read-write

penalty

object

( PenaltySettings ) | null

Required

Penalty settings for installments in arrears.

Read-write

InterestSettings

Describes the duration, interest and repayment configuration for a lending contract.

All rates are annual and are defined as ratios not percentages.

Field

Data Type

Description

calculationMethod

string

(

"flat",

"reducing_balance"

)

Required

Interest calculation method.

compoundingPeriod

string

( Time period )

Required

Interest compounding period.

The period of time for which interest is calculated on the current principal. It must be less than or equal to the overall lending term period.

The compounding period also defines both the number of repayments to be made and the amortization schedule for a loan.

For example, for a 1 month loan contract, if the compounding period is 1 week, then interest is calculated every week for the 4 weeks of the loan duration and there will be 4 repayments made every week.

For example, 1 week, 1 month or 1 year.

baseRate

number

Required

This is the minimum effective annual interest rate that can be applied for any contract without accounting for the risk of default or additional service charges.

The base rate is usually set in line with a widely accepted benchmark within the lending context. For instance, the base lending rate set by national central banks.

It is expressed as a positive ratio. For example, 14% would be expressed as 0.14.

riskPremiumRate

number

Required

This is a variable interest rate set in excess of the base rate to account for the risk of default.

The risk premium is usually set to 0 when defining products and can later be dynamically adjusted when setting up product offer configuration rules in the lending app policy.

It is expressed as a positive ratio. For example, 4% would be expressed as 0.04.

Defaults to 0.

waiverRate

number

Required

This is the ratio of a lending contract's nominal interest rate (baseRate + riskPremiumRate), that should be wavered.

Defaults to 0.

maxAPR

number

Required

The maximum annual percentage rate (APR) allowed for any contract.

If a contract were calculated to have an APR above the set maximum, then it would be lowered to be equal to the maximum by default.

This field is useful as a control measure in jurisdictions with lending rate caps.

Defaults to the -1 which means no maximum rate is effected.

maxAER

number

Required

The maximum annual equivalent rate (AER) allowed for any contract.

If a contract were calculated to have an AER above the set maximum, then it would be lowered to be equal to the maximum by default.

Defaults to the -1 which means no maximum rate is effected.

FeeSettings

Describes settings for a lending fee.

Field

Data Type

Description

kind

string

( LendingFeeType )

Required

Fee kind.

value

number

( Money format )

Required

A value used to calculate the fee amount using the fee calculation method.

displayName

string

Required

Fee display name.

calculationMethod

string

(

"flat",

"principal_amount_ratio"

)

Required

Fee calculation method. The values are outlined below.

  • flat: The fee amount is equal to the fee value set.

  • principal_amount_ratio: The fee amount is a ratio of the contract principal amount and is derived by multiplying the fee value by the contract principal amount.

installmentTarget

string

(

"first_in_sequence",

"last_in_sequence",

"all_in_sequence",

"all_in_sequence_split",

"in_progress"

)

| null

Required

Specifies which loan installment(s) to allocate a fee amount to. The values are outlined below.

  • first_in_sequence: The fee amount is allocated to the first loan installment.

  • last_in_sequence: The fee amount is allocated to the last loan installment.

  • all_in_sequence: The fee amount is allocated to each loan installments as is.

  • all_in_sequence_split: The fee amount is first divided by the number of installments and then allocated to each loan installments.

  • in_progress: The fee amount is allocated to the currently active loan installment.

description

string | null

Required

The fee description.

required

boolean

Required

A flag to denote whether the fee is required.

A required fee is automatically applied to all loan accounts when applicable.

Defaults to true.

calculateInAdvance

boolean

Required

A flag to denote whether the fee should be calculated before the loan account is created.

Defaults to false.

PenaltySettings

Describes settings for a lending penalty for an installment in arrears.

Field

Data Type

Description

calculationMethod

string

(

"overdue_principal",

"overdue_principal_and_interest",

"outstanding_principal"

)

Required

Penalty calculation method.

The values are outlined below.

  • overdue_principal: The penalty is applied on the overdue principal amount. penaltyAmount = penaltyRate * overduePrincipal * noOfDaysLate

  • overdue_principal_and_interest: The penalty is applied on the overdue principal amount and overdue interest amount. penaltyAmount = penaltyRate * (overduePrincipal + overdueInterest) * noOfDaysLate

  • outstanding_principal: The penalty is applied on the overdue principal amount and overdue interest amount. penaltyAmount = penaltyRate * (overduePrincipal + overdueInterest) * noOfDaysLate

gracePeriod

string

Required

The maximum period of time a repayment can be overdue but the penalty is not applied.

For example, 2 days.

rate

number

Required

The rate at which the penalty is charged expressed as a ratio.

For example 0.02 is a penalty of 2%.

LendingFeeType

A list of all valid lending fee types.

Type

Description

capitalized_disbursement_fee

The fee amount is included within the loan principal at disbursement.collection_fee

collection_fee

A fee amount that is included in advance within each loan installment in the loan schedule.

deducted_disbursement_fee

The fee amount is deducted from the loan principal at disbursement.

late_payment_fee

A fee amount that is applied whenever an installment payment is late.

manual_fee

A custom fee amount that is applied whenever required.

upfront_disbursement_fee

An fee amount that is applied when the loan is disbursed and is paid in one of the installments.

Last updated