Vendor Compliance Assessment Tool

Vendor Compliance Assessment Tool

Assess third-party vendor risk and compliance with this guided tool.

1
Vendor Scope
2
Checklist
3
Report

Compliance Checklist

Answer the following questions based on your knowledge of the vendor.

Assessment Report

Overall Risk Level

${riskLevel}

${percentage}% Compliance Score

Summary

This report is based on a self-assessment for the vendor: ${document.getElementById('vendor-name').value || 'N/A'}. The calculated compliance score of ${percentage}% results in a designation of ${riskLevel}.

Identified Gaps & Recommendations

${recommendations.length > 0 ? `
    ${recommendations.map(r => `
  • ${r}
  • `).join('')}
` : `

No compliance gaps were identified based on the provided answers. It is recommended to maintain documentation and periodically review the vendor's compliance status.

` }
`; document.getElementById('report-output').innerHTML = reportHtml; } // --- PDF DOWNLOAD --- const downloadPdfBtn = document.getElementById('download-pdf-btn'); async function downloadPDF() { const { jsPDF } = window.jspdf; const pdfPreview = document.getElementById('pdf-preview'); const container = document.getElementById('pdf-container'); const reportContent = document.getElementById('report-content').cloneNode(true); pdfPreview.innerHTML = `

Vendor Compliance Assessment Report

Generated on: ${new Date().toLocaleDateString('en-US')}

`; pdfPreview.appendChild(reportContent); downloadPdfBtn.textContent = 'Generating...'; downloadPdfBtn.disabled = true; container.classList.remove('hidden'); container.style.position = 'absolute'; container.style.left = '-9999px'; container.style.top = '0'; try { const canvas = await html2canvas(pdfPreview, { scale: 2 }); const imgData = canvas.toDataURL('image/png'); const pdf = new jsPDF({ orientation: 'p', unit: 'pt', format: 'a4' }); const pdfWidth = pdf.internal.pageSize.getWidth(); const margin = 40; const usableWidth = pdfWidth - margin * 2; const imgHeight = (canvas.height * usableWidth) / canvas.width; const pageHeight = pdf.internal.pageSize.getHeight() - margin * 2; let heightLeft = imgHeight; let position = margin; pdf.addImage(imgData, 'PNG', margin, position, usableWidth, imgHeight); heightLeft -= pageHeight; while (heightLeft > 0) { position = heightLeft - imgHeight + margin; pdf.addPage(); pdf.addImage(imgData, 'PNG', margin, position, usableWidth, imgHeight); heightLeft -= pageHeight; } pdf.save('Vendor_Compliance_Assessment.pdf'); } catch (error) { console.error("Error generating PDF:", error); } finally { container.classList.add('hidden'); container.style.position = ''; downloadPdfBtn.textContent = 'Download Report as PDF'; downloadPdfBtn.disabled = false; pdfPreview.innerHTML = ''; } } downloadPdfBtn.addEventListener('click', downloadPDF); // --- Initial Load --- updateUI(); });
Scroll to Top