Loan Repayment with Offset Calculator

Loan Repayment with Offset Calculator

Loan Repayment with Offset Calculator

Calculate your loan repayment amount and the potential savings from an offset account.

Not calculated yet.

let repaymentSteps = “”; const currencySymbol = “$”, fixedCurrency = “USD”; function calculateRepayment(){ repaymentSteps=””; const loanAmount = parseFloat(document.getElementById(“loanAmount”).value); const interestRate = parseFloat(document.getElementById(“interestRate”).value) / 100; const loanTerm = parseFloat(document.getElementById(“loanTerm”).value) * 12; const offsetAmount = parseFloat(document.getElementById(“offsetAmount”).value); if(isNaN(loanAmount) || isNaN(interestRate) || isNaN(loanTerm) || isNaN(offsetAmount) || loanAmount <= 0 || interestRate <= 0 || loanTerm <= 0){ alert("Please enter valid positive values for all fields."); return; } const principal = loanAmount – offsetAmount; const monthlyInterestRate = interestRate / 12; const monthlyRepayment = (principal * monthlyInterestRate) / (1 – Math.pow(1 + monthlyInterestRate, -loanTerm)); const totalInterest = (monthlyRepayment * loanTerm) – principal; document.getElementById("monthlyRepayment").value = formatCurrency(monthlyRepayment); document.getElementById("totalInterest").value = formatCurrency(totalInterest); repaymentSteps += `Inputs:
Loan Amount: ${formatCurrency(loanAmount)}
Interest Rate: ${(interestRate*100).toFixed(1)}%
Loan Term: ${loanTerm/12} years
Offset Amount: ${formatCurrency(offsetAmount)}

`; repaymentSteps += `Formulas:
Monthly Repayment = Principal × Monthly Interest Rate / (1 – (1 + Monthly Interest Rate)-Loan Term)
Total Interest = Monthly Repayment × Loan Term – Principal

`; repaymentSteps += `Results:
Monthly Repayment: ${formatCurrency(monthlyRepayment)}
Total Interest Saved: ${formatCurrency(totalInterest)}
`; if(document.getElementById(“calculationStepsRepayment”).style.display === “block”){ document.getElementById(“calculationStepsRepayment”).innerHTML = repaymentSteps; } } function resetRepayment(){ document.querySelectorAll(“#calculator input”).forEach(el => el.value = “”); repaymentSteps = “”; document.getElementById(“calculationStepsRepayment”).innerHTML = “

Not calculated yet.

“; } function toggleRepaymentSteps(){ const s = document.getElementById(“calculationStepsRepayment”); const a = document.getElementById(“toggleArrowRepayment”); if(s.style.display === “none” || s.style.display === “”){ s.style.display = “block”; a.style.transform = “rotate(180deg)”; s.innerHTML = repaymentSteps || “

Not calculated yet.

“; } else { s.style.display = “none”; a.style.transform = “rotate(0deg)”; } } function formatCurrency(n){ return currencySymbol + n.toFixed(2) + ” ” + fixedCurrency; }

Leave a Reply

Your email address will not be published. Required fields are marked *