This utility generates an amortization schedule for an installment loan or line of credit draw.
The atOrigination
field is where you specify various loan or draw-specific inputs such as the
start date, amount to be financed, and duration.
You can specify generic loan type configurations as part of the request body (or omit these
fields and use the default configurations). Alternatively, you can use predefined loan type
configurations by passing in a loanTypeId
. For a line of credit draw, you can also pass in
a loanId
in place of a loanTypeId
. When a loanId
is provided, the amortization calculation
will reference the configurations of the loan type associated with the loanId
, and will also
use the line of credit start date and rates associated with the loanId
if these fields are
not passed in.
When generating an amortization schedule from a predefined loan type, you can pass in either a
personAddress
or personAddressId
to check the amortization output against any existing rate
caps associated with the loan type.
Note for the "Predefined Line Of Credit" option only:
accrualMethod=compoundWithFees
, there is
a known limitation to the draw amortization calculation logic.compound
method and not compoundWithFees
.
To ensure that the system calculates interest accurately, amortized draws should NOT include any fees.Success
{- "loanTypeId": "string",
- "atOrigination": {
- "startDate": "2019-08-24",
- "duration": 0,
- "paymentFrequency": "weekly",
- "periodicPaymentAmount": 0,
- "amountFinanced": 0,
- "principalAmount": 0,
- "interestRates": [
- {
- "interestType": "absolute",
- "days": 0,
- "rate": 0
}
], - "promoRates": [
- {
- "days": 0,
- "rate": 0
}
], - "totalInterestCapAmount": 0,
- "fees": {
- "originationFeeAmount": 0,
- "dynamicFees": [
- {
- "apiName": "string",
- "feeAmount": 0,
- "feeCapAmount": 0
}
], - "serviceFeeAmount": 0,
- "serviceFeeCapAmount": 0
}, - "specificDays": [
- "string"
], - "bufferToPushOutSchedule": 0,
- "advanceSchedule": [
- {
- "externalId": "string",
- "status": "scheduled",
- "amount": 0,
- "advanceDate": "2019-08-24",
- "advanceTimeOfDay": {
- "hour": 23,
- "minute": 59,
- "second": 0
}, - "advanceDetails": {
- "description": "Advance",
- "pointOfSaleType": "online",
- "categoryId": "string",
- "merchantId": "string",
- "merchantName": "string",
- "metadata": { }
}, - "metadata": { }
}
], - "discountProgramIds": [
- 0
], - "personAddressId": "string",
- "address": {
- "addressLine1": "string",
- "addressLine2": "string",
- "city": "string",
- "countyOrRegion": "string",
- "state": "string",
- "postalCode": "string",
- "country": "string",
- "POBox": "string"
}
}
}
{- "status": 0,
- "message": "string",
- "data": {
- "aprEffective": 0,
- "aprNominal": 0,
- "aprEffectiveExceedsMax": true,
- "aprNominalExceedsMax": true,
- "forgoneInterestAmount": 0,
- "interestRateExceedsMax": true,
- "interestRateBelowMinOrZero": true,
- "numberPayments": 0,
- "amountFinanced": 0,
- "totalPaymentsAmount": 0,
- "periodicPaymentAmount": 0,
- "totalInterestAmount": 0,
- "totalDiscountAmount": 0,
- "fees": {
- "originationFeeAmount": 0,
- "totalOtherFeesAmount": 0
}, - "schedule": [
- {
- "date": "2019-08-24",
- "paymentType": "periodicPayment",
- "amount": 0,
- "principalAmount": 0,
- "interestAmount": 0,
- "interestBeforeDiscountAmount": 0,
- "unroundedPrincipalAmount": "string",
- "unroundedInterestAmount": "string",
- "unroundedInterestBeforeDiscountAmount": "string",
- "dynamicFeeDetails": {
- "dynamicFeeTypeId": "string",
- "apiName": "string",
- "displayName": "string"
}
}
]
}
}