Your crew just spent three hours on a 22-vent colonial, plus a dryer vent add-on and a sanitizer treatment — and you have no idea whether that job made $180 or $480. If your invoice says one flat number and your books say one flat deposit, you are running a cleaning business on vibes. In a trade where the difference between profit and charity is $35 a vent and a $145 dryer-vent upsell, that guesswork is the most expensive tool you own.
How Duct Cleaning Pricing Actually Works
Before the bookkeeping makes sense, the pricing has to make sense. Residential duct cleaning typically prices three ways, and most operators mix them:
- Per vent (register): roughly $25 to $50 per supply vent, averaging around $35. Return vents run higher — some operators charge around $75 for returns because of size and access. A 12-to-18-vent home lands around $375 to $600; larger homes with 18 to 25 vents run $550 to $850, more with mold, vermin debris, or heavy contamination.
- Flat fee plus per-vent: a base trip charge covering the first 8 to 10 registers, then $10 to $35 per additional vent. This is the most common honest structure because it guarantees the truck roll is covered before vent count enters the math.
- By square footage: roughly $0.15 to $0.30 per square foot of conditioned space. Useful for quoting over the phone, dangerous as your only method — two identical 2,000-square-foot homes can have 12 or 24 vents.
Dryer vent cleaning is the natural add-on: typical residential jobs run $100 to $200, averaging around $145, with price climbing for second-floor laundry rooms, long runs, and roof terminations that need ladder work.
Pick one quoting method and cost against it
The bookkeeping mistake starts at the quote. If you quote flat-fee-plus-per-vent but record revenue as one lump sum, you can never answer the only pricing question that matters: what did we actually earn per vent on this job? Record the base fee and the per-vent count as separate line items on every invoice. It takes ten extra seconds and it is the raw material for everything below.
Know Your Real Cost Per Job
A duct cleaning job has four cost buckets. Miss one and your "profitable" $450 job quietly isn't.
1. Labor and drive time
Most residential jobs take two techs two to four hours including setup, teardown, and drive time. Loaded labor cost (wages plus payroll taxes, workers' comp, and any benefits) for the crew, divided by vents cleaned, is your labor cost per vent. Track drive time separately from wrench time — a route with three jobs across town has a very different margin than three jobs on one street, and your books should show it.
2. Equipment: the vacuum rig is the business
Startup costs tell the story of this trade's two tiers:
- Portable/owner-operator setups run roughly $6,000 to $50,000 all-in: a rotary brush-and-vacuum package (around $9,000 for a current-generation unit), compressor, hoses, cameras, ladders, and a van or trailer to haul it.
- Truck-mounted vacuum systems, pulling up to roughly 15,000 CFM of negative air, cost multiples of that — the truck, the power plant, and the custom install.
Dryer-vent-only add-on capability is the cheap end at roughly $2,000 to $15,000. That spread is exactly why dryer vent service is the highest-return upsell in the trade: the marginal equipment cost is near zero once you own the core rig.
For the books, every major component gets its own fixed-asset record with placed-in-service date and cost — the negative-air machine, the compressor, the inspection camera, the vehicle. Section 179 lets many small businesses expense qualifying equipment purchases in the year of purchase rather than depreciating them over years, and heavy work vehicles can qualify for generous first-year treatment — but limits, phase-outs, and business-income restrictions change, so model the decision with your tax preparer before you assume a full write-off. What you must never do is expense a $9,000 machine as "supplies" in the month you buy it without recording the asset: your year-one profit looks terrible, years two through seven look artificially great, and you cannot track return on the equipment either way.
Keep a maintenance reserve per job — hoses wear, brush heads wear, HEPA filters are consumables. A flat $10 to $20 per job moved into a reserve account turns a surprise $600 blower repair from a crisis into a budget line.
3. Consumables and disposables
Sanitizer and antimicrobial treatments, shoe covers, drop cloths, register bags, furnace filters you replace as courtesy — small per job, meaningful per month. Book them to a Cost of Goods Sold account (job supplies), not general office expense. If sanitizer upsells are a revenue line, their chemical cost belongs right beneath that revenue line so the gross margin on the upsell is visible.
4. Customer acquisition
Duct cleaning lives on lead generation: home-service marketplaces, search ads, mailers, and the "whole house $99" coupon economy. Track marketing spend per booked job by source. If one channel delivers $420 average tickets and another delivers $199 bargain-hunters who decline every upsell, that is not a marketing opinion — it is arithmetic your books already contain if you tag the source on each invoice.
The NADCA Line Item: Certification as a Priced Asset
The National Air Duct Cleaners Association runs the trade's credential ladder: the Air Systems Cleaning Specialist (ASCS) exam-based certification for technicians, the Certified Ventilation Inspector (CVI) advanced credential that requires an active ASCS first, and the Ventilation Maintenance Technician (VMT) program for newer techs. Training courses run a few hundred dollars per person (member pricing is lower than non-member), ASCS renews annually with continuing-education requirements, and CVI renews every three years — plus company membership dues.
Book certification as training investment, not overhead trivia:
- Put dues, exam fees, course costs, and travel in a dedicated Certifications & Training account.
- Then watch what it buys. Certified operators consistently command the top half of the price range while bait-and-switch coupon operators race to the bottom — and state consumer-protection offices regularly warn homeowners about whole-house-cleaning offers priced impossibly low. Your credential is the documented reason your $35-per-vent quote beats their $99-whole-house quote, and it belongs in your quotes, your website, and your review responses.
The EPA's own guidance backs the honest pitch: the agency says to clean ducts only when they are visibly contaminated with substantial mold growth, pests or vermin, or clogged with heavy dust and debris — and advises homeowners to demand to see contamination and get lab confirmation of mold rather than taking a scare-tactic diagnosis at face value. An operator who shows camera footage, cites that standard, and walks away from unnecessary work earns the review that books the next ten jobs. An operator who "finds mold" in every home earns a complaint record. Your books cannot fix your ethics, but they can prove your model: track close rate and average ticket on camera-documented quotes versus blind quotes and the honest approach wins on paper.
Upsell Revenue Deserves Its Own Lines
The base duct cleaning gets you in the door. The profit walks in behind it:
| Add-on | Typical price band | Why it matters |
|---|---|---|
| Dryer vent cleaning | $100–$200 | Near-zero marginal equipment cost; fire-safety story sells itself |
| Sanitizer/antimicrobial treatment | $50–$150+ | Chemical cost is small; margin is excellent if applied honestly |
| Camera inspection | $0–$100 (often free as diagnostic) | Converts skeptics; document it and track the conversion lift |
| Furnace filter replacement | Parts + markup | Recurring reminder that puts you back in the home |
| Return-vent premium | ~$75 each | Price it separately instead of averaging it away |
Create a separate income account for each add-on. Then compute the upsell attach rate: the percentage of base jobs that include at least one add-on, and the upsell revenue per job. A crew at 20% attach and a crew at 55% attach are running different businesses at the same base price — and now you know which crew to ride along with, what to coach, and what the coaching was worth when the number moves.
Resist bundling everything into one "deluxe package" price on the invoice. Bundle on the quote if you must for marketing, but break out the components on the invoice and in the books. Bundled revenue hides which services carry the margin and which are passengers.
The KPIs That Run a Duct Cleaning Operation
- Revenue per vent: total job revenue divided by vents cleaned. Compare against your $25–$50 target band every week.
- Revenue per tech-hour: total revenue divided by crew-hours including drive time. This is your scheduling scoreboard — it punishes scattered routes automatically.
- Upsell attach rate and upsell revenue per job: as above; the fastest margin lever you have.
- Callback and complaint rate: callbacks cost a full truck roll against zero revenue. Anything above 2–3% means quality or quoting-scope problems — callbacks cluster around jobs where contamination scope was underestimated, which is a quoting checklist fix.
- Revenue per truck per day: the capacity metric. One rig, one crew, one day — when this plateaus, you have proven the case for the second rig (and its Section 179 math) instead of guessing.
Common Bookkeeping Mistakes in This Trade
- One-line invoices. "Duct cleaning — $450" tells future-you nothing. Itemize base, vents, and add-ons.
- Mileage amnesia. Multiple short hops per day add up to real deductible mileage. Log odometer readings per job or run a GPS mileage app — the standard mileage rate on 15,000 service miles is real money left on the table without a log.
- Personal-truck blending. If the van hauls kids on weekends, keep a mileage log that separates business from personal use. Commuting from home to the first job is generally not deductible; driving between jobs is. The log is the whole ballgame in an audit.
- No seasonal reserve. Duct cleaning is seasonal — shoulder seasons and holiday months dip while insurance, loan payments, and phone bills do not. Sweep a fixed percentage of peak-month revenue into a separate reserve account so December-you isn't financing the business on cards.
- Cash deposits without job matching. Every deposit gets matched to invoices the same week. Unmatched cash is how revenue goes unreported by accident — and "by accident" is not a defense that survives an audit.
- Treating techs' 1099 status as a vibe. Misclassifying W-2 employees as 1099 contractors to skip payroll taxes is one of the most penalized small-business errors across the trades. If you set their schedule, routes, and methods, they are very likely employees. Get the classification right before your first hire, not after your first notice.
Simplify Your Financial Management
When every job has a different vent count, add-on mix, and drive-time footprint, clean per-job books are what turn a busy schedule into an actual profit. Beancount.io provides plain-text accounting that gives you complete transparency and control over your financial data — no black boxes, no vendor lock-in. Get started for free and see why developers and finance professionals are switching to plain-text accounting.