Federal Tax Compliance Risk Analyzer
Evaluate your business's federal tax compliance posture with this guided assessment.
Step 1: Entity & Filing Status
Step 2: Income Reporting
Step 3: Expenses & Deductions
Step 4: Employment Taxes
Final Step: Your Tax Compliance Risk Analysis
Download a PDF copy of this analysis for your records.
${recommendation}
`; return card; }; const downloadPdf = () => { const { jsPDF } = window.jspdf; const doc = new jsPDF(); doc.setFont('helvetica', 'bold'); doc.setFontSize(18); doc.text('Federal Tax Compliance Risk Analysis', 105, 20, { align: 'center' }); doc.setFontSize(11); doc.setFont('helvetica', 'normal'); doc.text(`Report Generated: ${new Date().toLocaleDateString()}`, 105, 27, { align: 'center' }); let yPos = 40; Object.values(analysisData).forEach(data => { if (yPos > 250) { // Add new page if content is too long doc.addPage(); yPos = 20; } doc.setFont('helvetica', 'bold'); doc.setFontSize(14); doc.text(data.title, 14, yPos); yPos += 7; doc.setFontSize(10); const riskText = `Risk Level: ${data.risk.text}`; doc.text(riskText, 16, yPos); yPos += 7; doc.setFont('helvetica', 'normal'); const recText = doc.splitTextToSize(`Recommendation: ${data.recommendation}`, 180); doc.text(recText, 16, yPos); yPos += (recText.length * 5) + 5; doc.autoTable({ startY: yPos, head: [['Question', 'Your Answer']], body: data.inputs.map(i => [i.q, i.a]), theme: 'grid', headStyles: { fillColor: [45, 55, 72] } }); yPos = doc.autoTable.previous.finalY + 15; }); doc.setFontSize(9); doc.setTextColor(150); const disclaimer = doc.splitTextToSize('Disclaimer: This is an automated analysis and does not constitute tax or legal advice. It is for informational purposes only. You should consult with a qualified tax professional for advice tailored to your specific situation.', 180); doc.text(disclaimer, 14, yPos > 260 ? 280 : yPos); doc.save('Federal-Tax-Compliance-Risk-Analysis.pdf'); }; tabs.forEach(tab => tab.addEventListener('click', () => { currentTab = parseInt(tab.dataset.tab); updateTabs(); })); prevBtn.addEventListener('click', () => { if (currentTab > 1) { currentTab--; updateTabs(); } }); nextBtn.addEventListener('click', () => { if (currentTab < totalTabs) { currentTab++; updateTabs(); } }); downloadPdfBtn.addEventListener('click', downloadPdf); updateTabs(); });