{"id":649,"date":"2026-10-13T01:23:03","date_gmt":"2026-10-13T05:23:03","guid":{"rendered":"https:\/\/passcontractorexam.com\/articles\/?p=649"},"modified":"2026-10-31T00:56:21","modified_gmt":"2026-10-31T04:56:21","slug":"florida-building-contractor-license","status":"publish","type":"post","link":"https:\/\/passcontractorexam.com\/articles\/florida-building-contractor-license\/","title":{"rendered":"Florida Building Contractor License Requirements (CBC)"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong>Florida building contractor license requirements come down to three things: four years of qualifying experience, or a relevant degree plus one year; commercial work in at least four of the six structural areas listed in rule 61G4-15.001; and passes on three open book exams. The licence, a CBC, then covers buildings up to three stories.<\/strong><\/p>\n\n\n\n<div class=\"msq-audio\" data-article=\"florida-building-contractor-license\" data-minutes=\"20\">\n<style>.msq-audio{margin:1.25em 0 1.75em;padding:16px 18px;background:#F3F1EC;border:1px solid #D9D3C7;border-radius:12px}\n.msq-audio-lead{margin:0 0 8px;font-size:.95em}.msq-audio audio{width:100%;margin:0 0 12px;display:block}\n.msq-toc-title{margin:0 0 6px;font-weight:700}.msq-toc ol{margin:0;padding:0;list-style:none}\n.msq-toc li{display:flex;gap:10px;align-items:center;padding:6px 6px;border-bottom:1px solid #D9D3C7;border-radius:8px}\n.msq-toc li:last-child{border-bottom:0}.msq-toc li.is-active{background:#fff}\n.msq-toc-play{flex:0 0 auto;width:30px;height:30px;border-radius:50%;border:0;background:#24405E;color:#fff;font:inherit;font-size:.72em;line-height:30px;padding:0;cursor:pointer}\n.msq-toc-play.is-playing{background:#C4540E}\n.msq-toc-time{flex:0 0 auto;min-width:3.1em;font-variant-numeric:tabular-nums;color:#4C5561;font-size:.9em}\n.msq-toc a{color:#1B1F24;text-decoration:none;line-height:1.35}.msq-toc li.is-active a{font-weight:700;color:#24405E}\n.msq-audio-note{margin:10px 0 0;font-size:.82em;color:#4C5561}\nh2.wp-block-heading[id]{scroll-margin-top:24px}\n.msq-hplay{display:inline-block;vertical-align:middle;width:26px;height:26px;margin:0 0 0 10px;border-radius:50%;border:0;background:#24405E;cursor:pointer;padding:0;position:relative;top:-2px}\n.msq-hplay::before{content:'\u25b6\ufe0e';display:block;color:#fff;font-size:11px;line-height:26px;text-align:center}\n.msq-hplay.is-playing{background:#C4540E}.msq-hplay.is-playing::before{content:'\u2016';font-size:13px;font-weight:700}\n.msq-bar{position:fixed;left:0;right:0;bottom:0;z-index:9000;display:flex;align-items:center;gap:10px;padding:8px 12px;padding-bottom:calc(8px + env(safe-area-inset-bottom));background:#FFFFFF;border-top:1px solid #D9D3C7;box-shadow:0 -4px 16px rgba(0,0,0,.08);font-size:.92em;color:#1B1F24;transition:transform .2s ease}\n.msq-bar.is-hidden{transform:translateY(130%)}\n.msq-bar-play{display:inline-flex;align-items:center;gap:8px;border:0;border-radius:999px;background:#24405E;color:#fff;font:inherit;font-weight:700;padding:8px 14px 8px 12px;cursor:pointer;white-space:nowrap}\n.msq-bar-play.is-playing{background:#C4540E}\n.msq-bar-icon::before{content:'\u25b6\ufe0e';font-size:12px}.msq-bar-play.is-playing .msq-bar-icon::before{content:'\u2016';font-size:14px;font-weight:700}\n.msq-bar-chapter{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n.msq-bar-time{flex:0 0 auto;font-variant-numeric:tabular-nums;color:#4C5561;font-size:.9em}\n.msq-bar-rate,.msq-bar-close{flex:0 0 auto;border:1px solid #D9D3C7;background:#fff;color:#1B1F24;font:inherit;font-size:.85em;line-height:1;border-radius:8px;padding:7px 9px;cursor:pointer}\n.msq-bar-close::before{content:'\u2715'}\n.msq-bar.msq-bar-pill{left:auto;right:14px;bottom:14px;padding:6px;padding-bottom:6px;border:1px solid #D9D3C7;border-radius:999px;box-shadow:0 6px 20px rgba(0,0,0,.15)}\n.msq-bar.msq-bar-pill .msq-bar-chapter,.msq-bar.msq-bar-pill .msq-bar-time,.msq-bar.msq-bar-pill .msq-bar-rate{display:none}\nbody.msq-has-bar{padding-bottom:76px}\n@media (max-width:600px){.msq-bar-time{display:none}.msq-bar{gap:8px;padding-left:10px;padding-right:10px}}\n.msq-s.msq-now{background:#F3F1EC;box-shadow:0 2px 0 #24405E;border-radius:2px}\ntr.msq-now td,tr.msq-now th{background:#F3F1EC;box-shadow:inset 0 -2px 0 #24405E}\n@media (hover:hover){.msq-s,tr[data-i]{cursor:pointer}.msq-s:hover{background:#F3F1EC}}<\/style>\n<script type=\"application\/ld+json\">{\"@context\":\"https:\/\/schema.org\",\"@type\":\"AudioObject\",\"@id\":\"https:\/\/passcontractorexam.com\/articles\/florida-building-contractor-license\/#audio\",\"name\":\"Florida Building Contractor License Requirements (CBC), read aloud\",\"description\":\"Synthetic voice reading of the article, recorded 31 October 2026.\",\"contentUrl\":\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-building-contractor-license-audio-202610311026.mp3\",\"encodingFormat\":\"audio\/mpeg\",\"duration\":\"PT19M48S\",\"uploadDate\":\"2026-10-31\",\"inLanguage\":\"en-US\",\"isAccessibleForFree\":true,\"mainEntityOfPage\":\"https:\/\/passcontractorexam.com\/articles\/florida-building-contractor-license\/\",\"hasPart\":[{\"@type\":\"Clip\",\"name\":\"Florida Building Contractor License Requirements (CBC)\",\"startOffset\":0,\"endOffset\":82},{\"@type\":\"Clip\",\"name\":\"What can a certified building contractor actually build?\",\"startOffset\":82,\"endOffset\":353,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-building-contractor-license\/#what-can-a-certified-building-contractor-actually-build\"},{\"@type\":\"Clip\",\"name\":\"What experience does the board accept for a CBC?\",\"startOffset\":353,\"endOffset\":475,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-building-contractor-license\/#what-experience-does-the-board-accept-for-a-cbc\"},{\"@type\":\"Clip\",\"name\":\"What do people who applied for a CBC actually report?\",\"startOffset\":475,\"endOffset\":610,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-building-contractor-license\/#what-do-people-who-applied-for-a-cbc-actually-report\"},{\"@type\":\"Clip\",\"name\":\"How are the building contractor exams different from the GC and RC papers?\",\"startOffset\":610,\"endOffset\":756,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-building-contractor-license\/#how-are-the-building-contractor-exams-different-from-the-gc\"},{\"@type\":\"Clip\",\"name\":\"What does it cost to sit the three CBC exams?\",\"startOffset\":756,\"endOffset\":877,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-building-contractor-license\/#what-does-it-cost-to-sit-the-three-cbc-exams\"},{\"@type\":\"Clip\",\"name\":\"What does the board need from you after the exams?\",\"startOffset\":877,\"endOffset\":1124,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-building-contractor-license\/#what-does-the-board-need-from-you-after-the-exams\"},{\"@type\":\"Clip\",\"name\":\"Should you apply for a CBC, a CGC or a CRC?\",\"startOffset\":1124,\"endOffset\":1188,\"url\":\"https:\/\/passcontractorexam.com\/articles\/florida-building-contractor-license\/#should-you-apply-for-a-cbc-a-cgc-or-a-crc\"}],\"contentSize\":\"8.3 MB\"}<\/script>\n<p class=\"msq-audio-lead\"><strong>Listen to this article<\/strong>, about 20 minutes. A synthetic voice reads the article and announces each section title as it begins; tables are read row by row and the questions at the end are left out.<\/p>\n<audio class=\"msq-audio-player\" controls preload=\"metadata\" src=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-building-contractor-license-audio-202610311026.mp3\"><\/audio>\n<nav class=\"msq-toc\" aria-label=\"In this article\"><p class=\"msq-toc-title\">In this article<\/p>\n<ol>\n<li data-start=\"0.0\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"0.0\" aria-label=\"Play from: Florida Building Contractor License Requirements (CBC)\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">0:00<\/span><a href=\"#top\">Florida Building Contractor License Requirements (CBC)<\/a><\/li>\n<li data-start=\"81.58\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"81.58\" aria-label=\"Play from: What can a certified building contractor actually build?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">1:22<\/span><a href=\"#what-can-a-certified-building-contractor-actually-build\">What can a certified building contractor actually build?<\/a><\/li>\n<li data-start=\"353.04\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"353.04\" aria-label=\"Play from: What experience does the board accept for a CBC?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">5:53<\/span><a href=\"#what-experience-does-the-board-accept-for-a-cbc\">What experience does the board accept for a CBC?<\/a><\/li>\n<li data-start=\"474.82\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"474.82\" aria-label=\"Play from: What do people who applied for a CBC actually report?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">7:55<\/span><a href=\"#what-do-people-who-applied-for-a-cbc-actually-report\">What do people who applied for a CBC actually report?<\/a><\/li>\n<li data-start=\"610.24\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"610.24\" aria-label=\"Play from: How are the building contractor exams different from the GC and RC papers?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">10:10<\/span><a href=\"#how-are-the-building-contractor-exams-different-from-the-gc\">How are the building contractor exams different from the GC and RC papers?<\/a><\/li>\n<li data-start=\"756.02\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"756.02\" aria-label=\"Play from: What does it cost to sit the three CBC exams?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">12:36<\/span><a href=\"#what-does-it-cost-to-sit-the-three-cbc-exams\">What does it cost to sit the three CBC exams?<\/a><\/li>\n<li data-start=\"877.48\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"877.48\" aria-label=\"Play from: What does the board need from you after the exams?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">14:37<\/span><a href=\"#what-does-the-board-need-from-you-after-the-exams\">What does the board need from you after the exams?<\/a><\/li>\n<li data-start=\"1123.54\"><button type=\"button\" class=\"msq-toc-play\" data-start=\"1123.54\" aria-label=\"Play from: Should you apply for a CBC, a CGC or a CRC?\">&#x25B6;&#xFE0E;<\/button><span class=\"msq-toc-time\">18:44<\/span><a href=\"#should-you-apply-for-a-cbc-a-cgc-or-a-crc\">Should you apply for a CBC, a CGC or a CRC?<\/a><\/li>\n<\/ol><\/nav>\n<p class=\"msq-audio-note\">Recorded 31 October 2026 from the article as published that day. Press a chapter to jump there; the highlighted line is what is playing. A play button sits beside every section heading, and once you scroll past this player a bar at the bottom of the screen keeps the controls in reach. Tap or click any sentence to hear the reading start from there.<\/p>\n<script>var MSQ_SENT = [[0.0,\"h\",\"floridabuildingcontracto\",47],[3.88,\"p\",\"floridabuildingcontracto\",224],[23.48,\"p\",\"thelicenceacbcthencovers\",49],[28.0,\"p\",\"onthispagethecbcscopequo\",192],[49.24,\"p\",\"thecertifiedbuildingcont\",155],[58.68,\"p\",\"preppagestakethegeneralc\",51],[63.12,\"p\",\"whatactuallydecidesacbci\",109],[70.64,\"p\",\"everythingbelowwasreadfr\",82],[78.4,\"p\",\"thissiteisindependentoft\",30],[81.58,\"h\",\"whatcanacertifiedbuildin\",48],[84.38,\"p\",\"thescopeisonesentenceins\",87],[95.22,\"p\",\"buildingcontractormeansa\",370],[120.46,\"p\",\"thefirsthalfisnewconstru\",68],[126.62,\"p\",\"thesecondhalfisthebitpeo\",128],[136.22,\"p\",\"theresidentialdefinition\",75],[144.06,\"p\",\"thescopealsointeractswit\",78],[152.94,\"p\",\"thetableputsbothtogether\",32],[155.78,\"t\",\"newcommercialbuildingupt\",82],[168.46,\"t\",\"newbuildingoffourstories\",86],[183.22,\"t\",\"apartmentblockorfourplex\",128],[212.46,\"t\",\"houseduplexortriplextwoh\",86],[231.82,\"t\",\"nonstructuralremodelofab\",117],[250.42,\"t\",\"clearinggradingandexcava\",126],[268.62,\"t\",\"shingleroofingonanewbuil\",92],[287.62,\"t\",\"structuralswimmingpoolwo\",106],[307.1,\"t\",\"electricalplumbingmechan\",149],[326.06,\"p\",\"whatcountsasastoryisdefi\",172],[347.66,\"p\",\"measureyourpipelineagain\",81],[353.04,\"h\",\"whatexperiencedoestheboa\",39],[355.6,\"p\",\"theroutestoeligibilitysi\",220],[375.68,\"p\",\"thereisalsoanupgraderout\",25],[377.12,\"p\",\"undersubsection4aanactiv\",141],[390.0,\"p\",\"theyearsaretheeasypart\",22],[391.6,\"p\",\"theharderpartiswhatrule6\",250],[413.6,\"p\",\"thatcommercialexperience\",57],[417.6,\"p\",\"foundationsorslabsinexce\",43],[422.28,\"p\",\"masonrywalls\",12],[423.48,\"p\",\"steelerection\",13],[424.4,\"p\",\"elevatedslabs\",13],[426.0,\"p\",\"columnerection\",14],[427.6,\"p\",\"formworkforstructuralrei\",39],[430.48,\"p\",\"twomorelinesmatter\",18],[431.56,\"p\",\"underrule61g4150011athee\",106],[443.4,\"p\",\"andageneralcontractorapp\",108],[450.16,\"p\",\"thatsentenceiswhysomanyp\",68],[457.4,\"p\",\"theresidentiallistasksfo\",124],[468.48,\"p\",\"ourpageonthefloridaresid\",72],[474.82,\"h\",\"whatdopeoplewhoappliedfo\",43],[478.82,\"p\",\"forumaccountsaretestimon\",65],[483.66,\"p\",\"wereadtwofullredditthrea\",94],[493.14,\"p\",\"paraphrasedthisiswhatpeo\",33],[495.22,\"p\",\"injuly2025acbcapplicants\",149],[506.06,\"p\",\"infebruary2026aposterpas\",131],[516.58,\"p\",\"injune2026thesameposters\",136],[529.7,\"p\",\"inapril2026asmallfirmown\",137],[542.74,\"p\",\"injuly2026anapplicantbet\",85],[550.46,\"p\",\"repliesputreviewatfourto\",74],[555.9,\"p\",\"setagainsttheruletextthe\",44],[559.1,\"p\",\"theruledoescountalterati\",144],[570.74,\"p\",\"theapril2026casehasthebi\",142],[582.58,\"p\",\"theupgradeclaimneedsacor\",100],[596.46,\"p\",\"onejuly2026commentercite\",153],[610.24,\"h\",\"howarethebuildingcontrac\",61],[615.2,\"p\",\"abuildingapplicantsitsth\",122],[623.44,\"p\",\"butthetwotradepapersares\",72],[629.04,\"p\",\"thedbprscandidateinforma\",69],[635.76,\"t\",\"businessandfinanceallthr\",90],[648.6,\"t\",\"gccontractadministration\",97],[661.2,\"t\",\"bccontractadministration\",97],[672.52,\"t\",\"rccontractadministration\",97],[683.64,\"p\",\"soabccandidategetsabout5\",90],[691.84,\"p\",\"thepassmarkis70percentan\",70],[698.52,\"p\",\"preppagesquotethesepaper\",66],[704.24,\"p\",\"thebookscomefromthedbprs\",107],[716.48,\"p\",\"itincludesaiaa2012017a40\",187],[738.88,\"p\",\"underliningandhighlighti\",79],[744.0,\"p\",\"ourguidetowhatyoucanandc\",167],[756.02,\"h\",\"whatdoesitcosttosittheth\",35],[758.5,\"p\",\"thedbprexaminationapplic\",83],[767.18,\"p\",\"everyregistrationcostsa1\",150],[779.66,\"p\",\"buildingcandidatesregist\",166],[790.94,\"t\",\"allthreepartsfirstsittin\",71],[803.5,\"t\",\"retakebusinessandfinance\",70],[813.14,\"t\",\"retakecontractadministra\",93],[825.34,\"t\",\"retakebothtradepapersino\",82],[837.98,\"p\",\"twocautionswrittenplainl\",25],[840.3,\"p\",\"firstrule61g412009stilll\",163],[857.66,\"p\",\"secondthepackgivesyoufou\",108],[865.14,\"p\",\"plantheorderofyoursittin\",81],[869.9,\"p\",\"ifyouhavefailedapartbefo\",101],[877.48,\"h\",\"whatdoestheboardneedfrom\",40],[880.64,\"p\",\"passingallthreepapersdoe\",43],[884.08,\"p\",\"itgetsyoutherighttoapply\",30],[886.0,\"p\",\"theapplicationisformdbpr\",129],[902.24,\"p\",\"theexamscomewithawholepr\",42],[905.24,\"p\",\"thepaperworkcomeswithnob\",72],[910.52,\"p\",\"beyondyourexamresultsthe\",45],[915.12,\"t\",\"applicationfee\",176],[939.76,\"t\",\"fingerprints\",132],[952.84,\"t\",\"liabilityinsurance\",170],[975.0,\"t\",\"workerscompensation\",175],[989.72,\"t\",\"credit\",180],[1008.6,\"p\",\"thefeesplitfollowsthecal\",35],[1011.24,\"p\",\"rule61g4120094asetsthein\",146],[1031.0,\"p\",\"on31october2026youareint\",58],[1039.92,\"p\",\"waitingtenmonthstosave10\",84],[1047.2,\"p\",\"theinsuranceminimumssiti\",165],[1064.08,\"p\",\"thecreditlineisinrule61g\",171],[1082.12,\"p\",\"somepagesstilltalkaboutp\",79],[1088.6,\"p\",\"ourguidetowhatthe660cred\",66],[1094.68,\"p\",\"twosmallerlinesontheform\",56],[1097.52,\"p\",\"itcountsoneyearofexperie\",88],[1105.0,\"p\",\"anditletsyouapplywiththe\",50],[1108.96,\"p\",\"aninactiveapplicantcompl\",130],[1118.0,\"p\",\"thatroutesuitssomeonewho\",72],[1123.54,\"h\",\"shouldyouapplyforacbcacg\",31],[1128.5,\"p\",\"pickontheworkyouwillactu\",96],[1135.94,\"p\",\"housesuptotwohabitablest\",51],[1141.5,\"p\",\"smallcommercialjobsapart\",94],[1150.18,\"p\",\"fourstoriesormoresiteuti\",93],[1157.06,\"p\",\"ourguidetothefloridagene\",183],[1169.1,\"p\",\"oneruledoesnotbend\",18],[1170.82,\"p\",\"workoutsidethescopeofthe\",92],[1177.26,\"p\",\"acbcholderbuildingafours\",125]];\n(function(){\n  function init(){\n  var root = document.querySelector('.msq-audio'); if (!root) { return; }\n  var audio = root.querySelector('audio'), items = Array.prototype.slice.call(root.querySelectorAll('.msq-toc li'));\n  var starts = items.map(function(li){ return parseFloat(li.getAttribute('data-start')) || 0; });\n  var names = items.map(function(li){ return li.querySelector('a').textContent; });\n  var anchors = items.map(function(li){ var h = li.querySelector('a').getAttribute('href') || ''; return (h.charAt(0) === '#' && h !== '#top') ? document.getElementById(h.slice(1)) : null; });\n  var article = root.getAttribute('data-article') || location.pathname, minutes = root.getAttribute('data-minutes') || '';\n  var marks = {}, started = false, pausedAt = -1, closed = false, ended = false;\n  var RATES = [1, 1.25, 1.5], rate = 1;\n  try { var saved = parseFloat(localStorage.getItem('msq-audio-rate')); if (RATES.indexOf(saved) >= 0) { rate = saved; } } catch (e) {}\n  audio.playbackRate = rate;\n  function track(name, extra){ try { if (typeof gtag === 'function') { var p = { article: article }; for (var k in extra) { p[k] = extra[k]; } gtag('event', name, p); } } catch (e) {} }\n  function current(){ var t = audio.currentTime, idx = 0; for (var i = 0; starts.length > i; i += 1) { if (t + 0.25 >= starts[i]) { idx = i; } } return idx; }\n  function onScreen(){\n    var line = window.innerHeight \/ 3, idx = 0;\n    for (var i = 0; anchors.length > i; i += 1) { var el = anchors[i]; if (el && line >= el.getBoundingClientRect().top) { idx = i; } }\n    return idx;\n  }\n  function fmt(s){ s = Math.max(0, Math.round(s || 0)); var m = Math.floor(s \/ 60), r = s % 60; return m + ':' + (10 > r ? '0' : '') + r; }\n  function play(from, source){\n    if (from !== null) { audio.currentTime = from; }\n    var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n    track(from === null ? 'audio_resume' : 'audio_chapter', { chapter: names[current()], start: Math.round(audio.currentTime), source: source });\n  }\n  var hbtns = anchors.map(function(el, i){\n    if (!el) { return null; }\n    var b = document.createElement('button'); b.type = 'button'; b.className = 'msq-hplay'; b.setAttribute('aria-label', 'Play this section: ' + names[i]);\n    b.addEventListener('click', function(){\n      if (!audio.paused && current() === i) { audio.pause(); track('audio_pause', { source: 'heading' }); return; }\n      play(starts[i], 'heading');\n    });\n    el.appendChild(b); return b;\n  });\n  var bar = document.createElement('div'); bar.className = 'msq-bar msq-bar-pill is-hidden'; bar.setAttribute('role', 'region'); bar.setAttribute('aria-label', 'Audio player');\n  var playBtn = document.createElement('button'); playBtn.type = 'button'; playBtn.className = 'msq-bar-play';\n  var icon = document.createElement('span'); icon.className = 'msq-bar-icon'; icon.setAttribute('aria-hidden', 'true');\n  var label = document.createElement('span'); label.className = 'msq-bar-label';\n  playBtn.appendChild(icon); playBtn.appendChild(label);\n  var chap = document.createElement('span'); chap.className = 'msq-bar-chapter';\n  var clock = document.createElement('span'); clock.className = 'msq-bar-time';\n  var rateBtn = document.createElement('button'); rateBtn.type = 'button'; rateBtn.className = 'msq-bar-rate'; rateBtn.setAttribute('aria-label', 'Playback speed');\n  var closeBtn = document.createElement('button'); closeBtn.type = 'button'; closeBtn.className = 'msq-bar-close'; closeBtn.setAttribute('aria-label', 'Close the audio bar');\n  bar.appendChild(playBtn); bar.appendChild(chap); bar.appendChild(clock); bar.appendChild(rateBtn); bar.appendChild(closeBtn);\n  document.body.appendChild(bar);\n  function showRate(){ rateBtn.textContent = (rate === 1 ? '1' : String(rate)) + 'x'; }\n  showRate();\n  rateBtn.addEventListener('click', function(){\n    rate = RATES[(RATES.indexOf(rate) + 1) % RATES.length]; audio.playbackRate = rate; showRate();\n    try { localStorage.setItem('msq-audio-rate', String(rate)); } catch (e) {}\n    track('audio_rate', { rate: rate });\n  });\n  closeBtn.addEventListener('click', function(){\n    closed = true; if (!audio.paused) { audio.pause(); } paint(); track('audio_bar_close', {});\n  });\n  function mode(){\n    if (!audio.paused) { return 'pause'; }\n    if (ended) { return 'again'; }\n    if (!started) { return 'listen'; }\n    return (pausedAt === onScreen()) ? 'resume' : 'section';\n  }\n  playBtn.addEventListener('click', function(){\n    var m = mode();\n    if (m === 'pause') { audio.pause(); track('audio_pause', { source: 'bar' }); return; }\n    if (m === 'again') { ended = false; play(0, 'bar'); return; }\n    if (m === 'resume') { play(null, 'bar'); return; }\n    play(starts[onScreen()], 'bar');\n  });\n  function paint(){\n    var idx = current(), playing = !audio.paused, m = mode();\n    items.forEach(function(li, i){\n      var on = (i === idx) && playing, b = li.querySelector('.msq-toc-play'), a = li.querySelector('a');\n      li.classList.toggle('is-active', on); b.classList.toggle('is-playing', on);\n      b.textContent = on ? '\u2016' : '\u25b6\ufe0e';\n      b.setAttribute('aria-label', (on ? 'Pause: ' : 'Play from: ') + a.textContent);\n    });\n    hbtns.forEach(function(b, i){ if (b) { var on = (i === idx) && playing; b.classList.toggle('is-playing', on); b.setAttribute('aria-label', (on ? 'Pause this section: ' : 'Play this section: ') + names[i]); } });\n    playBtn.classList.toggle('is-playing', playing);\n    label.textContent = m === 'pause' ? 'Pause' : m === 'again' ? 'Play again' : m === 'resume' ? 'Resume' : m === 'section' ? 'Play this section' : 'Listen, ' + minutes + ' min';\n    playBtn.setAttribute('aria-label', label.textContent);\n    chap.textContent = started ? names[(playing || m === 'resume') ? idx : onScreen()] : '';\n    clock.textContent = started ? fmt(audio.currentTime) + ' \/ ' + fmt(audio.duration) : '';\n    bar.classList.toggle('msq-bar-pill', !started);\n    var show = !closed && (started || 0 > root.getBoundingClientRect().bottom);\n    bar.classList.toggle('is-hidden', !show);\n    document.body.classList.toggle('msq-has-bar', show);\n  }\n  root.addEventListener('click', function(e){\n    var b = e.target.closest ? e.target.closest('.msq-toc-play') : null; if (!b) { return; }\n    var li = b.parentNode, s = parseFloat(b.getAttribute('data-start')) || 0;\n    if (!audio.paused && current() === items.indexOf(li)) { audio.pause(); track('audio_pause', { source: 'index' }); return; }\n    play(s, 'index');\n  });\n  audio.addEventListener('play', function(){ ended = false; closed = false; if (!started) { started = true; track('audio_play', { minutes: Math.round((audio.duration || 0) \/ 60) }); } paint(); });\n  audio.addEventListener('pause', function(){ pausedAt = current(); paint(); });\n  audio.addEventListener('timeupdate', function(){\n    paint();\n    if (audio.duration > 0) {\n      var pct = Math.floor(audio.currentTime \/ audio.duration * 100);\n      [25, 50, 75].forEach(function(m){ if (pct >= m && !marks[m]) { marks[m] = true; track('audio_progress', { percent: m }); } });\n    }\n  });\n  audio.addEventListener('ended', function(){ ended = true; track('audio_complete', {}); paint(); });\n  var ticking = false;\n  function onScroll(){ if (ticking) { return; } ticking = true; setTimeout(function(){ ticking = false; paint(); }, 80); }\n  window.addEventListener('scroll', onScroll, { passive: true }); window.addEventListener('resize', onScroll);\n  paint();\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', init); } else { init(); }\n})();\n\n(function(){\n  function start(){\n    var root = document.querySelector('.msq-audio'), audio = root ? root.querySelector('audio') : null;\n    var map = (typeof MSQ_SENT !== 'undefined') ? MSQ_SENT : [];\n    if (!root || !audio || !map.length) { return; }\n    var scope = root.closest('main') || root.closest('article') || root.closest('.entry-content') || document.body;\n    var SKIP = '.msq-audio,.msq,.msq-tool,.msq-end,.msq-bar,script,style,noscript,figcaption,#rank-math-faq,.rank-math-block,nav,header,footer';\n    function norm(s){ return s.toLowerCase().replace(\/[^a-z0-9]+\/g, ''); }\n    var nodes = [], stream = '', walker = document.createTreeWalker(scope, NodeFilter.SHOW_TEXT, null), n;\n    while ((n = walker.nextNode())) {\n      var el = n.parentElement; if (!el || el.closest(SKIP)) { continue; }\n      var raw = n.nodeValue, keep = [], norms = '';\n      for (var i = 0; raw.length > i; i += 1) { var c = raw.charAt(i).toLowerCase(); if (\/[a-z0-9]\/.test(c)) { keep.push(i); norms += c; } }\n      if (!norms) { continue; }\n      nodes.push({ node: n, a: stream.length, b: stream.length + norms.length, keep: keep });\n      stream += norms;\n    }\n    var segs = [], cursor = 0, lastRow = null;\n    map.forEach(function(m, idx){\n      var kind = m[1], f = m[2], len = m[3];\n      if (kind === 't') {\n        var rows = scope.querySelectorAll('tr'), after = !lastRow;\n        for (var r = 0; rows.length > r; r += 1) {\n          var tr = rows[r];\n          if (!after) { if (tr === lastRow) { after = true; } continue; }\n          var cell = tr.querySelector('td,th');\n          if (cell && norm(cell.textContent).indexOf(f) === 0) { tr.setAttribute('data-i', idx); lastRow = tr; break; }\n        }\n        return;\n      }\n      var p = stream.indexOf(f, cursor); if (0 > p) { return; }\n      segs.push({ i: idx, a: p, b: Math.min(p + len, stream.length) }); cursor = p + len;\n    });\n    var si = 0;\n    nodes.forEach(function(nd){\n      var frag = document.createDocumentFragment(), raw = nd.node.nodeValue, rawPos = 0, any = false;\n      for (var k = si; segs.length > k; k += 1) {\n        var sg = segs[k]; if (sg.a >= nd.b) { break; } if (nd.a >= sg.b) { continue; }\n        var s = Math.max(sg.a, nd.a), e = Math.min(sg.b, nd.b);\n        var rs = nd.keep[s - nd.a], re2 = nd.keep[e - nd.a - 1] + 1;\n        if (rs > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos, rs))); }\n        var span = document.createElement('span'); span.className = 'msq-s'; span.setAttribute('data-i', sg.i); span.textContent = raw.slice(rs, re2);\n        frag.appendChild(span); rawPos = re2; any = true;\n        if (sg.b > nd.b) { break; }\n      }\n      while (segs.length > si && nd.b >= segs[si].b) { si += 1; }\n      if (!any) { return; }\n      if (raw.length > rawPos) { frag.appendChild(document.createTextNode(raw.slice(rawPos))); }\n      nd.node.parentNode.replaceChild(frag, nd.node);\n    });\n    var starts = map.map(function(m){ return m[0]; }), curIdx = -1, lastUser = 0, timer = null, autoUntil = 0, dragging = false;\n    function idxAt(t){ var lo = 0, hi = starts.length; while (hi > lo + 1) { var mid = (lo + hi) >> 1; if (t + 0.15 >= starts[mid]) { lo = mid; } else { hi = mid; } } return (t + 0.15 >= starts[0]) ? lo : -1; }\n    function setNow(i){\n      if (i === curIdx) { return; }\n      Array.prototype.forEach.call(scope.querySelectorAll('.msq-now'), function(el){ el.classList.remove('msq-now'); });\n      curIdx = i; if (0 > i) { return; }\n      var els = scope.querySelectorAll('[data-i=\"' + i + '\"]'); if (!els.length) { return; }\n      Array.prototype.forEach.call(els, function(el){ el.classList.add('msq-now'); });\n      var r = els[0].getBoundingClientRect(), now = Date.now();\n      if (!dragging && now > lastUser + 2500 && (80 > r.top || r.bottom > window.innerHeight - 140)) {\n        var reduce = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\n        autoUntil = now + (reduce ? 400 : 1600);\n        els[0].scrollIntoView({ block: 'center', behavior: reduce ? 'auto' : 'smooth' });\n      }\n    }\n    function tick(){ if (!audio.paused) { setNow(idxAt(audio.currentTime)); } }\n    function userScrolled(){ lastUser = Date.now(); }\n    ['wheel', 'touchmove', 'keydown'].forEach(function(ev){ window.addEventListener(ev, userScrolled, { passive: true }); });\n    window.addEventListener('scroll', function(){ if (Date.now() > autoUntil) { userScrolled(); } }, { passive: true });\n    window.addEventListener('mousedown', function(e){ if (e.clientX >= document.documentElement.clientWidth) { dragging = true; userScrolled(); } }, { passive: true });\n    window.addEventListener('mouseup', function(){ if (dragging) { dragging = false; userScrolled(); } }, { passive: true });\n    audio.addEventListener('play', function(){ if (timer) { clearInterval(timer); } timer = setInterval(tick, 150); tick(); });\n    audio.addEventListener('pause', function(){ if (timer) { clearInterval(timer); timer = null; } });\n    scope.addEventListener('click', function(e){\n      if (e.target.closest('a, button, input, select, textarea, label, summary, .msq, .msq-tool, .msq-end, .msq-audio, .msq-bar')) { return; }\n      var sel = window.getSelection ? String(window.getSelection()) : '';\n      if (sel && sel.trim()) { return; }\n      var el = e.target.closest('[data-i]'); if (!el) { return; }\n      var i = parseInt(el.getAttribute('data-i'), 10); if (isNaN(i)) { return; }\n      if (!audio.paused && i === curIdx) { return; }\n      lastUser = Date.now();\n      audio.currentTime = starts[i];\n      var p = audio.play(); if (p && p.catch) { p.catch(function(){}); }\n      try { if (typeof gtag === 'function') { gtag('event', 'audio_chapter', { article: location.pathname, source: 'sentence', start: Math.round(starts[i]) }); } } catch (err) {}\n    });\n    audio.addEventListener('seeked', tick);\n    audio.addEventListener('ended', function(){ setNow(-1); });\n  }\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', start); } else { start(); }\n})();<\/script>\n<\/div>\n\n\n\n<p class=\"msq-hook wp-block-paragraph\">On this page: the CBC scope quoted from section 489.105, a row by row table of what a CBC, CGC and CRC may build, the six structural areas the experience rule checks, the BC exam numbers from the DBPR booklet, and five dated applicant accounts.<\/p>\n\n\n\n<div class=\"msq\" id=\"ms-quiz\" data-slug=\"florida-building-contractor-license\" data-category=\"licensing\" data-list=\"1\">\n<style>.msq,.msq-hook,.msq-box,.msq-end,.msq-tool{--msq-accent:#24405E;--msq-accent-text:#FFFFFF;--msq-line:#D9D3C7;--msq-warn:#C4540E;--msq-muted:#4C5561;--msq-tint:#F3F1EC;--msq-base:#FFFFFF}\n.msq{margin:1.25em 0 1.75em}\n.msq-hook{border-left:3px solid var(--msq-accent);padding:6px 14px;color:var(--msq-muted);font-size:.97em}\n.msq-box{background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px;padding:0}\n.msq-box>summary{cursor:pointer;list-style:none;padding:14px 18px;font-weight:700;color:var(--msq-accent)}\n.msq-box>summary::-webkit-details-marker{display:none}\n.msq-box>summary::before{content:\"+\";display:inline-block;width:1.1em;font-weight:800}\n.msq-box[open]>summary::before{content:\"\\00d7\"}\n.msq-body{padding:2px 18px 18px}\n.msq-intro{margin:0 0 12px;font-size:.95em;color:var(--msq-muted)}\n.msq-list{margin:0;padding:0;list-style:none}\n.msq-q{margin:0 0 18px;padding:0}\n.msq-question{font-weight:700;margin:0 0 8px}\n.msq-options{display:flex;flex-direction:column;gap:8px}\n.msq-opt{text-align:left;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;padding:10px 12px;font:inherit;font-size:.95em;color:inherit;cursor:pointer;line-height:1.35}\n.msq-opt:hover{border-color:var(--msq-accent)}\n.msq-opt[disabled]{cursor:default}\n.msq-opt.is-right{border-color:var(--msq-accent);background:var(--msq-line);font-weight:700}\n.msq-opt.is-wrong{border-color:var(--msq-warn);color:var(--msq-warn)}\n.msq-explain{margin:8px 0 0;font-size:.92em;padding:10px 12px;border-left:3px solid var(--msq-accent);background:var(--msq-base);border-radius:0 8px 8px 0}\n.msq-explain[hidden]{display:none}\n.msq-verdict{font-weight:700}\n.msq-result{margin-top:14px;padding:14px 16px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:10px}\n.msq-result[hidden]{display:none}\n.msq-result h3{margin:0 0 6px;font-size:1.1em}\n.msq-result p{margin:0 0 8px}\n.msq-jump{margin:0 0 8px;padding-left:1.2em}\n.msq-form{margin-top:10px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}\n.msq-form input[type=email]{flex:1 1 220px;padding:10px 12px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-btn{background:var(--msq-accent);color:var(--msq-accent-text);border:0;border-radius:8px;padding:11px 18px;font:inherit;font-weight:700;cursor:pointer}\n.msq-btn:hover{filter:brightness(.92)}\n.msq-btn[disabled]{opacity:.7;cursor:default}\n.msq-no{font-size:.9em;color:var(--msq-muted);margin-left:4px}\n.msq-privacy{margin:6px 0 0;font-size:.82em;color:var(--msq-muted);flex-basis:100%}\n.msq-hp{position:absolute;left:-5000px;width:1px;height:1px;overflow:hidden}\n.msq-msg{margin:8px 0 0;font-size:.92em}\n.msq-end{margin:1.5em 0;padding:18px;border:1px solid var(--msq-accent);border-radius:12px;text-align:center;background:var(--msq-tint)}\n.msq-end p{margin:0 0 12px}\n.msq-end .msq-body{text-align:left;padding:16px 0 0}\n.msq-end .msq-start-test[hidden]{display:none}\n.msq-tool{margin:1.5em 0;padding:18px 20px;background:var(--msq-tint);border:1px solid var(--msq-line);border-radius:12px}\n.msq-tool h3{margin:0 0 6px;font-size:1.15em}\n.msq-tool p{margin:0 0 10px}\n.msq-tool .msq-note{font-size:.85em;color:var(--msq-muted);margin:10px 0 0}\n.msq-check label{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-bottom:1px solid var(--msq-line);cursor:pointer;line-height:1.4}\n.msq-check label:last-of-type{border-bottom:0}\n.msq-check input{margin-top:5px;flex:0 0 auto;width:18px;height:18px;accent-color:var(--msq-accent)}\n.msq-check-count{font-weight:700;margin:10px 0 0}\n.msq-verdict-box{margin:12px 0 0;padding:10px 14px;border-radius:8px;background:var(--msq-base);border-left:3px solid var(--msq-warn)}\n.msq-verdict-box[hidden]{display:none}\n.msq-calc{display:grid;grid-template-columns:1fr 1fr;gap:10px 16px}\n.msq-calc label{display:flex;flex-direction:column;gap:4px;font-size:.92em}\n.msq-calc input,.msq-calc select{padding:8px 10px;border:1px solid var(--msq-muted);border-radius:8px;font:inherit;background:#fff}\n.msq-calc-out{grid-column:1 \/ -1;margin-top:6px;padding:12px 14px;background:var(--msq-base);border-radius:8px;border:1px solid var(--msq-line)}\n.msq-calc-out strong{font-size:1.15em}\n.msq-choose label{display:block;padding:9px 12px;margin:0 0 8px;background:var(--msq-base);border:1px solid var(--msq-line);border-radius:8px;cursor:pointer}\n.msq-choose input{margin-right:8px;accent-color:var(--msq-accent)}\n.msq-choice-result{margin-top:10px;padding:12px 14px;background:var(--msq-base);border-left:3px solid var(--msq-accent);border-radius:0 8px 8px 0}\n.msq-choice-result[hidden]{display:none}\n@media (max-width:600px){.msq-calc{grid-template-columns:1fr}}\nh2.wp-block-heading[id]{scroll-margin-top:24px}<\/style>\n<noscript><style>.msq-explain{display:block !important}<\/style><\/noscript>\n<details class=\"msq-box\">\n<summary>Think you already know this? Five questions, one minute.<\/summary>\n<div class=\"msq-body\">\n<p class=\"msq-intro\">Every answer is on this page. Answer from what you know now; the page fills in the rest.<\/p>\n<ol class=\"msq-list\">\n<li class=\"msq-q\" data-q=\"1\" data-answer=\"b\" data-title=\"What can a certified building contractor actually build?\" data-section=\"#what-can-a-certified-building-contractor-actually-build\">\n<p class=\"msq-question\">1. Under section 489.105(3)(b), what is the height limit on new construction for a certified building contractor?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 1 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Two habitable stories<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Three stories<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">No limit<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The building contractor definition covers commercial and residential buildings that do not exceed three stories in height. <a href=\"https:\/\/www.flsenate.gov\/Laws\/Statutes\/2026\/489.105\" target=\"_blank\" rel=\"noopener\">Section 489.105, Florida Statutes<\/a> <a class=\"msq-section\" href=\"#what-can-a-certified-building-contractor-actually-build\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"2\" data-answer=\"c\" data-title=\"What experience does the board accept for a CBC?\" data-section=\"#what-experience-does-the-board-accept-for-a-cbc\">\n<p class=\"msq-question\">2. In how many of the six listed structural areas must a building applicant&#8217;s commercial experience fall?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 2 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Two or more<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Three or more<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Four or more<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Rule 61G4-15.001(2)(a) requires commercial experience in four or more of six areas, including masonry walls, steel erection, elevated slabs and column erection. <a href=\"https:\/\/www.law.cornell.edu\/regulations\/florida\/Fla-Admin-Code-Ann-R-61G4-15-001\" target=\"_blank\" rel=\"noopener\">Rule 61G4-15.001, Florida Administrative Code<\/a> <a class=\"msq-section\" href=\"#what-experience-does-the-board-accept-for-a-cbc\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"3\" data-answer=\"a\" data-title=\"What do people who applied for a CBC actually report?\" data-section=\"#what-do-people-who-applied-for-a-cbc-actually-report\">\n<p class=\"msq-question\">3. How many years of proven experience as an active CRC does the statute require before a CRC can obtain a CBC?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 3 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">Three years<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">Four years<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">Five years<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>Section 489.111(2)(c)4.a sets a minimum of three years for CRC to CBC; four years applies to moves up to the CGC. <a href=\"https:\/\/www.flsenate.gov\/Laws\/Statutes\/2026\/489.111\" target=\"_blank\" rel=\"noopener\">Section 489.111, Florida Statutes<\/a> <a class=\"msq-section\" href=\"#what-do-people-who-applied-for-a-cbc-actually-report\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"4\" data-answer=\"b\" data-title=\"How are the building contractor exams different from the GC and RC papers?\" data-section=\"#how-are-the-building-contractor-exams-different-from-the-gc\">\n<p class=\"msq-question\">4. How many scored questions does each BC Contract Administration and Project Management paper have?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 4 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">45<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">50<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">60<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>The DBPR booklet lists 50 scored questions in 4.5 hours for each BC paper, against 60 for GC and 45 for RC. <a href=\"https:\/\/www2.myfloridalicense.com\/servop\/testing\/documents\/const_cib.pdf\" target=\"_blank\" rel=\"noopener\">DBPR Construction Candidate Information Booklet<\/a> <a class=\"msq-section\" href=\"#how-are-the-building-contractor-exams-different-from-the-gc\">Read the section<\/a><\/p>\n<\/li>\n<li class=\"msq-q\" data-q=\"5\" data-answer=\"b\" data-title=\"What does it cost to sit the three CBC exams?\" data-section=\"#what-does-it-cost-to-sit-the-three-cbc-exams\">\n<p class=\"msq-question\">5. Under the DBPR application pack, what do the three parts cost together at a first sitting?<\/p>\n<div class=\"msq-options\" role=\"group\" aria-label=\"Question 5 options\"><button type=\"button\" class=\"msq-opt\" data-opt=\"a\">$215<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"b\">$295<\/button><button type=\"button\" class=\"msq-opt\" data-opt=\"c\">$375<\/button><\/div>\n<p class=\"msq-explain\" hidden><span class=\"msq-verdict\"><\/span>A $135 registration fee to Professional Testing plus $80, $40 and $40 to Pearson VUE comes to $295. <a href=\"https:\/\/www2.myfloridalicense.com\/servop\/testing\/documents\/exam_applic_pack.pdf\" target=\"_blank\" rel=\"noopener\">DBPR examination application pack<\/a> <a class=\"msq-section\" href=\"#what-does-it-cost-to-sit-the-three-cbc-exams\">Read the section<\/a><\/p>\n<\/li>\n<\/ol>\n<div class=\"msq-result\" hidden><\/div>\n<\/div>\n<\/details>\n<script>(function(){\n  if (window.__msqInit) { return; }\n  window.__msqInit = true;\n  var root = document.getElementById('ms-quiz');\n  if (!root) { return; }\n  var meta = { slug: root.getAttribute('data-slug'), category: root.getAttribute('data-category'),\n               list: root.getAttribute('data-list') || '1' };\n  function qs(el, s){ return el.querySelector(s); }\n  function qsa(el, s){ return Array.prototype.slice.call(el.querySelectorAll(s)); }\n  function track(name, params){\n    try { if (typeof gtag === 'function') { var p = params || {}; p.article = meta.slug; gtag('event', name, p); } } catch (e) {}\n  }\n  function jumpList(missed){\n    if (!missed.length) { return ''; }\n    return '<ul class=\"msq-jump\">' + missed.map(function(q){\n      return '<li><a href=\"' + q.getAttribute('data-section') + '\">' + q.getAttribute('data-title') + '<\/a><\/li>';\n    }).join('') + '<\/ul>';\n  }\n  function emailForm(){\n    return '<div class=\"msq-sub\"><p><strong>Get the next one.<\/strong> We publish new articles on ' + meta.category\n      + ' most weeks and recheck this page on Sundays. Email me when a new article goes up or this page changes.<\/p>'\n      + '<form class=\"msq-form\" method=\"post\" action=\"\/mail\/form.php\" novalidate>'\n      + '<input type=\"hidden\" name=\"list\" value=\"' + meta.list + '\">'\n      + '<input type=\"hidden\" name=\"name\" value=\"\">'\n      + '<label class=\"msq-hp\" aria-hidden=\"true\">Leave this empty<input type=\"text\" name=\"website\" tabindex=\"-1\" autocomplete=\"off\"><\/label>'\n      + '<input type=\"email\" name=\"email\" placeholder=\"you@example.com\" required aria-label=\"Email address\" autocomplete=\"email\">'\n      + '<button type=\"submit\" class=\"msq-btn\">Email me the updates<\/button>'\n      + '<a href=\"#\" class=\"msq-no\">No thanks<\/a>'\n      + '<p class=\"msq-privacy\">We store your email and this page\\'s topic, nothing else. Unsubscribe any time.<\/p>'\n      + '<\/form><p class=\"msq-msg\" aria-live=\"polite\"><\/p><\/div>';\n  }\n  \/* The autoresponder always answers 200 with its own page. A \".msg.err\" box means the\n     address was rejected, \"You're subscribed\" means accepted, and a redirect only happens\n     after a successful subscribe. Same reading as the landing pages on the other sites. *\/\n  function sendForm(form){\n    return fetch(form.getAttribute('action'), { method: 'POST', body: new FormData(form), credentials: 'same-origin', redirect: 'manual' })\n      .then(function(res){\n        if (res.type === 'opaqueredirect') { return { status: 'ok' }; }\n        if (res.status === 404) { return { status: 'notlive' }; }\n        if (!res.ok) { throw new Error('HTTP ' + res.status); }\n        return res.text().then(function(t){\n          var doc = new DOMParser().parseFromString(t, 'text\/html');\n          var err = doc.querySelector('.msg.err');\n          if (err) {\n            var m = err.textContent.trim();\n            if (\/something went wrong\/i.test(m)) { throw new Error(m); }\n            return { status: 'rejected', message: m };\n          }\n          if (\/you.re subscribed\/i.test(doc.body.textContent)) { return { status: 'ok' }; }\n          return { status: 'unknown' };\n        });\n      });\n  }\n  function wireForm(sub){\n    var form = qs(sub, '.msq-form'), msg = qs(sub, '.msq-msg');\n    qs(form, '.msq-no').addEventListener('click', function(e){\n      e.preventDefault();\n      sub.innerHTML = '<p class=\"msq-msg\">No problem. The Sunday refresh keeps this page current either way.<\/p>';\n      track('quiz_email', { result: 'declined' });\n    });\n    form.addEventListener('submit', function(e){\n      e.preventDefault();\n      var input = qs(form, 'input[name=email]'), btn = qs(form, '.msq-btn');\n      var email = input.value.trim(); input.value = email;\n      if (!\/^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$\/.test(email)) { msg.textContent = 'That email does not look right.'; return; }\n      btn.disabled = true; btn.textContent = 'Sending';\n      function reset(){ btn.disabled = false; btn.textContent = 'Email me the updates'; }\n      sendForm(form).then(function(r){\n        if (r.status === 'ok' || r.status === 'unknown') {\n          sub.innerHTML = '<p class=\"msq-msg\"><strong>Done.<\/strong> We will email you when the next article on ' + meta.category\n            + ' goes up and when this page changes. If a confirmation email arrives, click it.<\/p>';\n          track('quiz_email', { result: r.status });\n          if (r.status === 'ok') { track('generate_lead', { method: 'quiz' }); }\n        } else if (r.status === 'notlive') {\n          msg.textContent = 'Sign up is not switched on yet for this site. Nothing was stored.'; reset();\n          track('quiz_email', { result: 'notlive' });\n        } else {\n          msg.textContent = r.message || 'Please check the email address and try again.'; reset();\n          track('quiz_email', { result: 'rejected' });\n        }\n      }).catch(function(){\n        msg.textContent = 'Could not reach the sign up service just now. Nothing was stored.'; reset();\n        track('quiz_email', { result: 'error' });\n      });\n    });\n  }\n  function finish(container, mode, score, total, missed){\n    var result = qs(container, '.msq-result');\n    track('quiz_complete', { mode: mode, score: score, total: total });\n    var h;\n    if (mode === 'pre') {\n      h = '<h3>You knew ' + score + ' of ' + total + ' before reading.<\/h3>';\n      h += (score === total) ? '<p>All of them. Read on anyway; the sections below carry the detail behind each answer.<\/p>'\n                             : '<p>The rest is below. Jump straight to what you missed:<\/p>' + jumpList(missed);\n      try { sessionStorage.setItem('msq-pre-' + meta.slug, String(score)); } catch (e) {}\n    } else {\n      var pre = null;\n      try { pre = sessionStorage.getItem('msq-pre-' + meta.slug); } catch (e) {}\n      h = '<h3>You got ' + score + ' of ' + total + '.<\/h3>';\n      if (pre !== null) { h += '<p>Before reading you had ' + pre + ' of ' + total + '.<\/p>'; }\n      if (missed.length) { h += '<p>Worth a second look:<\/p>' + jumpList(missed); }\n      h += emailForm();\n    }\n    result.innerHTML = h; result.hidden = false;\n    if (mode !== 'pre') { wireForm(qs(result, '.msq-sub')); }\n    result.scrollIntoView({ behavior: 'smooth', block: 'nearest' });\n  }\n  function setup(container, mode){\n    var qEls = qsa(container, '.msq-q'), answered = 0, score = 0, missed = [];\n    qEls.forEach(function(q){\n      var answer = q.getAttribute('data-answer'), opts = qsa(q, '.msq-opt'), explain = qs(q, '.msq-explain');\n      q.removeAttribute('data-done'); explain.hidden = true; qs(explain, '.msq-verdict').textContent = '';\n      opts.forEach(function(b){ b.disabled = false; b.classList.remove('is-right', 'is-wrong'); });\n      opts.forEach(function(b){\n        b.addEventListener('click', function(){\n          if (q.getAttribute('data-done')) { return; }\n          q.setAttribute('data-done', '1');\n          var ok = b.getAttribute('data-opt') === answer;\n          opts.forEach(function(o){ o.disabled = true; if (o.getAttribute('data-opt') === answer) { o.classList.add('is-right'); } });\n          if (ok) { score += 1; } else { b.classList.add('is-wrong'); missed.push(q); }\n          qs(explain, '.msq-verdict').textContent = ok ? 'Right. ' : 'Not quite. ';\n          explain.hidden = false;\n          answered += 1;\n          track('quiz_answer', { mode: mode, question: q.getAttribute('data-q'), correct: ok ? 1 : 0 });\n          if (answered === qEls.length) { finish(container, mode, score, qEls.length, missed); }\n        });\n      });\n    });\n  }\n  var box = qs(root, '.msq-box');\n  setup(root, 'pre');\n  if (box) { var skipFirst = box.hasAttribute('data-default-open'); box.addEventListener('toggle', function(){ if (!box.open) { return; } if (skipFirst) { skipFirst = false; return; } track('quiz_open', { mode: 'pre' }); }); }\n  \/* The end block sits far below this script, so it does not exist yet while this runs\n     during parsing. A delegated listener finds it at click time. *\/\n  document.addEventListener('click', function(e){\n    var startBtn = (e.target && e.target.closest) ? e.target.closest('.msq-start-test') : null;\n    if (!startBtn) { return; }\n    var end = startBtn.closest('.msq-end');\n    if (!end) { return; }\n    var mount = qs(end, '.msq-mount');\n    var clone = qs(root, '.msq-body').cloneNode(true);\n    var intro = qs(clone, '.msq-intro');\n    if (intro) { intro.textContent = 'The same five questions, now that you have read the page.'; }\n    var res = qs(clone, '.msq-result'); if (res) { res.hidden = true; res.innerHTML = ''; }\n    mount.innerHTML = ''; mount.appendChild(clone);\n    setup(mount, 'test');\n    startBtn.hidden = true;\n    track('quiz_open', { mode: 'test' });\n    mount.scrollIntoView({ behavior: 'smooth', block: 'start' });\n    var first = qs(mount, '.msq-opt'); if (first) { first.focus({ preventScroll: true }); }\n  });\n  \/* Shared tool behaviour: checklists remember their ticks on this device, and a chooser\n     shows the result for the option picked. Calculators carry their own small script. *\/\n  function initTools(){\n    qsa(document, '.msq-check').forEach(function(box){\n      var key = 'msq-check-' + meta.slug + '-' + (box.getAttribute('data-id') || 'x');\n      var boxes = qsa(box, 'input[type=checkbox]'), count = qs(box, '.msq-check-count');\n      var yes = qs(box, '.msq-verdict-yes'), no = qs(box, '.msq-verdict-no');\n      var saved = {};\n      try { saved = JSON.parse(localStorage.getItem(key) || '{}'); } catch (e) {}\n      boxes.forEach(function(cb, i){ if (saved[i]) { cb.checked = true; } });\n      function refresh(){\n        var n = boxes.filter(function(cb){ return cb.checked; }).length, state = {};\n        boxes.forEach(function(cb, i){ if (cb.checked) { state[i] = 1; } });\n        try { localStorage.setItem(key, JSON.stringify(state)); } catch (e) {}\n        if (count) { count.textContent = n + ' of ' + boxes.length + (box.getAttribute('data-verb') || ' done'); }\n        if (yes && no) { yes.hidden = n === 0; no.hidden = n !== 0; }\n      }\n      boxes.forEach(function(cb){ cb.addEventListener('change', function(){ refresh(); track('tool_check', { tool: box.getAttribute('data-id') }); }); });\n      refresh();\n    });\n    qsa(document, '.msq-choose').forEach(function(box){\n      var results = qsa(box, '.msq-choice-result');\n      qsa(box, 'input[type=radio]').forEach(function(r){\n        r.addEventListener('change', function(){\n          results.forEach(function(el){ el.hidden = el.getAttribute('data-for') !== r.value; });\n          track('tool_choose', { tool: box.getAttribute('data-id'), choice: r.value });\n        });\n      });\n    });\n  }\n  \/\/ read progress: how far down the article the reader has scrolled, fired once per quarter\n  (function(){\n    var art = root.closest('article') || root.parentNode, fired = {};\n    function check(){\n      var top = art.getBoundingClientRect().top + window.pageYOffset, h = art.offsetHeight || 1;\n      var seen = (window.pageYOffset + window.innerHeight - top) \/ h * 100;\n      [25, 50, 75, 100].forEach(function(m){ if (seen >= m && !fired[m]) { fired[m] = true; track('read_progress', { percent: m }); } });\n    }\n    window.addEventListener('scroll', check, { passive: true }); window.addEventListener('load', check);\n  })();\n  if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initTools); } else { initTools(); }\n})();<\/script>\n<\/div>\n\n\n\n<p class=\"wp-block-paragraph\">The certified building contractor licence is the middle child of Florida&#8217;s three Division I licences, and like most middle children it mostly gets described by reference to its siblings. Prep pages take the general contractor page and swap one word. What actually decides a CBC is a three story ceiling in the statute and an experience rule built around commercial structural work. Everything below was read from the statute, the rule and the DBPR&#8217;s exam documents on 13 October 2026. This site is independent of the DBPR.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-can-a-certified-building-contractor-actually-build\">What can a certified building contractor actually build?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The scope is one sentence in <a href=\"https:\/\/www.flsenate.gov\/Laws\/Statutes\/2026\/489.105\" target=\"_blank\" rel=\"noopener\">section 489.105(3)(b) of the Florida Statutes<\/a>, and it has two halves joined by an &#8220;or&#8221;.<\/p>\n\n\n\n<blockquote class=\"wp-block-quote is-layout-flow wp-block-quote-is-layout-flow\">\n<p class=\"wp-block-paragraph\">&#8220;Building contractor&#8221; means a contractor whose services are limited to construction of commercial buildings and single-dwelling or multiple-dwelling residential buildings, which do not exceed three stories in height, and accessory use structures in connection therewith or a contractor whose services are limited to remodeling, repair, or improvement of any size building if the services do not affect the structural members of the building.<\/p>\n<cite>Section 489.105(3)(b), Florida Statutes, 2026<\/cite><\/blockquote>\n\n\n\n<p class=\"wp-block-paragraph\">The first half is new construction up to three stories, commercial or residential. The second half is the bit people skim past: a CBC may remodel, repair or improve a building of any height, provided the work does not touch structural members. The residential definition in section 489.105(3)(c) has no matching &#8220;any size building&#8221; clause.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The scope also interacts with <a href=\"https:\/\/www.flsenate.gov\/Laws\/Statutes\/2026\/489.113\" target=\"_blank\" rel=\"noopener\">section 489.113(3)<\/a>, which says what each licence must subcontract. The table puts both together, row by row.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Work<\/th><th>CGC<\/th><th>CBC<\/th><th>CRC<\/th><th>Where it comes from<\/th><\/tr><\/thead><tbody><tr><td>New commercial building, up to three stories<\/td><td>Yes<\/td><td>Yes<\/td><td>No<\/td><td>s. 489.105(3)(a) to (c)<\/td><\/tr><tr><td>New building of four stories or more<\/td><td>Yes<\/td><td>No<\/td><td>No<\/td><td>s. 489.105(3)(b), three story limit<\/td><\/tr><tr><td>Apartment block or fourplex, up to three stories<\/td><td>Yes<\/td><td>Yes<\/td><td>No<\/td><td>CBC covers multiple dwelling buildings; CRC stops at three family<\/td><\/tr><tr><td>House, duplex or triplex, two habitable stories<\/td><td>Yes<\/td><td>Yes<\/td><td>Yes<\/td><td>s. 489.105(3)(b) and (c)<\/td><\/tr><tr><td>Non structural remodel of a building of any size<\/td><td>Yes<\/td><td>Yes<\/td><td>Only one to three family homes<\/td><td>s. 489.105(3)(b), second clause<\/td><\/tr><tr><td>Clearing, grading and excavation<\/td><td>Any project<\/td><td>Only the lot the building sits on<\/td><td>Only the lot the building sits on<\/td><td>s. 489.113(3)(a)<\/td><\/tr><tr><td>Shingle roofing on a new building of your own construction<\/td><td>Yes<\/td><td>Yes<\/td><td>Yes<\/td><td>s. 489.113(3)(b)<\/td><\/tr><tr><td>Structural swimming pool work<\/td><td>Yes<\/td><td>Subcontract<\/td><td>Subcontract<\/td><td>s. 489.113(3)(c), general contractor only<\/td><\/tr><tr><td>Electrical, plumbing, mechanical, sheet metal, air conditioning<\/td><td>Subcontract<\/td><td>Subcontract<\/td><td>Subcontract<\/td><td>s. 489.113(3), unless you hold that trade&#8217;s licence<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Compiled from sections 489.105(3) and 489.113(3), Florida Statutes, 2026 edition, read 13 October 2026.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">What counts as a story is defined in board rule 61G4-12.011(1), which <a href=\"https:\/\/www.law.cornell.edu\/regulations\/florida\/Fla-Admin-Code-Ann-R-61G4-15-001\" target=\"_blank\" rel=\"noopener\">rule 61G4-15.001<\/a> points to: a level reachable at grade, by a staircase landing or by an elevator stop, with space where people can safely work or live. Measure your pipeline against that definition, not against the floor count in the sales brochure.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-experience-does-the-board-accept-for-a-cbc\">What experience does the board accept for a CBC?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The routes to eligibility sit in <a href=\"https:\/\/www.flsenate.gov\/Laws\/Statutes\/2026\/489.111\" target=\"_blank\" rel=\"noopener\">section 489.111(2)(c)<\/a>: a four year degree in engineering, architecture or building construction plus one year of proven experience; four years of active experience with at least one as a foreman; or a mix of foreman years and college credit. There is also an upgrade route. Under subsection 4.a, an active certified residential contractor can get a CBC after passing the building exams with a minimum of three years of proven experience as a CRC.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The years are the easy part. The harder part is what <a href=\"https:\/\/www.law.cornell.edu\/regulations\/florida\/Fla-Admin-Code-Ann-R-61G4-15-001\" target=\"_blank\" rel=\"noopener\">rule 61G4-15.001(2)(a)<\/a> says those years must contain for the general and building categories: commercial construction experience, on buildings of any occupancy class except storage, utility and miscellaneous accessory structures such as barns, carports, garages, sheds and towers. That commercial experience must be in four or more of these six areas:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Foundations or slabs in excess of 20,000 square feet<\/li>\n\n\n<li>Masonry walls<\/li>\n\n\n<li>Steel erection<\/li>\n\n\n<li>Elevated slabs<\/li>\n\n\n<li>Column erection<\/li>\n\n\n<li>Formwork for structural reinforced concrete<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Two more lines matter. Under rule 61G4-15.001(1)(a) the experience must be gained under a contractor licensed in your category, or one whose scope covers it. And a general contractor applicant needs one extra year on structures of four stories or more, which a building applicant does not. That sentence is why so many people end up with a CBC rather than the CGC they wanted.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The residential list asks for three of five areas, including wood framing and demolition, so framing a hundred houses gets you closer to a CRC than a CBC. Our page on the <a href=\"https:\/\/passcontractorexam.com\/articles\/residential-contractor-license-florida\/\">Florida residential contractor licence and its scope<\/a> covers that side.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/masonry-experience-florida-building-contractor-license-requirements-jpg.jpg\" alt=\"A mason checks a wall, showing the practical experience needed for florida building contractor license requirements.\" class=\"wp-image-647\" srcset=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/masonry-experience-florida-building-contractor-license-requirements-jpg.jpg 1376w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/masonry-experience-florida-building-contractor-license-requirements-jpg-300x167.jpg 300w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/masonry-experience-florida-building-contractor-license-requirements-jpg-1024x572.jpg 1024w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/masonry-experience-florida-building-contractor-license-requirements-jpg-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Structural experience in masonry and columns is essential for board approval.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-do-people-who-applied-for-a-cbc-actually-report\">What do people who applied for a CBC actually report?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Forum accounts are testimony, not rules, but they show where applications snag. We read two full Reddit threads and three further comments from at least five posters, dated July 2025 to July 2026. Paraphrased, this is what people report.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>In <a href=\"https:\/\/www.reddit.com\/r\/GeneralContractor\/comments\/1lvkohg\/general_contractor_application\/n26rliq\/\" target=\"_blank\" rel=\"noopener\">July 2025<\/a>, a CBC applicant said none of their commercial renovation work was counted, only new builds, and they were allowed to revise the application with more new build projects.<\/li>\n\n\n<li>In <a href=\"https:\/\/www.reddit.com\/r\/GeneralContractor\/comments\/1r7lbtg\/contractors_experience\/o5z4349\/\" target=\"_blank\" rel=\"noopener\">February 2026<\/a>, a poster passed on advice credited to a former board member: describe the work in the rule&#8217;s own terms, such as column erection and elevated slab.<\/li>\n\n\n<li>In <a href=\"https:\/\/www.reddit.com\/r\/GeneralContractor\/comments\/1uex2oh\/fl_gc_experience_requirements\/otnegnx\/\" target=\"_blank\" rel=\"noopener\">June 2026<\/a>, the same poster said experience is now self declared, with contractors listed as contacts, and that a CRC or CBC holder can upgrade to CGC after four years.<\/li>\n\n\n<li>In <a href=\"https:\/\/www.reddit.com\/r\/Construction\/comments\/1svq4df\/i_own_a_florida_construction_company_with_4_years\/\" target=\"_blank\" rel=\"noopener\">April 2026<\/a>, a small firm owner with four years in painting, HVAC, drywall and framing, mostly under a parent with an HVAC licence, asked how to get that verified for a CBC.<\/li>\n\n\n<li>In <a href=\"https:\/\/www.reddit.com\/r\/GeneralContractor\/comments\/1uo7y8d\/fl_gc_license_process\/\" target=\"_blank\" rel=\"noopener\">July 2026<\/a>, an applicant between GC and BC experience asked if the board would offer the lower licence. Replies put review at four to six weeks and said a downgrade is possible but not automatic.<\/li>\n\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Set against the rule text, the accounts mostly hold up. The rule does count alteration work, but a tenant fit out rarely involves a 20,000 square foot slab or steel erection, so a renovation heavy record struggles to reach four areas. The April 2026 case has the bigger gap: painting and drywall are not on the list, and time under an HVAC licence is not time under a contractor whose scope covers building work. The upgrade claim needs a correction: section 489.111(2)(c)4 sets four years for CRC or CBC to CGC, but three years for CRC to CBC. One July 2026 commenter cited June 2026 board minutes showing 9 of 30 applications approved; the DBPR server refused our requests for those minutes, so treat that figure as unconfirmed.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"how-are-the-building-contractor-exams-different-from-the-gc\">How are the building contractor exams different from the GC and RC papers?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">A building applicant sits the same three Division I parts as everyone else: Business and Finance, Contract Administration and Project Management. But the two trade papers are separate BC papers, not the GC papers with a different label. The DBPR&#8217;s <a href=\"https:\/\/www2.myfloridalicense.com\/servop\/testing\/documents\/const_cib.pdf\" target=\"_blank\" rel=\"noopener\">Candidate Information Booklet<\/a>, effective July 2024, lists them like this:<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Paper<\/th><th>Scored questions<\/th><th>Time<\/th><th>Minutes per scored question<\/th><\/tr><\/thead><tbody><tr><td>Business and Finance (all three licences)<\/td><td>120<\/td><td>6.5 hours<\/td><td>3.25<\/td><\/tr><tr><td>GC Contract Administration or Project Management<\/td><td>60<\/td><td>4.5 hours<\/td><td>4.5<\/td><\/tr><tr><td>BC Contract Administration or Project Management<\/td><td>50<\/td><td>4.5 hours<\/td><td>5.4<\/td><\/tr><tr><td>RC Contract Administration or Project Management<\/td><td>45<\/td><td>4.5 hours<\/td><td>6.0<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Scored questions and hours from the DBPR Construction Candidate Information Booklet, effective July 2024. Minutes per question is our arithmetic. Pilot questions are added on top, with extra time, and are not scored.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">So a BC candidate gets about 5.4 minutes a question, almost a minute more than a GC candidate, with the same books. The pass mark is 70 percent and the booklet says scores are not rounded, so 69.9 is a fail. Prep pages quote these papers at 50, 60 or 65 questions; none of them is the booklet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The books come from the DBPR&#8217;s <a href=\"https:\/\/www2.myfloridalicense.com\/servop\/testing\/documents\/GC%20BC%20RC%20CBT%20Reference%20List%20-%20Even.pdf\" target=\"_blank\" rel=\"noopener\">GC, BC and RC reference list valid January 2026 to December 2026<\/a>, one list shared by all three licences. It includes AIA A201 (2017), A401 (2017) and A701 (2018), the OSHA construction regulations at 29 CFR 1926 as of July 1, 2025, Principles and Practices of Commercial Construction, 11th edition, and the 2023 Florida Building Code volumes. Underlining and highlighting are allowed, handwritten notes and moveable sticky tabs are not. Our guide to <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-exam-tabs-highlighting-notes\/\">what you can and cannot mark in your exam books<\/a> goes through the tab rules, and <a href=\"https:\/\/passcontractorexam.com\/articles\/contract-administration-vs-project-management\/\">the difference between Contract Administration and Project Management<\/a> covers which books each paper leans on.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1376\" height=\"768\" src=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/exam-study-prep-florida-building-contractor-license-requirements-jpg.jpg\" alt=\"Study materials on a table highlight the exam prep for florida building contractor license requirements.\" class=\"wp-image-648\" srcset=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/exam-study-prep-florida-building-contractor-license-requirements-jpg.jpg 1376w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/exam-study-prep-florida-building-contractor-license-requirements-jpg-300x167.jpg 300w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/exam-study-prep-florida-building-contractor-license-requirements-jpg-1024x572.jpg 1024w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/exam-study-prep-florida-building-contractor-license-requirements-jpg-768x429.jpg 768w\" sizes=\"auto, (max-width: 1376px) 100vw, 1376px\" \/><figcaption class=\"wp-block-image__caption\">Passing three open-book exams is a core step in the licensing process.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1600\" height=\"900\" src=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-building-contractor-license-chart.png\" alt=\"Bar chart of minutes per question on the Florida building contractor license requirements exams against GC and RC\" class=\"wp-image-651\" srcset=\"https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-building-contractor-license-chart.png 1600w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-building-contractor-license-chart-300x169.png 300w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-building-contractor-license-chart-1024x576.png 1024w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-building-contractor-license-chart-768x432.png 768w, https:\/\/passcontractorexam.com\/articles\/wp-content\/uploads\/2026\/10\/florida-building-contractor-license-chart-1536x864.png 1536w\" sizes=\"auto, (max-width: 1600px) 100vw, 1600px\" \/><figcaption class=\"wp-block-image__caption\">4.5 hours divided by 60 scored questions for GC, 50 for BC and 45 for RC, from the DBPR Construction Candidate Information Booklet effective July 2024. Pilot questions carry extra time and are left out.<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-does-it-cost-to-sit-the-three-cbc-exams\">What does it cost to sit the three CBC exams?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">The DBPR <a href=\"https:\/\/www2.myfloridalicense.com\/servop\/testing\/documents\/exam_applic_pack.pdf\" target=\"_blank\" rel=\"noopener\">examination application pack<\/a>, revised 1 August 2024, sets the fees candidates actually pay. Every registration costs a $135 fee to Professional Testing, Inc., and Pearson VUE charges $80 for Business and Finance and $40 each for Contract Administration and Project Management. Building candidates register through the same two vendors in the same order, which our <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-general-contractor-exam-registration\/\">step by step guide to registering for the Florida contractor exams<\/a> lays out with the rule figures beside the pack.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Scenario<\/th><th>Professional Testing<\/th><th>Pearson VUE<\/th><th>Total<\/th><\/tr><\/thead><tbody><tr><td>All three parts, first sitting<\/td><td>$135<\/td><td>$80 + $40 + $40<\/td><td>$295<\/td><\/tr><tr><td>Retake Business and Finance only<\/td><td>$135<\/td><td>$80<\/td><td>$215<\/td><\/tr><tr><td>Retake Contract Administration or Project Management only<\/td><td>$135<\/td><td>$40<\/td><td>$175<\/td><\/tr><tr><td>Retake both trade papers in one registration<\/td><td>$135<\/td><td>$40 + $40<\/td><td>$215<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Worked from the fee lines in the DBPR examination application pack, revised 1 August 2024. Licence application and certification fees are separate.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Two cautions, written plainly. First, <a href=\"https:\/\/www.law.cornell.edu\/regulations\/florida\/Fla-Admin-Code-Ann-R-61G4-12-009\" target=\"_blank\" rel=\"noopener\">rule 61G4-12.009<\/a> still lists examination administration at $80 per test, so the rule and the pack disagree on the trade papers; the pack is what the vendors charge today, but check it before you pay. Second, the pack gives you four years from your first scheduled exam to pass every part, with unlimited attempts inside that window. Plan the order of your sittings around that window, not around the next free date at the test centre.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you have failed a part before, our guide to <a href=\"https:\/\/passcontractorexam.com\/articles\/failed-florida-contractor-exam\/\">what happens after a failed Florida contractor exam<\/a> covers the retake timing.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"what-does-the-board-need-from-you-after-the-exams\">What does the board need from you after the exams?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Passing all three papers does not hand you a licence. It gets you the right to apply for one. The application is form DBPR CILB 5-B, the <a href=\"https:\/\/www.flrules.org\/gateway\/reference.asp?No=Ref-17541\" target=\"_blank\" rel=\"noopener\">Application for Certified Building Contractor as an Individual<\/a>, in the July 2024 edition that <a href=\"https:\/\/www.flrules.org\/gateway\/ruleNo.asp?id=61-35.010\" target=\"_blank\" rel=\"noopener\">rule 61-35.010<\/a> adopts. The exams come with a whole prep industry attached. The paperwork comes with nobody, and it is the part that actually sits on a desk for weeks. Beyond your exam results, the form asks for five things.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th>Requirement<\/th><th>What the form asks for<\/th><th>Where it comes from<\/th><\/tr><\/thead><tbody><tr><td>Application fee<\/td><td>$245 if you apply between 1 May of an even year and 31 August of an odd year; $145 from 1 September of an odd year to 30 April of an even year<\/td><td>Form 5-B; rule 61G4-12.009(4)(a)<\/td><\/tr><tr><td>Fingerprints<\/td><td>Electronic fingerprints, mandatory under chapter 455 for every initial construction licence<\/td><td>Form 5-B<\/td><\/tr><tr><td>Liability insurance<\/td><td>$300,000 public liability and $50,000 property damage for general and building contractors; $100,000 and $25,000 for residential<\/td><td>Rule 61G4-15.003(2)(h)<\/td><\/tr><tr><td>Workers&#8217; compensation<\/td><td>A policy, an exemption filed with the Division of Workers&#8217; Compensation, or a promise to get an exemption within 30 days of the licence issuing<\/td><td>Form 5-B<\/td><\/tr><tr><td>Credit<\/td><td>A FICO derived score of 660 or higher and no unsatisfied judgments or liens; below 660, proof of a 14 hour board approved financial responsibility course<\/td><td>Rule 61G4-15.006(2)<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Read from form DBPR CILB 5-B (Eff. July 2024) and rules 61G4-15.003, 61G4-15.006 and 61G4-12.009, Florida Administrative Code, on 31 October 2026.<\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The fee split follows the calendar, not you. <a href=\"https:\/\/www.law.cornell.edu\/regulations\/florida\/Fla-Admin-Code-Ann-R-61G4-12-009\" target=\"_blank\" rel=\"noopener\">Rule 61G4-12.009(4)(a)<\/a> sets the initial certification fee at $200, cut to $100 when you pay in the second year of a biennium, and the form prices the whole application at $245 or $145 to match. On 31 October 2026 you are in the $245 window, which runs to 31 August 2027. Waiting ten months to save $100 is a real option only if you were not planning to work in those ten months.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The insurance minimums sit in a table in <a href=\"https:\/\/www.law.cornell.edu\/regulations\/florida\/Fla-Admin-Code-Ann-R-61G4-15-003\" target=\"_blank\" rel=\"noopener\">rule 61G4-15.003<\/a>: $300,000 liability and $50,000 property damage for a building contractor, the same as a general contractor and three times the residential figure. The credit line is in <a href=\"https:\/\/www.law.cornell.edu\/regulations\/florida\/Fla-Admin-Code-Ann-R-61G4-15-006\" target=\"_blank\" rel=\"noopener\">rule 61G4-15.006<\/a>, last amended effective 5 May 2024, and it says an applicant below a 660 FICO derived score meets the financial stability test by completing a 14 hour board approved course. Some pages still talk about posting a bond instead; the rule as published today mentions no bond. Our guide to <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-license-credit-score\/\">what the 660 credit score rule means below the line<\/a> walks through it.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Two smaller lines on the form are worth knowing before you fill it in. It counts one year of experience as 2,000 hours, so a part time record is measured in hours, not calendar years. And it lets you apply with the licence status set to inactive. An inactive applicant completes sections I to VI and IX only, and both the insurance section and the financial section are marked for active applicants only. That route suits someone who has passed the exams but is not ready to sign contracts yet.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"should-you-apply-for-a-cbc-a-cgc-or-a-crc\">Should you apply for a CBC, a CGC or a CRC?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Pick on the work you will actually take in the next few years, because changing category later means new trade papers. Houses up to two habitable stories: the CRC is the narrower fit. Small commercial jobs, apartment blocks up to three stories, or non structural remodels in tall buildings: the CBC. Four stories or more, site utilities or structural pools: only the CGC, with its extra year on four story buildings. Our guide to <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-general-contractor-license\/\">the Florida general contractor licence<\/a> covers that route, and the <a href=\"https:\/\/passcontractorexam.com\/articles\/florida-contractor-license-requirements\/\">full Florida contractor licence checklist<\/a> covers the credit, insurance and background check steps every certified applicant goes through.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">One rule does not bend. Work outside the scope of the licence you hold is treated as unlicensed for that job, however real the licence is. A CBC holder building a four story structure is not a slightly overstretched contractor in the board&#8217;s eyes, they are an unlicensed one for that project.<\/p>\n\n\n\n<div class=\"msq-tool msq-choose\" data-id=\"cbc-division-one-fit\">\n<h3>Which Division I licence covers what you plan to build?<\/h3>\n<p>Pick the description closest to the work you expect to take on. This reads only the statute&#8217;s scope definitions, not your eligibility.<\/p>\n<label><input type=\"radio\" name=\"cbc-division-one-fit\" value=\"homes\">Houses, duplexes or triplexes, no more than two habitable stories<\/label>\n<label><input type=\"radio\" name=\"cbc-division-one-fit\" value=\"small-commercial\">Small commercial buildings, offices or shops, up to three stories<\/label>\n<label><input type=\"radio\" name=\"cbc-division-one-fit\" value=\"apartments\">An apartment block or fourplex, up to three stories<\/label>\n<label><input type=\"radio\" name=\"cbc-division-one-fit\" value=\"remodel-tall\">Non structural remodels or repairs inside buildings taller than three stories<\/label>\n<label><input type=\"radio\" name=\"cbc-division-one-fit\" value=\"tall-new\">New buildings of four stories or more<\/label>\n<label><input type=\"radio\" name=\"cbc-division-one-fit\" value=\"site\">Site work beyond the building lot, utility mains or structural pools<\/label>\n<div class=\"msq-choice-result\" data-for=\"homes\" hidden><strong>Certified Residential Contractor (CRC).<\/strong> Section 489.105(3)(c) covers one, two or three family homes up to two habitable stories above one uninhabitable story. A CBC or CGC also covers it, with more paperwork for scope you would not use.<\/div>\n<div class=\"msq-choice-result\" data-for=\"small-commercial\" hidden><strong>Certified Building Contractor (CBC).<\/strong> Section 489.105(3)(b) covers commercial buildings that do not exceed three stories.<\/div>\n<div class=\"msq-choice-result\" data-for=\"apartments\" hidden><strong>Certified Building Contractor (CBC).<\/strong> The building definition covers multiple dwelling residential buildings up to three stories; the residential licence stops at three family homes.<\/div>\n<div class=\"msq-choice-result\" data-for=\"remodel-tall\" hidden><strong>Certified Building Contractor (CBC).<\/strong> The second clause of section 489.105(3)(b) covers remodeling, repair or improvement of any size building if the work does not affect structural members.<\/div>\n<div class=\"msq-choice-result\" data-for=\"tall-new\" hidden><strong>Certified General Contractor (CGC).<\/strong> Only the general licence is unlimited in height, and rule 61G4-15.001(2)(b) asks GC applicants for a year of experience on structures of four stories or more.<\/div>\n<div class=\"msq-choice-result\" data-for=\"site\" hidden><strong>Certified General Contractor (CGC).<\/strong> Section 489.113(3) limits CBC and CRC site work to the lot the building sits on and lets only a general contractor skip subcontracting structural pool work.<\/div>\n<p class=\"msq-note\">This chooser applies the scope wording in sections 489.105 and 489.113. It does not assess your experience, your exams or your chances of approval.<\/p>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"frequently-asked-questions\">Frequently asked questions<\/h2>\n\n\n<div id=\"rank-math-faq\" class=\"rank-math-block\">\n<div class=\"rank-math-list \">\n<div id=\"faq-q-1\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can a certified building contractor build a four story building?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>No. Section 489.105(3)(b) limits new construction to buildings that do not exceed three stories. A CBC can still do non structural remodeling, repair and improvement work in a building of any size.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-2\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can a CBC build single family homes?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes. The building contractor definition covers single dwelling and multiple dwelling residential buildings up to three stories, so houses, duplexes and apartment blocks within that height are in scope.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-3\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Does residential construction experience count toward a CBC?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>The rule asks for commercial construction experience in at least four of six structural areas, such as masonry walls, column erection and elevated slabs. Experience that is only residential framing will not usually meet that test.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-4\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Is the CBC exam easier than the CGC exam?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>The BC Contract Administration and Project Management papers have 50 scored questions each in 4.5 hours, against 60 for the GC papers, so there is more time per question. The reference list is the same for both.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-5\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Can I upgrade from a CRC to a CBC later?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>Yes. Section 489.111(2)(c)4.a lets an active certified residential contractor with at least three years of proven experience as a CRC obtain a CBC after passing the building contractor exams.<\/p>\n\n<\/div>\n<\/div>\n<div id=\"faq-q-6\" class=\"rank-math-list-item\">\n<h3 class=\"rank-math-question \">Do I have to retake Business and Finance to move from a CRC to a CBC?<\/h3>\n<div class=\"rank-math-answer \">\n\n<p>The DBPR booklet says candidates applying in an additional category may be exempt from retaking Business and Finance. Confirm your own exemption with the department before you register, because it depends on your record.<\/p>\n\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n\n\n<div class=\"msq-end\" id=\"ms-quiz-end\">\n<p><strong>Finished the page?<\/strong> The same five questions from the top, to see what stuck.<\/p>\n<button type=\"button\" class=\"msq-btn msq-start-test\">Test Your Understanding of This Article<\/button>\n<div class=\"msq-mount\"><\/div>\n<\/div>\n\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p class=\"wp-block-paragraph\"><em>Rules and fees change without notice. This page was verified on the date shown and is rechecked on the weekly refresh. If you hit something different, tell us in the comments.<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The CBC scope quoted from the statute, the six structural areas the board checks your experience against, the BC exam numbers from the DBPR booklet, and what applicants report.<\/p>\n","protected":false},"author":1,"featured_media":646,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","rank_math_title":"Florida Building Contractor License Requirements (CBC)","rank_math_description":"Florida building contractor license requirements are four years' experience, commercial work in four of six structural areas and three open book exams.","rank_math_focus_keyword":"florida building contractor license requirements","rank_math_canonical_url":"","rank_math_breadcrumb_title":"","rank_math_facebook_title":"","rank_math_facebook_description":"","rank_math_facebook_image":"","rank_math_twitter_title":"","rank_math_twitter_description":"","rank_math_twitter_image":"","rank_math_pillar_content":"","rank_math_robots":[],"rank_math_advanced_robots":[]},"categories":[4],"tags":[],"class_list":["post-649","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-licensing"],"_links":{"self":[{"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/posts\/649","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/comments?post=649"}],"version-history":[{"count":6,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/posts\/649\/revisions"}],"predecessor-version":[{"id":795,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/posts\/649\/revisions\/795"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/media\/646"}],"wp:attachment":[{"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/media?parent=649"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/categories?post=649"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/passcontractorexam.com\/articles\/wp-json\/wp\/v2\/tags?post=649"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}