Colorado Contractor License Bond Amount Calculator

ANALife Services AuthorityNational Calculator Authority›Colorado Contractor License Bond Amount Calculator

.calc-container { max-width: 640px; margin: 2rem 0; padding: 1.5rem; background: #fff; border: 1px solid #ddd; border-radius: 8px; box-shadow: 0 1px 3px rgba(0,0,0,0.06); font-family: system-ui, -apple-system, sans-serif; } .calc-container h3 { font-family: Georgia, serif; font-size: 1.15rem; color: #1a1a1a; margin-bottom: 1rem; padding-bottom: 0.5rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-row { display: flex; align-items: center; gap: 0.75rem; margin-bottom: 0.75rem; flex-wrap: wrap; } .calc-row label { min-width: 160px; font-size: 0.9rem; color: #333; font-weight: 500; } .calc-row input[type="number"], .calc-row select { flex: 1; min-width: 120px; max-width: 200px; padding: 0.5rem 0.6rem; border: 1px solid #ccc; border-radius: 4px; font-size: 0.9rem; font-family: system-ui, sans-serif; color: #1a1a1a; background: #fafaf8; } .calc-row input:focus, .calc-row select:focus { outline: none; border-color: var(--ac, #3d5a80); box-shadow: 0 0 0 2px rgba(26,74,138,0.12); } .calc-row .unit { font-size: 0.82rem; color: #888; min-width: 30px; } .calc-btn { display: inline-block; margin-top: 0.5rem; padding: 0.55rem 1.5rem; background: var(--ac, #3d5a80); color: #fff; border: none; border-radius: 4px; font-size: 0.9rem; font-weight: 600; cursor: pointer; font-family: system-ui, sans-serif; } .calc-btn:hover { opacity: 0.9; } .calc-result { margin-top: 1.25rem; padding: 1rem 1.25rem; background: #f0f6fc; border-left: 3px solid var(--ac, #3d5a80); border-radius: 0 6px 6px 0; display: none; } .calc-result.visible { display: block; } .calc-result-label { font-size: 0.78rem; text-transform: uppercase; letter-spacing: 0.06em; color: #666; margin-bottom: 0.25rem; } .calc-result-value { font-size: 1.6rem; font-weight: 700; color: var(--ac, #3d5a80); } .calc-result-detail { font-size: 0.85rem; color: #555; margin-top: 0.5rem; line-height: 1.5; } .calc-note { margin-top: 1rem; font-size: 0.8rem; color: #888; font-style: italic; } .calc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.75rem; } .calc-grid-item { padding: 0.6rem 0.8rem; background: #f8f9fa; border-radius: 4px; border: 1px solid #eee; } .calc-grid-item .label { font-size: 0.75rem; color: #888; text-transform: uppercase; letter-spacing: 0.04em; } .calc-grid-item .value { font-size: 1.1rem; font-weight: 600; color: #1a1a1a; } @media (max-width: 720px) { .calc-row { flex-direction: column; align-items: flex-start; gap: 0.3rem; } .calc-row label { min-width: auto; } .calc-row input[type="number"], .calc-row select { max-width: 100%; width: 100%; } .calc-grid { grid-template-columns: 1fr; } } .calc-chart { margin: 1rem 0; text-align: center; } .calc-chart svg { max-width: 100%; height: auto; } .calc-chart-legend { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.6rem 1.2rem; margin-top: 0.6rem; font-size: 0.8rem; color: #555; } .calc-chart-legend span { display: inline-flex; align-items: center; gap: 0.3rem; } .calc-chart-legend i { display: inline-block; width: 10px; height: 10px; border-radius: 2px; font-style: normal; } .calc-related { max-width: 640px; margin: 2rem 0 1rem; padding: 1.25rem 1.5rem; background: #f8f9fa; border: 1px solid #e8e8e8; border-radius: 8px; } .calc-related h3 { font-family: Georgia, serif; font-size: 1rem; color: #1a1a1a; margin: 0 0 0.75rem; padding-bottom: 0.4rem; border-bottom: 2px solid var(--ac, #3d5a80); } .calc-related-list { list-style: none; padding: 0; margin: 0 0 0.75rem; display: grid; grid-template-columns: 1fr 1fr; gap: 0.4rem 1.5rem; } .calc-related-list li a { font-size: 0.88rem; color: var(--ac, #3d5a80); text-decoration: none; } .calc-related-list li a:hover { text-decoration: underline; } .calc-browse-all { margin: 0.5rem 0 0; font-size: 0.9rem; font-weight: 600; } .calc-browse-all a { color: var(--ac, #3d5a80); text-decoration: none; } .calc-browse-all a:hover { text-decoration: underline; } @media (max-width: 720px) { .calc-related-list { grid-template-columns: 1fr; } }

Colorado Contractor License Bond Amount Calculator

Estimate the required surety bond amount and your estimated annual premium for Colorado contractor licenses. Bond requirements vary by license type and, for some categories, by projected annual revenue.

License / Registration Type

-- Select License Type -- Electrical – Master Electrician (State) Electrical – Journeyman Electrician (State) Plumbing – Master Plumber (State) Plumbing – Journeyman Plumber (State) HVAC Contractor (State) General Contractor (Local/Municipal) Roofing Contractor (Local/Municipal) Solar Contractor (State) Elevator Contractor (State) Fire Suppression Contractor (State) Manufactured Home Installer (State) Pesticide Applicator / Contractor

Projected Annual Revenue ($)

Used to determine bond tier for general contractors and roofers.

Owner/Principal Credit Score

Excellent (750+) Good (700–749) Fair (650–699) Poor (600–649) Bad (Below 600)

Credit score affects the premium rate charged by the surety.

Bond Term

1 Year 2 Years 3 Years

Calculate Bond Amount & Premium

(function() {

// ── Bond amount rules ────────────────────────────────────────────────────── // Fixed-amount bonds (no revenue tier needed) const FIXED_BONDS = { electrical_master: { amount: 10000, authority: "Colorado Division of Professions & Occupations (DORA)" }, electrical_journeyman:{ amount: 5000, authority: "Colorado Division of Professions & Occupations (DORA)" }, plumbing_master: { amount: 10000, authority: "Colorado Division of Professions & Occupations (DORA)" }, plumbing_journeyman: { amount: 5000, authority: "Colorado Division of Professions & Occupations (DORA)" }, hvac: { amount: 10000, authority: "Colorado Division of Professions & Occupations (DORA)" }, solar: { amount: 10000, authority: "Colorado Division of Professions & Occupations (DORA)" }, elevator: { amount: 25000, authority: "Colorado Division of Oil & Public Safety" }, fire_suppression: { amount: 10000, authority: "Colorado Division of Professions & Occupations (DORA)" }, manufactured_home: { amount: 25000, authority: "Colorado Division of Housing" }, pesticide: { amount: 10000, authority: "Colorado Department of Agriculture" }, };

// Revenue-tiered bonds // Each tier: { maxRevenue (null = unlimited), bondAmount } const TIERED_BONDS = { general_contractor: { authority: "Local municipality / county (common Denver/Jefferson/Arapahoe requirements)", tiers: [ { maxRevenue: 100000, bondAmount: 5000 }, { maxRevenue: 500000, bondAmount: 10000 }, { maxRevenue: 1000000, bondAmount: 15000 }, { maxRevenue: 5000000, bondAmount: 25000 }, { maxRevenue: null, bondAmount: 50000 }, ] }, roofing: { authority: "Local municipality / county (common Colorado requirements)", tiers: [ { maxRevenue: 100000, bondAmount: 5000 }, { maxRevenue: 500000, bondAmount: 10000 }, { maxRevenue: 1000000, bondAmount: 15000 }, { maxRevenue: null, bondAmount: 25000 }, ] }, };

// ── Premium rate table (% of bond amount per year) ───────────────────────── // Rates are industry-standard surety market estimates. const PREMIUM_RATES = { excellent: { base: 0.01, label: "~1%" }, good: { base: 0.015, label: "~1.5%" }, fair: { base: 0.025, label: "~2.5%" }, poor: { base: 0.04, label: "~4%" }, bad: { base: 0.075, label: "~7.5%" }, };

// Multi-year discount: 5% off per additional year (applied to total) const MULTI_YEAR_DISCOUNT = { 1: 1.0, 2: 0.95, 3: 0.90 };

// ── UI helpers ───────────────────────────────────────────────────────────── window.colUpdateFields = function() { const type = document.getElementById('col-license-type').value; const revField = document.getElementById('col-revenue-field'); revField.style.display = (type in TIERED_BONDS) ? 'block' : 'none'; document.getElementById('col-result').style.display = 'none'; document.getElementById('col-revenue-error').textContent = ''; };

window.colValidateRevenue = function() { const val = parseFloat(document.getElementById('col-annual-revenue').value); const err = document.getElementById('col-revenue-error'); if (isNaN(val) || val Please select a license type.'; return; }

let bondAmount = 0; let authority = ''; let tierNote = '';

// Determine bond amount if (licenseType in FIXED_BONDS) { bondAmount = FIXED_BONDS[licenseType].amount; authority = FIXED_BONDS[licenseType].authority; } else if (licenseType in TIERED_BONDS) { if (!colValidateRevenue()) return; const revenue = parseFloat(document.getElementById('col-annual-revenue').value); if (isNaN(revenue) || revenue Please enter a valid annual revenue.'; return; } const config = TIERED_BONDS[licenseType]; authority = config.authority; for (const tier of config.tiers) { if (tier.maxRevenue === null || revenue ' + fmt(config.tiers[config.tiers.length - 2].maxRevenue); break; } } } else { resultDiv.style.display = 'block'; resultDiv.innerHTML = 'Unknown license type selected.'; return; }

// Premium calculation // Annual premium = bondAmount × rate // Multi-year total = annualPremium × term × multiYearDiscount const rateInfo = PREMIUM_RATES[creditScore]; const annualPremium = bondAmount * rateInfo.base; const discount = MULTI_YEAR_DISCOUNT[term]; const totalPremium = annualPremium * term * discount; const effectiveAnnual = totalPremium / term;

// Build result HTML let html = '### Results '; html += 'FieldValue'; html += 'Required Bond Amount' + fmt(bondAmount) + ''; if (tierNote) { html += 'Revenue Tier Applied' + tierNote + ''; } html += 'Licensing Authority' + authority + ''; html += 'Credit Score Tier' + creditScore.charAt(0).toUpperCase() + creditScore.slice(1) + ''; html += 'Annual Premium Rate' + rateInfo.label + ' of bond amount'; html += 'Estimated Annual Premium' + fmt(annualPremium) + ''; html += 'Bond Term' + term + ' year' + (term > 1 ? 's' : '') + ''; if (term > 1) { html += 'Multi-Year Discount' + ((1 - discount) * 100).toFixed(0) + '% off total'; html += 'Effective Annual Cost' + fmt(effectiveAnnual) + ''; } html += 'Estimated Total Premium (' + term + ' yr)' + fmt(totalPremium) + ''; html += ''; html += 'Note: Actual premiums vary by surety company. This estimate is for budgeting purposes only. Contact a licensed surety agent for a firm quote.

';

resultDiv.innerHTML = html; resultDiv.style.display = 'block'; };

})();

#### Formulas Used

Annual Premium = Bond Amount × Credit-Based Rate

Total Premium (multi-year) = Annual Premium × Term × Multi-Year Discount Factor

Effective Annual Cost = Total Premium ÷ Term

Multi-Year Discount Factors: 1 yr = 1.00 (no discount), 2 yrs = 0.95 (5% off), 3 yrs = 0.90 (10% off)

Credit-Based Rates: Excellent (750+) = 1%, Good (700–749) = 1.5%, Fair (650–699) = 2.5%, Poor (600–649) = 4%, Bad (<600) = 7.5%

Revenue Tiers (General Contractor / Roofing): Bond amount steps up as projected annual revenue increases through defined thresholds.

#### Assumptions & References

More Calculators

References