Divorce Settlement Agreement Generator

Divorce Settlement Agreement Generator

Create a comprehensive marital settlement agreement.

Parties & Case Information

Children & Custody

Division of Assets & Debts

Assets

Debts

Spousal Support (Alimony)

Review & Download Agreement

Review the final agreement below. Use the 'Previous' button or tabs to make changes.

Your formatted agreement will appear here.

Each party hereby waives and releases all rights and claims to receive spousal support from the other, both now and in the future.

`; } else { const payer = getText('supportPayer') === 'Party 1' ? p1 : p2; const payee = getText('supportPayer') === 'Party 1' ? p2 : p1; html += `

${payer} shall pay to ${payee} spousal support in the amount of ${formatCurrency(getNum('supportAmount'))} per month, for a duration of ${getText('supportDuration', '[Duration]')}.

`; } // SIGNATURES html += `

${p1}

${p2}

`; document.getElementById('pdf-output-container').innerHTML = html; }; // --- PDF Download --- const downloadPDF = async () => { if (typeof window.jspdf === 'undefined' || typeof window.html2canvas === 'undefined') { console.error("jsPDF or html2canvas is not loaded."); return; } const { jsPDF } = window.jspdf; const content = document.getElementById('pdf-output-container'); downloadPdfBtn.textContent = 'Generating...'; downloadPdfBtn.disabled = true; try { const pdf = new jsPDF({ orientation: 'portrait', unit: 'pt', format: 'letter' }); await pdf.html(content, { margin: [60, 60, 60, 60], autoPaging: 'text', width: 495, windowWidth: 700, html2canvas: { scale: 0.8, useCORS: true } }); const fileName = `divorce_settlement_${getText('party1Name', 'p1')}_${getText('party2Name', 'p2')}.pdf`.toLowerCase().replace(/[^a-z0-9]/gi, '_'); pdf.save(fileName); } catch (error) { console.error("Error generating PDF:", error); } finally { downloadPdfBtn.textContent = 'Download as PDF'; downloadPdfBtn.disabled = false; } }; // --- Event Listeners --- tabs.forEach(tab => tab.addEventListener('click', () => showTab(parseInt(tab.dataset.tab, 10)))); nextBtn.addEventListener('click', () => { if (currentTab < totalTabs) showTab(currentTab + 1); }); prevBtn.addEventListener('click', () => { if (currentTab > 1) showTab(currentTab - 1); }); if(downloadPdfBtn) downloadPdfBtn.addEventListener('click', downloadPDF); // --- Initial Setup --- showTab(1); });
Scroll to Top