@untemps/loan-schedule
v2.1.2
Published
Class to generate a schedule of loan payments
Downloads
10
Maintainers
Readme
@untemps/loan-schedule
Class to generate a schedule of monthly loan payments.
It has been built with a single purpose in mind so far, but features will be added in the next fews weeks.
Don't hesitate to contact the team if you think about a specific usage we may address.
Installation
yarn add @untemps/loan-schedule
Usage
Import LoanSchedule
:
import { LoanSchedule } from '@untemps/loan-schedule'
Create an instance of LoanSchedule
passing three objects:
// Settings object that describes the properties of the loan (see below "Loan Settings")
const loanSettings = {
amount: 79950, // Amount of the loan in any currency
term: 25, // Loan term in years
interestRate: 2, // Interest rate in percentage
insuranceRate: 0.5, // Insurance rate in percentage
}
// List of amortizations monthly paid until the term of the loan (see below "Loan Amortizations")
const loanAmortizations = [
{
label: 'Rent', // Label of the amortization.
value: 600, // Amount of the maortization.
type: LoanScheduleAmortizationType.CREDIT, // Type of the amortization: "credit" or "debit"
},
{
label: 'Payment',
type: LoanScheduleAmortizationType.DEBIT,
compute: LoanScheduleCompute.PAYMENT, // Computation method of the amortization (optional). That means the amount has to be automatically calculated by the class. "payment" and "insurance" are available so far.
},
{
label: 'Property Tax',
value: 30,
rate: 5, // Yearly inflation rate of the amortization (optional).
type: LoanScheduleAmortizationType.DEBIT,
},
]
// Configuration of the output (see below "Configuration")
const config = {
headers: {
year: {
label: 'Année',
},
balance: {
label: 'Solde',
},
},
}
const schedule = new LoanSchedule(loanSettings, loanAmortizations, config);
Constructor parameters
| Parameter | Type | Description | | --------------------- | --------------------------- | ---------------------------------------------------------------------------------------------------| | loanSettings | LoanScheduleSettings | Settings object that describes the properties of the loan (see below "Loan Settings") | | loanAmortizations | LoanScheduleAmortization[] | List of amortizations monthly paid until the term of the loan (see below "Loan Amortizations") | | config | LoanScheduleConfig | Configuration of the output (see below "Configuration") |
Loan Settings
Settings object that describes the properties of the loan
LoanScheduleSettings type
| Property | Type | Description | | --------------------- | --------------------------- | ---------------------------------------------------------------------------------------------------| | amount | number | Amount of the loan in any currencyAmount of the loan in any currency | | term | number | Loan term in years | | interestRate | number | Interest rate in percentage | | insuranceRate | number | Insurance rate in percentage |
Loan Amortizations
List of amortizations monthly paid until the term of the loan
LoanScheduleAmortization type
| Property | Type | Description | | --------------------- | ----------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------| | label | string | Label of the amortization | | value | number | Monthly amount of the amortization | | rate | number | Yearly inflation rate of the amortization (optional). | | type | LoanScheduleAmortizationType | Type of the amortization: "credit" or "debit" | | compute | LoanScheduleCompute | Computation method of the amortization (optional). That means the amount has to be automatically calculated by the class. "payment" and "insurance" are available so far. |
Configuration
The configuration object allows to change the output to reflect your specific needs.
LoanScheduleConfig type
| Property | Type | Description | | --------------------- | ----------------------------- | --------------------------------------------------------| | headers | | | | --- payment | | | | ------- label | string | Label of the payment amortization | | --- insurance | | | | ------- label | string | Label of the insurance amortization |
Development
A demo can be served for development purpose on http://localhost:10001/
running:
yarn dev