2.0.4 • Published 12 months ago
loan-schedule.js v2.0.4
Library for loan amortization schedule manipulation
Install
npm i loan-schedule.js
Init
const LoanSchedule = require("loan-schedule.js");
const loanSchedule = new LoanSchedule({});
Init with options
const LoanSchedule = require("loan-schedule.js");
const loanSchedule = new LoanSchedule({
DecimalDigit : 2,
dateFormat: "DD.MM.YYYY",
prodCalendar: "ru"
});
Interest by period
let interest = loanSchedule.calculateInterestByPeriod({
from: "10.12.2015",
to: "10.01.2016",
amount: 1000,
rate: 16.7
});
console.log(interest);
Payment
let payment = loanSchedule.calculateAnnuityPaymentAmount({
amount: 110000,
term: 60,
rate: 12.9
});
console.log(payment);
Max Loan Amount
let loanAmount = loanSchedule.calculateMaxLoanAmount({
paymentAmount: 2497.21,
term: 60,
rate: 12.9
});
console.log(loanAmount);
Annuity loan schedule (payment amount will be calculated)
loanSchedule.calculateSchedule({
amount: 50000,
rate: 11.5,
term: 12,
paymentOnDay: 25,
issueDate: "25.10.2016",
scheduleType : LoanSchedule.ANNUITY_SCHEDULE
}).payments.forEach((pay) => {
console.log(pay.paymentDate + "\t|\t\t"
+ pay.initialBalance + "\t|\t\t"
+ pay.paymentAmount + "\t|\t\t"
+ pay.principalAmount + "\t|\t\t"
+ pay.interestAmount + "\t|\t\t"
+ pay.finalBalance
);
});
Annuity loan schedule (payment amount is set)
loanSchedule.calculateSchedule({
amount: 50000,
rate: 11.5,
term: 12,
paymentAmount: 40000,
paymentOnDay: 25,
issueDate: "25.10.2016",
scheduleType : LoanSchedule.ANNUITY_SCHEDULE
}).payments.forEach((pay) => {
console.log(pay.paymentDate + "\t|\t\t"
+ pay.initialBalance + "\t|\t\t"
+ pay.paymentAmount + "\t|\t\t"
+ pay.principalAmount + "\t|\t\t"
+ pay.interestAmount + "\t|\t\t"
+ pay.finalBalance
);
});
Differentiated loan schedule
loanSchedule.calculateSchedule({
amount: 50000,
rate: 11.5,
term: 12,
paymentOnDay: 25,
issueDate: "25.10.2016",
scheduleType : LoanSchedule.DIFFERENTIATED_SCHEDULE
}).payments.forEach((pay) => {
console.log(pay.paymentDate + "\t|\t\t"
+ pay.initialBalance + "\t|\t\t"
+ pay.paymentAmount + "\t|\t\t"
+ pay.principalAmount + "\t|\t\t"
+ pay.interestAmount + "\t|\t\t"
+ pay.finalBalance
);
});
Bubble loan schedule
loanSchedule.calculateSchedule({
amount: 50000,
rate: 11.5,
term: 12,
paymentOnDay: 25,
issueDate: "25.10.2016",
scheduleType : LoanSchedule.BUUBLE_SCHEDULE
}).payments.forEach((pay) => {
console.log(pay.paymentDate + "\t|\t\t"
+ pay.initialBalance + "\t|\t\t"
+ pay.paymentAmount + "\t|\t\t"
+ pay.principalAmount + "\t|\t\t"
+ pay.interestAmount + "\t|\t\t"
+ pay.finalBalance
);
});
2.0.4
12 months ago
2.0.3
1 year ago
2.0.2
2 years ago
2.0.1
2 years ago
2.0.0
2 years ago
1.1.1
2 years ago
1.1.0
3 years ago
1.0.0
3 years ago
0.8.7
3 years ago
0.8.6
3 years ago
0.8.5
4 years ago
0.8.4
4 years ago
0.8.3
4 years ago
0.8.1
4 years ago
0.8.2
4 years ago
0.8.0
5 years ago
0.7.9
5 years ago
0.7.8
5 years ago
0.7.7
5 years ago
0.7.6
5 years ago
0.7.5
5 years ago
0.7.4
5 years ago
0.7.3
5 years ago
0.7.2
5 years ago
0.7.1
5 years ago
0.7.0
5 years ago
0.6.3
6 years ago
0.6.2
6 years ago
0.6.1
6 years ago
0.6.0
6 years ago
0.5.0
6 years ago
0.4.8
8 years ago
0.4.7
8 years ago
0.4.6
8 years ago
0.4.5
8 years ago
0.4.4
8 years ago
0.4.3
8 years ago
0.4.2
8 years ago
0.4.1
8 years ago
0.4.0
8 years ago
0.0.1
8 years ago