Employer Student Loan Assistance Savings Calculator
Estimate how employer contributions can help you pay off your student loans faster and save on interest (U.S. focus).
Your Loan & Contribution Details
Optional: Potential Tax Savings Estimation
Under current U.S. law (Section 127 of IRC), employer student loan payments up to $5,250 per year may be tax-free for the employee through December 31, 2025. Fill below to estimate this potential additional saving.
Repayment & Savings Comparison
Without Employer Assistance
With Employer Assistance
Summary of Savings with Employer Assistance
Note: These are estimates. Actual payoff times and interest can vary based on loan terms and payment application by servicers. The loan must allow for additional principal payments without penalty for these savings to be fully realized.
If employer contributions are part of a qualified Section 127 plan (tax-free up to $5,250/year through Dec 31, 2025):
Estimated Annual Tax Savings: ${eslaFormatCurrency(annualTaxSavings)}
This is an annual estimate for payments made while the benefit is tax-free under current law. `; taxSavingsResultEl.style.display = 'block'; } else { taxSavingsResultEl.style.display = 'none'; taxSavingsResultEl.innerHTML = ''; eslaCalcData.taxSavings = null; } resultsSectionEl.style.display = 'block'; resultsSectionEl.scrollIntoView({ behavior: 'smooth' }); } function eslaDownloadPDF() { if (typeof window.jspdf === 'undefined' || typeof window.jspdf.jsPDF !== 'function') { alert('PDF library (jspdf) is not loaded correctly.'); return; } // const JsPDFAPI = window.jspdf.jsPDF.API; // For AutoTable if used if (Object.keys(eslaCalcData).length === 0 || !eslaCalcData.inputs) { alert("Please calculate savings first before downloading the PDF."); return; } const JsPDFConstructor = window.jspdf.jsPDF; const pdf = new JsPDFConstructor('p', 'pt', 'a4'); let yPos = 40; const pageMargin = 40; const pageWidth = pdf.internal.pageSize.getWidth(); const contentWidth = pageWidth - (2 * pageMargin); const lineH = 14; const sectionGap = 10; pdf.setFontSize(16); pdf.setFont("helvetica", "bold"); pdf.setTextColor(44, 62, 80); pdf.text("Employer Student Loan Assistance Savings Report", pageWidth / 2, yPos, { align: 'center' }); yPos += 30; function addSectionTitlePdf(text) { if (yPos > pdf.internal.pageSize.getHeight() - 60) { pdf.addPage(); yPos = pageMargin; } pdf.setFontSize(13); pdf.setFont("helvetica", "bold"); pdf.setTextColor(52, 73, 94); pdf.text(text, pageMargin, yPos); yPos += lineH + 5; pdf.setFont("helvetica", "normal"); pdf.setFontSize(10); pdf.setTextColor(51,51,51); } function addLinePdf(label, value, isBoldValue = false, isCurrency = true, currencySymbol = "$") { if (yPos > pdf.internal.pageSize.getHeight() - 25) { pdf.addPage(); yPos = pageMargin; } let valStr = isCurrency ? `${currencySymbol}${eslaFormatCurrencyForPdf(value).substring(1)}` : String(value); if (value === "N/A" || value === Infinity) valStr = String(value); pdf.setFont("helvetica", "normal"); pdf.text(label + ":", pageMargin, yPos); if(isBoldValue) pdf.setFont("helvetica", "bold"); pdf.text(valStr, pageMargin + 220, yPos); // Adjust X offset for value if(isBoldValue) pdf.setFont("helvetica", "normal"); yPos += lineH; } addSectionTitlePdf("Your Loan & Contribution Inputs:"); addLinePdf("Loan Principal Balance", eslaCalcData.inputs.loanBalance); addLinePdf("Annual Interest Rate", `${eslaCalcData.inputs.interestRate.toFixed(2)}%`, false, false); addLinePdf("Your Regular Monthly Payment", eslaCalcData.inputs.yourMonthlyPayment); addLinePdf("Employer's Monthly Contribution", eslaCalcData.inputs.employerContribution); yPos += sectionGap; // Scenario 1: Without Assistance if (eslaCalcData.scenario1) { addSectionTitlePdf("Scenario 1: Without Employer Assistance"); if (eslaCalcData.scenario1.error) { pdf.setTextColor(192, 57, 43); pdf.text("Error: " + eslaCalcData.scenario1.error, pageMargin, yPos); yPos += lineH; pdf.setTextColor(51,51,51); } else { addLinePdf("Your Monthly Payment", eslaCalcData.inputs.yourMonthlyPayment); addLinePdf("Estimated Payoff Time", eslaFormatMonthsToYearsMonths(eslaCalcData.scenario1.monthsToRepay), false, false); addLinePdf("Total Interest Paid", eslaCalcData.scenario1.totalInterestPaid); addLinePdf("Total Amount Paid", eslaCalcData.scenario1.totalPaid); } yPos += sectionGap; } // Scenario 2: With Assistance if (eslaCalcData.scenario2 && eslaCalcData.inputs.employerContribution > 0) { addSectionTitlePdf("Scenario 2: With Employer Assistance"); if (eslaCalcData.scenario2.error) { pdf.setTextColor(192, 57, 43); pdf.text("Error: " + eslaCalcData.scenario2.error, pageMargin, yPos); yPos += lineH; pdf.setTextColor(51,51,51); } else { const totalEffectivePayment = eslaCalcData.inputs.yourMonthlyPayment + eslaCalcData.inputs.employerContribution; addLinePdf("Total Effective Monthly Payment", totalEffectivePayment, true); addLinePdf("Estimated Payoff Time", eslaFormatMonthsToYearsMonths(eslaCalcData.scenario2.monthsToRepay), false, true); addLinePdf("Total Interest Paid", eslaCalcData.scenario2.totalInterestPaid, true); addLinePdf("Total Amount Paid", eslaCalcData.scenario2.totalPaid, true); } yPos += sectionGap; } // Savings Summary if (eslaCalcData.savings && eslaCalcData.inputs.employerContribution > 0 && !eslaCalcData.scenario1.error && !eslaCalcData.scenario2.error) { addSectionTitlePdf("Summary of Savings with Employer Assistance:"); pdf.setFont("helvetica", "bold"); pdf.setTextColor(22, 160, 133); // Green Sea addLinePdf("Loan Paid Off Sooner By", eslaFormatMonthsToYearsMonths(eslaCalcData.savings.timeSavedMonths), true, false); addLinePdf("Estimated Interest Savings", eslaCalcData.savings.interestSaved, true, true); pdf.setTextColor(51,51,51); pdf.setFont("helvetica", "normal"); yPos += sectionGap; } // Tax Savings if (eslaCalcData.taxSavings && eslaCalcData.taxSavings.annualTaxSavings > 0) { addSectionTitlePdf("Potential Annual Tax Savings (Optional Input Based):"); pdf.setFontSize(8); pdf.setTextColor(100); pdf.text("If employer contribution is via a qualified Sec. 127 plan (tax-free up to $5,250/yr through Dec 31, 2025).", pageMargin, yPos); yPos += (lineH*0.8); pdf.setFontSize(10); pdf.setTextColor(51,51,51); addLinePdf(" Using Federal Tax Rate", `${eslaCalcData.taxSavings.federalTaxRate.toFixed(1)}%`, false, false); addLinePdf(" Using State Tax Rate", `${eslaCalcData.taxSavings.stateTaxRate.toFixed(1)}%`, false, false); addLinePdf("Estimated Annual Tax Savings", eslaCalcData.taxSavings.annualTaxSavings, true, true); yPos += sectionGap; } pdf.setFontSize(8); pdf.setTextColor(120); if (yPos > pdf.internal.pageSize.getHeight() - 40) { pdf.addPage(); yPos = pageMargin; } const disclaimer = "This is an estimate based on the information provided and standard amortization formulas. Actual savings may vary based on your loan servicer's payment application methods and specific loan terms. The tax information is general and subject to change; consult a tax professional for advice."; const splitDisclaimer = pdf.splitTextToSize(disclaimer, contentWidth); pdf.text(splitDisclaimer, pageMargin, yPos); pdf.save("Employer_Student_Loan_Savings_Estimate.pdf"); }