North Carolina HVAC Permits: A Practical Guide for Contractors
Six license classes, a load-calc rule on every changeout, a code transition delayed indefinitely, and five metro AHJs that each run independently — here's what you need to know before the first job.
If you've worked HVAC in Tennessee or Georgia and you're moving crews into North Carolina, the first thing you'll notice is that NC doesn't have oneHVAC contractor license. It has six, partitioned by system type and tonnage, and the rules about which one you need are tighter than what you're used to. Add a state board that doesn't reciprocate with anyone except (narrowly) South Carolina, a building-code transition that's been postponed indefinitely, a load-calculation requirement on every equipment changeout, and a Hurricane Helene recovery that's still reshaping permitting in the western counties — and you've got a state where the contractors who pull permits cleanly are the ones who learned the rules before their first job, not after their first violation.
This guide walks through what HVAC contractors actually need to know to work in North Carolina in 2026. We've focused on the things that trip up out-of-state crews and the things that catch even experienced NC contractors when they cross into a new metro. Sources are listed at the end; everything that's likely to drift over time is flagged.
01.When you need a permit in North Carolina
North Carolina requires a mechanical permit for essentially any HVAC work that changes the system. The statutory anchor is NCGS § 87-21 (the licensing statute) combined with 21 NCAC Chapter 50 (the Board's administrative rules) and the NC State Building Code as adopted by the Building Code Council.
A mechanical/HVAC permit is required for:
- Any installation, extension, alteration, replacement, or general repair of a heating or cooling system
- Equipment replacement: furnaces, condensers, air handlers, package units, heat pumps
- Gas piping work and gas appliance installation (the H-group licenses include fuel piping privileges, so a separate fuel-piping permit isn't required for licensed HVAC contractors)
- Ductwork installation or modification beyond like-for-like
- Refrigeration systems, coils, freezers, coolers, and any commercial refrigeration equipment assembled on-site
A permit is NOT required for “minor repairs” under NCGS § 87-21 and 21 NCAC 50.0506. The statute is specific: minor repairs are replacements of parts that don't change the energy source, fuel type, or routing/sizing of venting or piping. The named parts are compressor, coil, contactor, motor, or capacitor. Refrigerant recharge, filter changes, and coil cleaning are also exempt.
The trap in the minor-repair carveout is the word “change.” Swapping a like-for-like evaporator coil is exempt. Swapping an evaporator coil for a higher-capacity coil is not — that's a system redesign, and it requires a permit. Same logic for a 40-gallon tanked water heater to a 50-gallon (permit required), or any conversion that crosses fuel types.
02.The NCBELHC and the H-Group licensing system
The licensing authority is the North Carolina State Board of Examiners of Plumbing, Heating, and Fire Sprinkler Contractors (NCBELHC) at 1109 Dresser Court, Raleigh, NC 27609, (919) 875-3612, nclicensing.org. The Board is created and empowered by NCGS Chapter 87, Article 2, and its rules live at 21 NCAC Chapter 50.
What makes NC structurally different from Tennessee (one CMC/CMC-C license tied to a $25K project-cost threshold) or Georgia (CAC Class I/II tied to project cost and building type) is that NC partitions HVAC licensing by what the system actually does — water-based vs. forced-air, and by tonnage on the forced-air side:
Heating Group 1 (H1) — water-based comfort heating
Covers “wet” heating systems: high or low-pressure steam, vapor, or hot-water comfort heating, including piping, ducts, and mechanical appurtenances.
- H1 Class I — any building (residential, commercial, industrial, institutional)
- H1 Class II — single-family detached residential dwellings only
This is the license for boiler shops, hydronic radiant work, and steam systems in older commercial buildings. Most metro shops outside the institutional sector don't carry it.
Heating Group 2 (H2) — forced-air HVAC over 15 tons
Forced-air heating/cooling systems with cooling capacity in excess of 15 tons. Commercial chillers, large rooftop units, big package equipment.
- H2 Class I — any building. (There is no H2 Class II — systems over 15 tons are inherently commercial scope.)
Heating Group 3 (H3) — forced-air HVAC 15 tons or less
Forced-air heating/cooling systems with cooling capacity of 15 tons or less. This is the workhorse residential and small-commercial license — split systems, package units, heat pumps, mini-splits.
- H3 Class I — any building
- H3 Class II — single-family detached residential dwellings only
Per 21 NCAC 50.0508, all single-family detached residential systems fall under H3 regardless of total refrigeration capacity — a useful catch-all for residential shops.
All three Heating Groups include fuel-piping privileges; no separate fuel-piping exam is required if you hold any H-group license.
Experience and exam path
To sit for the contractor exam in any H-group: 4,000 hours (2 years) of on-site full-time experience in the installation, maintenance, service, or repair of plumbing or heating systems related to the category sought — whether or not a license was required for that work. Up to half (2,000 hours, or 45 quarter / 30 semester hours) may be substituted with academic or technical training. Pre-approval from the Board is required before sitting for the exam.
The exams are administered by PSI. The trade exam is 90 questions over 4 hours; the Business and Law exam is 50 questions over 1.5 hours. Passing grade is 70%. Both exams are open-book — bring your reference materials. Fee structure: $25 application fee + $75 exam fee per trade exam attempt; the Business and Law exam fee is included in the trade exam fee on initial application.
Initial license fee and annual renewal: $125. All licenses expire December 31 of the issuance/renewal year. No state-mandated minimum financial, bonding, or insurance requirements at this time.
Continuing education varies by classification — verify on the Board's site for your specific license. The general pattern across H-group contractor licenses is 6 hours/year, with hours required on current code and on heating-related subjects.
03.Reciprocity, the Neighbor State Act, and the SC waiver
NC's reciprocity posture is unusually strict. The Board's own exam-information page is explicit: “There are no license reciprocity agreements with any other state.” That's not boilerplate; NC genuinely doesn't have general reciprocity with anybody.
There are two narrow exceptions, both worth knowing because they're often misunderstood:
The South Carolina Technical Examination Waiver
NC has a Technical Examination Waiver Agreement with South Carolina for plumbing and HVAC contractors. An applicant who already holds an active SC plumbing or HVAC contractor license can skip the NC trade exam — but must still pass the NC Business and Law exam. This is the only true “skip the trade exam” path into NC.
The Neighbor State License Recognition Act
NC also has a Neighbor State License Recognition Act covering applicants who hold current licensure in Georgia, South Carolina, Tennessee, Virginia, or West Virginia. The trap most contractors miss: this path requires the applicant to be a current permanent resident of North Carolina. Reading the Board's language carefully, it's a path for licensed contractors from neighbor states who have relocated to NC — not a cross-border work-authorization mechanism for crews that want to take occasional NC jobs while based in another state.
What this means for cross-border work
If your shop is based in TN, GA, SC, VA, or WV and you want to take NC jobs without relocating, you have one path: full NC licensure by examination. The Board's exam-information page leaves no room for ambiguity — without permanent NC residency or an active SC license, the trade exam is required.
A side note on the asymmetry: this is one-directional. SC and a few other states accept GA Class II licensure under their own reciprocity provisions. NC does not. Reciprocity in this region is not a network; it's a set of one-way streets.
04.The code in effect: 2018 NC Mechanical Code (and the indefinitely-delayed 2024 transition)
This is the section every NC contractor should bookmark, because there's active confusion in the field about which code is current.
The 2018 North Carolina State Building Code is the operative code statewide as of 2026. The NC Mechanical Code (NCMC) is based on the 2015 International Mechanical Code (IMC) with NC-specific amendments. It took effect January 1, 2019 and remains in effect.
The 2024 NC State Building Code was developed and adopted on schedule. It was originally slated to become effective January 1, 2025 under G.S. § 143-138(d). Then:
- S.L. 2024-57 (enacted December 11, 2024) delayed the effective date to July 1, 2025.
- S.L. 2025-2 (enacted March 19, 2025, as part of the Disaster Recovery Act of 2025 – Part 1, the Hurricane Helene response package) further delayed the 2024 Code: it now becomes effective 12 months after the State Fire Marshal certifies two conditions — that the Code Council and Residential Code Council have completed publication and distribution of the adopted 2024 Code, AND that the Residential Code Council is fully constituted under G.S. § 143-136.1.
As of NCBELHC's most recent update (November 11, 2025), those conditions have not been met. The earliest possible effective date for the 2024 Code is January 1, 2027, and even that date is unconfirmed pending the Residential Code Council appointments.
05.The load-calculation requirement on every changeout (21 NCAC 50.0505)
Of all the rules that catch out-of-state contractors in NC, this one catches the most people. It's a Board administrative rule, not a code provision, so it doesn't show up in the IMC search results contractors usually run.
21 NCAC 50.0505(f): “When either a furnace, condenser, package unit or air handler in an existing residential heating or air conditioning system is replaced, the licensed HVAC contractor or licensed technician is required to perform a minimum of a whole house block load calculation.”
This is on every changeout. Not just new construction. Not just full-system replacements. Replacing a condenser? Block load required. Replacing an air handler? Block load required. Furnace? Same.
21 NCAC 50.0505(e) goes further for new residential construction: a room-by-room load calculation (Manual J or equivalent) is required, performed by the licensee or by an NC-licensed Professional Engineer.
Record retention is six years. The licensee must maintain a copy of the load calculation in the job file, and provide a written record to the homeowner, owner, or general contractor on request.
A separate provision, 21 NCAC 50.0505(d), requires new residential systems to be designed and installed to maintain a maximum 4°F temperature differential room-to-room and floor-to-floor. Multilevel structures require either separate HVAC systems per floor or automatically controlled zoning with per-level thermostats. Manual dampers don't satisfy the requirement. This section is generally applied to new construction; some AHJ inspectors invoke it on replacements that materially redesign distribution, so worth being aware of when scoping a non-trivial retrofit.
06.Working in the major metros: a 5-AHJ comparison
NC permitting is not uniform across the state. Each major metro has its own portal, its own fee schedule, and its own quirks. The table below covers the five highest-volume metros for HVAC work.
| AHJ | Department | Portal & contact |
|---|---|---|
| Charlotte / Mecklenburg County | Mecklenburg County Code Enforcement (LUESA) | code.mecknc.gov · Accela Citizen Access · (980) 314-CODE · 2145 Suttle Ave, Charlotte, NC 28208 |
| Raleigh / Wake County | City of Raleigh Planning & Development (inside city limits); Wake County Permits & Inspections (unincorporated) | raleighnc.gov/permits · wake.gov/permits · Wake.Permitting@wake.gov |
| Greensboro / Guilford County | City of Greensboro Development Services (inside city limits); Guilford County Inspections (unincorporated + contracted towns) | greensboro-nc.gov + APRIL (336) 373-2400 · Guilford Civic Access |
| Durham (City + County) | Durham City-County Building & Safety Department | LDO Web Portal · permittechnicians@durhamnc.gov · (919) 560-4144 |
| Asheville / Buncombe County | Buncombe County Permits & Inspections (unincorporated + contracted towns); City of Asheville DSD (inside city limits) | Buncombe Accela ACA · (828) 250-5360 · 35 Woodfin St, Asheville, NC 28801 · Asheville PAC |
A few things that don't fit in a table but matter:
Charlotte / Mecklenburg is the only major NC metro with county-wide unified permitting — Mecklenburg Code Enforcement (LUESA) handles all permits in the county including inside Charlotte city limits. The county is mid-migration from its legacy POSSE/WebPermit system to Accela; as of April 24, 2025, new residential project applications must go through Accela. Free Accela account required. The $40K work-value exemption for permits does not apply to mechanical, electrical, or plumbing work — HVAC always requires a permit regardless of project value.
Raleigh and Wake County use the same permitting software but run as separate agencies with separate user accounts. The City of Raleigh's own portal help-center confirms this explicitly: a Wake County login will not work on the Raleigh portal. Register separately. Wake County also provides inspection services under contract to Knightdale, Rolesville, Wendell, and Zebulon — so a job in one of those towns goes through the Wake portal, not the town's.
Greensboro / Guilford is a parallel-agency situation similar to Raleigh / Wake. Greensboro Development Services handles permits inside Greensboro city limits, with inspections scheduled through the APRIL automated phone system (336-373-2400). Guilford County Inspections covers unincorporated Guilford plus contracted services for Jamestown, Oak Ridge, Pleasant Garden, Sedalia, Stokesdale, Summerfield, Whitsett, and the Piedmont Triad Airport Authority — through the Civic Access Public Portal. Note: residential non-structural work in Greensboro requires a permit only above $15,000 valuation (separate from the statewide $40K GC threshold), but mechanical/HVAC is excluded from the exemption.
Durham is the only major NC metro that operates a unified City-County Building & Safety Department. One agency, one set of inspectors, one portal — the Land Development Office (LDO) Web Portal. The wrinkle: contractors cannot self-register. A Client Identification (CID) account must be created by department staff before a contractor can register and access the portal. Email permittechnicians@durhamnc.govwith subject line “CID Permitting Account Needed” and include your contact details and construction license numbers. Plan for a multi-day account-setup delay on your first Durham job.
Asheville / Buncombe is a parallel-agency setup (Buncombe County for unincorporated and contracted towns; City of Asheville for inside city limits), plus an active Hurricane Helene recovery context. Helene made landfall in late September 2024 and inflicted catastrophic damage on Western NC. As of 2026, recovery permitting is still active:
- Buncombe County aims to process and issue emergency repair permits within one business day of submission
- Permits categorized as “Residential Remodeling Due to Hurricane Helene” have fees waived
- Floodplain rebuilds require additional elevation certificates and floodplain permits
- Buncombe processes inspections at a 75/day cap in the post-storm recovery; outlying contractors should expect longer scheduling windows than pre-storm
Buncombe also contracts inspection services to Biltmore Forest, Weaverville, and Woodfin. The Buncombe office is at 35 Woodfin St., Asheville, NC 28801 — note the address change from the older 30 Valley St. location that still appears in some pre-Helene documents. Permits and fees are not processed after 4 PM.
07.Typical timelines and inspection sequencing
The NC State Building Code (administered by OSFM and enforced locally by each AHJ) prescribes the inspection sequence; the timing varies materially by metro. The following ranges are typical for straightforward residential HVAC work in 2026; large commercial, multifamily, or new construction work runs longer.
Permit issuance:Same-day to 3 business days for a residential trade permit with no plan review (most changeouts). 10 business days for plan-review projects under 10,000 sf (Mecklenburg's published target); 15 days for larger commercial work. Greensboro targets a 60-day maximum review window on full plans.
Inspection scheduling: Most NC AHJs require requests by 8:00 PM the previous business day for next-day inspection. Greensboro's APRIL system enforces this strictly. Wake County, Mecklenburg, and Buncombe accept online scheduling through their respective portals.
Standard residential HVAC changeout inspection sequence:
- Permit issuance — confirm before starting work. Greensboro doubles the permit fee if work begins before issuance; other AHJs invoke similar penalties under local rules.
- Rough-in mechanical inspection (only if new ductwork is involved) — duct sizing, hanging, sealing at joints (mastic or UL 181-rated tape; standard cloth duct tape is not code-approved), combustion air provisions, equipment clearances.
- Final mechanical inspection — equipment installed per manufacturer instructions, gas connections leak-tested, venting correct material with proper slope and clearances, condensate drainage functional, thermostat operation verified, CO detectors installed (required by most NC AHJs near gas appliances), nameplate matches the permit. Bring the load calc (21 NCAC 50.0505).
Common changeouts (condenser-only, furnace-only, AHU-only) often need only the final inspection. Whole-system replacements with new ductwork typically need both.
Re-inspection feesapply on failures. Mecklenburg's hourly re-review fee on plan submissions is $145/hour after the second cycle; Buncombe and Wake have flat re-inspection fees in the $50–100 range.
08.Eight pitfalls that catch HVAC contractors in North Carolina
These are the specific failure modes that cost NC contractors money, time, or licensure — not the generic “pull your permits” advice that applies everywhere.
1. The H-Group trap. Crews moving from TN (CMC/CMC-C) or GA (CAC Class I/II) routinely don't realize NC partitions HVAC by system type and tonnage. A contractor with only an H3 license can't legally touch a 20-ton rooftop, even if the building is residential-adjacent (apartments over a certain unit count, mixed-use, etc.). The fix: scope every job against the H-group structure before mobilizing, not after the inspector pulls the permit application.
2. The load-calc rule on every changeout (21 NCAC 50.0505(f)). A whole-house block load calc on every furnace, condenser, package unit, or air handler replacement, retained in the job file for six years. This is uniquely NC. Out-of-state “lift and shift” SOPs don't produce this artifact, and Board complaint investigations regularly find missing load calcs on otherwise-clean jobs.
3. The Mecklenburg portal migration. Contractors with legacy WebPermit/POSSE logins discover they can't submit new residential work — those applications now route through Accela Citizen Access. Set up the free Accela account before your first 2026 Charlotte job, not when you're trying to pull a permit at 4 PM on a Friday.
4. The Raleigh-in-Wake jurisdiction line. Inside Raleigh city limits → City of Raleigh portal. Outside city limits in Wake County → Wake County portal. Same software, separate accounts. A common first-job-in-the-Triangle mistake is to register with Wake assuming it covers Raleigh; it doesn't. (Knightdale, Rolesville, Wendell, and Zebulon route through Wake; the other Wake municipalities have their own systems.)
5. Greensboro's APRIL system and the double-fee penalty. Inspection scheduling in Greensboro requires a touch-tone call to 336-373-2400 with the permit number and contractor PIN — not a web portal. Requests must be in by 8 PM the previous business day. And Greensboro doubles the permit fee if work begins before permit issuance, a penalty that's enforced consistently.
6. Durham's CID account gate. Contractors cannot self-register on Durham's LDO Web Portal. A Client Identification account must be issued by department staff via emailed request to permittechnicians@durhamnc.gov. Account setup runs 1–3 business days. Plan for this delay before bidding a Durham job with a tight start date.
7. The 2024 NC Code mirage. AHJ staff, supply-house counter people, and even some inspector-training materials may reference the 2024 NC State Building Code as though it's active. As of 2026, it is not. The 2018 NC Code remains the enforced statewide standard, and the earliest possible 2024 effective date is January 1, 2027 — unconfirmed. Don't accept job specifications that reference 2024 Code provisions; verify against OSFM's Codes – Current and Past page.
8. The reciprocity asymmetry — both directions. Crews from GA, SC, TN, VA, or WV who aren't permanent NC residents can't use the Neighbor State Act. The SC Technical Exam Waiver is the only true “skip the trade exam” path, and even it requires passing the NC Business and Law exam. And going the other way: an NC license does not reciprocate INTO any of the surrounding states either. Plan licensure as a permanent investment per state, not a one-way recognition.
09.Staying organized across NC jurisdictions
If you work in two or three NC metros, you're already managing several portals with different account systems, different inspection-scheduling mechanisms (Accela, Civic Access, LDO, the City of Raleigh portal, Greensboro's APRIL phone system), different fee structures, and different inspection sequences. Add the 21 NCAC 50.0505 load-calc retention requirement (six years per job), the H-group constraints on which crews can run which jobs, and the post-Helene context in the west — and the cognitive overhead of just tracking what permit is in what state on which portal becomes a real operational cost.
The shops that handle this well share a pattern. They:
- Centralize permit status across all jurisdictions in one place, so a crew lead can see what's pulled, what's pending, and what's awaiting final inspection without logging into multiple portals
- Tie each permit to the job, the equipment installed, the load calc, and the inspection outcomes — one record, not five spreadsheets
- Keep load calcs retrievable on demand for the six-year statutory window, not buried in a project folder on someone's laptop
- Track which crews hold which H-group classifications and gate work assignment by license scope, automatically
This is what Copperline is built for: the job, the permit, the equipment, the inspection history, and the customer record live in one place, so when an inspector calls about a job from 14 months ago, you're not searching three systems for the answer. We're in waitlist mode while we finish onboarding our first cohort of HVAC shops — if that sounds like the kind of thing you've been hand-rolling in spreadsheets, get on the list.
Built to keep this stuff visible.
Copperline is a field service management tool for HVAC shops with permit and inspection tracking built into the core, not bolted on. Load calc retention, H-group crew gating, multi-portal job tracking — visible on a single screen. Used by shops in Tennessee and Georgia.
Join the waitlistBe first in line when we open up. No credit card.
10.Sources & references
Statutory and regulatory
- NCGS § 87-21 — Definitions; contractors licensed by Board; minor repair exemption — ncleg.gov
- NCGS Chapter 87, Article 2 (full text) — ncleg.gov
- 21 NCAC Chapter 50 (Board Rules — Plumbing, Heating, and Fire Sprinkler Contractors) — reports.oah.state.nc.us
- 21 NCAC 50.0505 — General Supervision and Standard of Competence (load calc requirement) — nclicensing.org
State Board (NCBELHC)
- NCBELHC home page — nclicensing.org
- NCBELHC Exam Information (reciprocity, exam structure, eligibility) — nclicensing.org/exam-information
- NCBELHC License Definitions (H1/H2/H3 and Class I/II scope) — nclicensing.org License Definitions PDF
- NCBELHC 2024 Code Effective Date Update, November 11, 2025 — nclicensing.org update PDF
Building code
- NC OSFM Codes — Current and Past — ncosfm.gov/codes
- NC OSFM Press Release on 2024 Code Delay, April 7, 2025 — ncosfm.gov press release
AHJs
- Mecklenburg County Code Enforcement — code.mecknc.gov
- Mecklenburg County Accela Citizen Access — aca-prod.accela.com/Mecklenburg
- City of Raleigh Permit and Development Portal Help Center — raleighnc.gov
- Wake County Permits and Inspections — wake.gov
- City of Greensboro Permits, Fees, and Procedures — greensboro-nc.gov
- Guilford County Inspections (Civic Access Public Portal) — guilfordcountync.gov
- Durham City-County Building & Safety — durhamnc.gov + LDO Web Portal
- Buncombe County Permits & Inspections — buncombenc.gov
- City of Asheville Development Services Department — ashevillenc.gov