Trust & Estate Inheritance Planning Calculator

Financial Overview

E.g., Property, investments, cash, life insurance death benefits owned by estate/trust.
E.g., Mortgages, loans, credit card debts, final expenses.

Beneficiary Designations

Total Allocation: 0%

Simplified Estate Tax Estimation (Optional)

Note: This is a highly simplified illustration. Actual estate taxes depend on complex federal and state laws, deductions, credits, and types of assets. This tool does not provide tax advice.

Illustrative Inheritance Plan Summary

Please complete the previous steps and click "Calculate Plan" to see your illustrative summary.

Total Estimated Assets: $${totalAssets.toLocaleString(undefined, {minimumFractionDigits:2, maximumFractionDigits:2})}

Total Estimated Debts: $${totalDebts.toLocaleString(undefined, {minimumFractionDigits:2, maximumFractionDigits:2})}

Net Estate Value (before any tax): $${netEstateValue.toLocaleString(undefined, {minimumFractionDigits:2, maximumFractionDigits:2})}


`; if (considerTaxCheckbox.checked) { const taxExemption = parseFloat(document.getElementById('epTaxExemption').value) || 0; const taxRate = parseFloat(document.getElementById('epTaxRate').value) / 100 || 0; taxableEstateVal = Math.max(0, netEstateValue - taxExemption); estimatedTax = taxableEstateVal * taxRate; estateAvailableForDistribution = netEstateValue - estimatedTax; resultsHTML += `

Simplified Tax Estimation (Illustrative):

Assumed Exemption: $${taxExemption.toLocaleString(undefined, {minimumFractionDigits:2, maximumFractionDigits:2})}

Taxable Estate (Net Estate - Exemption): $${taxableEstateVal.toLocaleString(undefined, {minimumFractionDigits:2, maximumFractionDigits:2})}

Assumed Tax Rate: ${(taxRate*100).toFixed(1)}%

Estimated Estate Tax: $${estimatedTax.toLocaleString(undefined, {minimumFractionDigits:2, maximumFractionDigits:2})}

Estate Available for Distribution (After Est. Tax): $${estateAvailableForDistribution.toLocaleString(undefined, {minimumFractionDigits:2, maximumFractionDigits:2})}


`; } else { resultsHTML += `

Simplified Tax Estimation:

Not considered in this illustration.

Estate Available for Distribution: $${estateAvailableForDistribution.toLocaleString(undefined, {minimumFractionDigits:2, maximumFractionDigits:2})}


`; } summaryResultsEl.innerHTML = resultsHTML; // Beneficiary Distribution Table let distTableHTML = `

Illustrative Beneficiary Distribution:

`; let totalDistributedFromTable = 0; beneficiaries.forEach(b => { const percentage = parseFloat(b.percentage) || 0; const inheritanceAmount = estateAvailableForDistribution * (percentage / 100); totalDistributedFromTable += inheritanceAmount; distTableHTML += ``; }); distTableHTML += `
Beneficiary Name/ID Allocation (%) Estimated Inheritance ($)
${escapeHtml(b.name)} ${percentage.toFixed(1)}% $${inheritanceAmount.toLocaleString(undefined, {minimumFractionDigits:2, maximumFractionDigits:2})}
Total Distributed: $${totalDistributedFromTable.toLocaleString(undefined, {minimumFractionDigits:2, maximumFractionDigits:2})}
`; beneficiaryDistTableContainerEl.innerHTML = distTableHTML; notesContainerEl.style.display = 'block'; downloadPdfBtn.style.display = 'block'; }); // --- PDF Download --- downloadPdfBtn?.addEventListener('click', function () { const { jsPDF } = window.jspdf; const pdfOutputArea = document.getElementById('epPdfOutputArea'); if (!pdfOutputArea || summaryResultsEl.innerHTML.includes("Please complete the previous steps")) { alert('Please calculate the plan first before downloading PDF.'); return; } html2canvas(pdfOutputArea, { scale: 1.5, useCORS: true, backgroundColor: '#ffffff' }) .then(canvas => { const imgData = canvas.toDataURL('image/jpeg', 0.9); const pdf = new jsPDF({ orientation: 'portrait', unit: 'pt', format: 'a4' }); const pdfWidth = pdf.internal.pageSize.getWidth(); const pdfHeight = pdf.internal.pageSize.getHeight(); const margin = 30; // Adjusted margin let contentWidth = pdfWidth - 2 * margin; const canvasWidth = canvas.width; const canvasHeight = canvas.height; const ratio = canvasWidth / canvasHeight; let imgWidth = contentWidth; let imgHeight = imgWidth / ratio; if (imgHeight > pdfHeight - 2 * margin) { imgHeight = pdfHeight - 2 * margin; imgWidth = imgHeight * ratio; if (imgWidth > contentWidth) { // Recalc if scaling by height made it too wide imgWidth = contentWidth; imgHeight = imgWidth / ratio; } } const x = (pdfWidth - imgWidth) / 2; // Center image pdf.addImage(imgData, 'JPEG', x, margin, imgWidth, imgHeight, undefined, 'MEDIUM'); pdf.save('Illustrative_Inheritance_Plan.pdf'); }) .catch(err => { console.error("Error generating PDF:", err); alert("Error generating PDF. See console for details."); }); }); // --- Utility --- function escapeHtml(unsafe) { if (typeof unsafe !== 'string') return unsafe === undefined || unsafe === null ? '' : String(unsafe); return unsafe.replace(/&/g, "&").replace(//g, ">").replace(/"/g, """).replace(/'/g, "'"); } // --- Initial Setup --- renderBeneficiaryInputs(); // Call to setup initial beneficiary fields considerTaxCheckbox.dispatchEvent(new Event('change')); // Initialize tax section visibility switchTab('estateDetailsTab'); });
Scroll to Top