Business Registration Compliance Checker

Business Registration Compliance Checker

Answer a few questions to generate a personalized compliance checklist for your U.S. business.

Structure: ${state.structure}    State: ${state.location}    Industry: ${state.industry}

Employees: ${state.hasEmployees ? 'Yes' : 'No'}    Serves Alcohol: ${state.servesAlcohol ? 'Yes' : 'No'}

`; items.forEach(item => { const itemEl = `

${item.title}

${item.description}

`; checklistOutput.innerHTML += itemEl; }); lucide.createIcons(); }; const updateNavButtons = () => { prevBtn.disabled = currentTab === 'info'; nextBtn.disabled = currentTab === 'checklist'; prevBtn.classList.toggle('opacity-50', prevBtn.disabled); nextBtn.classList.toggle('opacity-50', nextBtn.disabled); }; // --- EVENT HANDLERS & LOGIC --- window.switchTab = (tabId) => { // If moving to the checklist tab, generate it first if (tabId === 'checklist') { renderChecklist(); } currentTab = tabId; Object.values(tabContents).forEach(content => content.classList.add('hidden')); Object.values(tabButtons).forEach(button => button.classList.replace('tab-active', 'tab-inactive')); if(tabContents[tabId]) tabContents[tabId].classList.remove('hidden'); if(tabButtons[tabId]) tabButtons[tabId].classList.replace('tab-inactive', 'tab-active'); updateNavButtons(); }; const navigateTabs = (direction) => { const currentIndex = tabs.indexOf(currentTab); let nextIndex = currentIndex + direction; if (nextIndex >= 0 && nextIndex < tabs.length) { switchTab(tabs[nextIndex]); } }; downloadPdfBtn.addEventListener('click', () => { const { jsPDF } = window.jspdf; const doc = new jsPDF(); const checklistItems = generateChecklist(); doc.setFontSize(18); doc.text("Business Compliance Checklist", 14, 22); doc.setFontSize(11); doc.setTextColor(100); doc.text(`Generated for a ${state.structure} in ${state.location}`, 14, 30); doc.text(`Report Date: ${new Date().toLocaleDateString()}`, 14, 36); const tableColumn = ["Compliance Item", "Description"]; const tableRows = []; checklistItems.forEach(item => { const itemData = [item.title, item.description]; tableRows.push(itemData); }); doc.autoTable({ head: [tableColumn], body: tableRows, startY: 45, theme: 'grid', headStyles: { fillColor: [45, 102, 193] }, columnStyles: { 1: { cellWidth: 'auto' } }, }); doc.save('business-compliance-checklist.pdf'); }); // --- ATTACH EVENT LISTENERS --- prevBtn.addEventListener('click', () => navigateTabs(-1)); nextBtn.addEventListener('click', () => navigateTabs(1)); [businessStructureInput, businessStateInput, industryInput, hasEmployeesInput, servesAlcoholInput].forEach(input => { input.addEventListener('change', updateState); }); // --- INITIALIZATION --- populateStates(); updateNavButtons(); lucide.createIcons(); });
Scroll to Top