2.0.4 • Published 12 months ago

loan-schedule.js v2.0.4

Weekly downloads
6
License
MIT
Repository
github
Last release
12 months ago

Library for loan amortization schedule manipulation

codecov codacy version license

..::Live demo::..

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