Business Loan APR Estimator

Enter Loan Information

This is the stated interest rate before fees.
Include all origination, closing, or other fees paid upfront or deducted from the loan amount.

APR Estimation Results

Regular Monthly Payment: ${blaeFormatCurrency(regularMonthlyPayment)}

Total Amount Paid over Term: ${blaeFormatCurrency(totalAmountPaid)}

Total Finance Charge (Fees + Interest): ${blaeFormatCurrency(totalFinanceCharge)}

Note: This APR is an estimate for comparison purposes. Assumes monthly payments. `; switchTab(1); } function blaeDownloadPDF() { if (!calculationResults) { blaeShowError("Please estimate APR first."); switchTab(0); return; } blaeClearError(); if (typeof jspdf === 'undefined' || typeof jspdf.jsPDF === 'undefined') { blaeShowError("PDF library (jsPDF) not loaded."); return; } const { jsPDF } = jspdf; const doc = new jsPDF(); if (typeof doc.autoTable !== 'function') { blaeShowError("PDF Table library (jsPDF-AutoTable) not available."); return; } const primaryColor = '#0073e6'; const textColor = '#333333'; doc.setFontSize(18); doc.setTextColor(primaryColor); doc.text("Business Loan APR Estimation Report", 14, 22); doc.setFontSize(12); doc.setTextColor(textColor); const summaryData = [ ["Estimated APR:", blaeFormatPercentage(calculationResults.estimatedAPR)], ["", ""], // Spacer ["Loan Amount:", blaeFormatCurrency(calculationResults.loanAmount)], ["Nominal Annual Rate:", blaeFormatPercentage(calculationResults.nominalAnnualRate)], ["Loan Term:", `${calculationResults.loanTermYears} years (${calculationResults.numberOfPayments} months)`], ["Total Upfront Fees:", blaeFormatCurrency(calculationResults.totalUpfrontFees)], ["Net Amount Financed:", blaeFormatCurrency(calculationResults.netAmountFinanced)], ["Regular Monthly Payment:", blaeFormatCurrency(calculationResults.regularMonthlyPayment)], ["Total Amount Paid:", blaeFormatCurrency(calculationResults.totalAmountPaid)], ["Total Finance Charge:", blaeFormatCurrency(calculationResults.totalFinanceCharge)], ]; let startY = 35; summaryData.forEach(row => { if (row[0] === "Estimated APR:") { doc.setFontSize(14); doc.setTextColor(primaryColor); doc.text(row[0], 14, startY); doc.text(row[1], 70, startY); // Align value doc.setFontSize(12); doc.setTextColor(textColor); } else if (row[0] === "") { // Spacer //startY += 3; // Small space }else { doc.text(row[0], 14, startY); doc.text(row[1], 70, startY); // Align value } startY += (row[0] === "Estimated APR:" ? 9 : 7); }); startY += 5; doc.setFontSize(9); doc.setTextColor("#666"); doc.text("Note: This APR is an estimate for comparison purposes. Assumes monthly payments.", 14, startY); doc.text("All calculations are based on the inputs provided.", 14, startY + 4); const pdfFileName = `Business-Loan-APR-Estimate-${new Date().toISOString().slice(0,10)}.pdf`; doc.save(pdfFileName); } });
Scroll to Top