A painting contractor can quote a job at a "30% gross margin" on paper and still lose money on it. The reason almost always comes down to two missing numbers: the true burdened labor rate per crew hour, and the hours actually spent on prep work versus the hours the estimator wrote on the bid sheet.
Painting is a labor-heavy trade. On a typical interior repaint, paint and sundries rarely exceed 15-20% of the sell price. Everything else—the difference between profit and loss—lives inside how you track crew hours, allocate overhead, and reserve for the callbacks you will absolutely receive. This guide walks through how an independent painting operator should structure their books so that bids, job costs, warranty reserves, and lender-ready KPIs all reconcile to the same general ledger.
Why Painting Margins Look Big and Disappear Fast
Industry data consistently shows painting contractors running gross margins of 40-55%, with a target net margin somewhere between 8% and 22% depending on the mix of new construction, residential repaint, and commercial work. That spread between gross and net is where most of the painful surprises live.
The three structural problems that quietly destroy painting margins:
- Prep time gets folded into "labor" without being measured. A surface that needs caulking, two coats of patch, sanding, and primer is not the same job as a one-coat refresh. If the estimator priced an 8-hour day and the crew spent 6 hours on prep alone, the finish-coat hours got eaten before they started.
- The burdened labor rate is wrong. Owners price off the $25/hour wage they pay a painter, not the $35-$42 it actually costs once you add payroll taxes, workers' comp, general liability, vehicle costs, and PTO. That 30-40% gap eats the gross margin before overhead even shows up.
- Callbacks aren't reserved for. A 1-year workmanship warranty on every job creates a future obligation that nobody books today. Then six months in, a crew gets pulled off a billable Tuesday to touch up a peeling soffit, and that day's labor disappears without a corresponding revenue offset.
A bookkeeping system that solves these three problems is what separates painting contractors who scale from the ones who hit a wall at $1.5M revenue.
Setting Up a Painting-Specific Chart of Accounts
The chart of accounts is where job costing either works or it doesn't. Generic small-business templates don't separate the line items that matter to a painter.
Revenue Accounts (Separated by Job Type)
Mixing revenue streams hides the fact that one of them is unprofitable. Break revenue into at least:
- Residential Repaint Revenue — homeowner-direct, highest margin, marketing-cost heavy
- Residential New Construction Revenue — builder-billed, lowest margin (8-15% gross), payment terms 60-90 days
- Commercial Repaint Revenue — property managers, retail, offices, often after-hours premium
- Commercial New Construction Revenue — GC-billed, retention held, lien rights critical
- Cabinet and Specialty Finish Revenue — high-margin specialty work that justifies separate pricing
When the income statement is built this way, you can immediately see that the builder-account work that "keeps the crews busy" is also the work that drags blended margin down by 8-10 points.
Cost of Goods Sold (Direct Job Costs Only)
COGS should contain only costs directly traceable to a specific job:
- Direct Labor — Prep Hours
- Direct Labor — Surface Repair Hours (caulk, patch, sand, primer)
- Direct Labor — Finish Coat Hours
- Paint and Coatings (track by manufacturer for rebate tracking)
- Sundries (rollers, tape, plastic, drop cloths, brushes)
- Subcontracted Labor (1099 crews, drywall repair, pressure washing)
- Equipment Rental (lifts, scaffolding, sprayers on rent)
- Job-Specific Permits and Disposal Fees
- Lead-Safe Compliance Costs (HEPA filters, plastic sheeting, dust testing)
Splitting prep, repair, and finish-coat hours is not bookkeeping pedantry. It is the only way to back-test whether your estimates were realistic. If three out of five jobs ran 40% over on prep hours, the bid template is broken and the estimator needs new assumptions.
Operating Overhead (Below the Gross Profit Line)
Truck depreciation, shop rent, office salaries, marketing, software subscriptions, and owner compensation all belong below the gross profit line. Putting them in COGS makes every job look unprofitable. Putting them in overhead and allocating them through a per-hour overhead rate gives you a real number for bidding.
Bidding and Job Costing: Make Prep Hours Visible
The single most useful change a small painting contractor can make is to estimate jobs in three labor buckets instead of one.
A Three-Bucket Labor Estimate
For every bid, the estimator predicts:
- Prep hours — masking, moving furniture, covering floors, drop cloths
- Surface repair hours — caulking, hole patching, sanding, priming
- Finish coat hours — actual painting, cut-in, rolling, spraying
Then the crew lead logs actual hours against the same three buckets at job close. The variance report writes itself, and over 20-30 jobs you learn whether your estimate templates are systematically optimistic on prep (the most common error).
Calculating Your True Burdened Labor Rate
A burdened labor rate is the all-in hourly cost of a crew member. The formula:
Burdened Rate = (Hourly Wage + Employer Taxes + Workers' Comp +
General Liability Allocation + Health Insurance +
PTO Accrual + Vehicle Allocation) / Productive HoursFor a painter you pay $25/hour, the realistic burdened number lands at $35-$42/hour in most states. Workers' comp alone for painting class codes runs 6-12% of payroll in many jurisdictions because of fall exposure. If your bids assume a $25 labor cost and the truth is $38, you are giving away a third of your gross margin without knowing it.
Adding the Overhead Recovery Rate
Once you know the burdened labor rate, layer in overhead recovery:
Overhead Recovery Rate = Total Monthly Overhead / Total Billable Crew HoursIf your overhead is $30,000/month and you bill 1,200 crew hours, every billable hour needs to absorb $25 of overhead. Add that to the $38 burdened rate, and you need to charge at least $63/hour just to break even—before any profit. That is why $50/hour residential rates quietly bankrupt operators who think they are pricing competitively.
EPA Lead-Safe Renovation, Repair, and Painting (RRP) Rule Compliance
Any painting work that disturbs more than 6 square feet of interior paint or 20 square feet of exterior paint in housing or child-occupied facilities built before 1978 triggers the federal RRP rule. This is one of the most aggressively enforced compliance regimes a painting contractor will encounter.
What the RRP Rule Actually Requires
- Firm certification with EPA (renewed every 5 years, fee paid to EPA)
- At least one Certified Renovator on staff who has completed an 8-hour EPA-accredited training course
- Pre-renovation distribution of "Renovate Right" pamphlet to the owner and occupants, with documented acknowledgment
- Lead-safe work practices: containment, no high-speed sanders without HEPA attachments, daily cleanup verification with a cleaning verification card
- Records retained for 3 years showing certification, training, owner acknowledgment, and work practice compliance
How RRP Shows Up in Your Books
Every pre-1978 residential job carries hidden costs that need their own line items:
- Containment supplies — 6-mil poly, tape, signage (job-coded as a sundry)
- Certified renovator labor premium — your certified renovator must be on-site or supervising; this is not a $25/hour task
- Cleaning verification time — typically 30-90 minutes of additional crew time per work area
- Dust testing or third-party clearance (in some states with stricter rules)
- Documentation overhead — administrative time to file pre-renovation forms
A common mistake is to bid an RRP job at the same labor hours as a non-RRP job. Real-world RRP overhead adds 15-25% to labor hours on a pre-1978 dwelling. That overhead is real, it is statutory, and it must be priced in.
Penalties Are Not Theoretical
EPA fines for non-compliance can exceed $40,000 per violation per day. Operating uncertified in a pre-1978 home that gets reported is a business-ending event. Track which jobs are pre-1978 in your CRM, and refuse those jobs in writing if you are not RRP-certified. Don't let a sales rep slip one through.
Reserving for Callbacks and Workmanship Warranties
Most painting contractors offer a written workmanship warranty of 1 to 3 years for interior work and 2 to 5 years for exterior work. That promise creates a real future liability. Under the matching principle, the expense must be recognized in the same period as the revenue—not when the crew shows up to fix a peeling spot eighteen months later.
Setting Up the Warranty Reserve Account
Create a liability account called Warranty Reserve and an expense account called Warranty Expense — Callbacks.
For each completed job, accrue a warranty reserve. A reasonable starting estimate, validated against historical callback data, is 1.5-3% of revenue. The journal entry:
DR Warranty Expense — Callbacks $X
CR Warranty Reserve (liability) $XWhen the crew actually performs callback work, charge it against the reserve, not against current-period income:
DR Warranty Reserve $Y
CR Direct Labor — Callback Hours $Y
CR Paint and Sundries — Callbacks $YOnce a quarter, true up the reserve. If actual callbacks run consistently below your accrual rate, reduce the percentage. If a particular product line (cheap exterior latex on a south-facing wall, say) is generating disproportionate callbacks, raise that product's accrual rate—or stop using it.
Tracking Callback Root Causes
The reserve only tells you how much you are spending on warranty work. It doesn't tell you why. Add a job-code or memo field to callbacks tracking root cause:
- Surface prep failure (didn't sand, didn't prime)
- Wrong product (interior paint on exterior, contractor-grade where premium was needed)
- Substrate issue (moisture, settling, prior coating compatibility)
- Customer expectation mismatch (color, sheen, coverage assumption)
After 50 callbacks the pattern is unmistakable, and the fix is usually a training change or a product substitution—not a process problem.
Separating Builder Accounts from Retail Repaint
If your books mix new-construction builder revenue with retail repaint revenue, your gross margin number is a lie. Builder accounts run at 8-15% gross margin with payment terms of 45-90 days and retention held until punch-out. Retail repaint runs at 30-50% gross margin with payment on completion.
Why It Matters
A painting contractor doing 60% builder work at 12% gross and 40% retail at 40% gross sees a blended 23% gross margin that hides the fact that the builder work is at-cost or near-cost. Cutting the builder work and replacing those crew hours with retail at half the volume would actually grow net profit.
How to Separate It in the Books
- Distinct revenue accounts per job type (covered earlier)
- Distinct receivable aging buckets (builder AR runs 60+ days, retail runs 0-15)
- Job-coded estimator/sales rep so you know who is bringing in which revenue mix
- Separate sales commission rates that reflect the underlying margin (commissioning builder work at the same rate as retail incentivizes the wrong behavior)
Accurate bookkeeping from day one makes these trade-offs visible. The owner who can see "builder revenue ran 11% gross last quarter on $400K of work" can make a rational decision about whether to keep that pipeline. The owner who only sees the blended number can't.
Crew Productivity KPIs That Lenders and Acquirers Actually Look At
If you ever plan to sell your painting business, borrow against it, or recruit a sales partner, three KPIs come up in every conversation.
1. Effective Billable Hour Rate
The rate every billable crew hour actually returned to the business. The formula:
Effective Billable Rate = Total Job Revenue / Total Billed Crew HoursIf your effective rate is $52/hour and your true burdened-plus-overhead breakeven is $63/hour, you are losing money on labor every day. Healthy independent painting contractors target $65-$95/hour on residential repaint and $75-$110/hour on commercial.
2. Billable Hour Utilization
The ratio of billable crew hours to total paid crew hours:
Utilization = Billable Crew Hours / Total Paid Crew HoursTotal paid hours include drive time, shop time, warranty work, idle days, and meetings. Industry guidance puts the breakeven at 80% or higher. Below 70% utilization, you cannot run a profitable painting company at any billable rate, because the unbilled hours eat the margin.
3. Gross Margin per Job Type
Lenders want to see margin reported separately by revenue stream. Be ready to show:
- Residential repaint gross margin
- Commercial repaint gross margin
- Builder/new construction gross margin
- Specialty (cabinet, deck, multi-color) gross margin
A buyer or banker who sees one blended number assumes you don't actually know your business. The contractor who shows margin by stream, validated by job-costing variance reports, gets the loan or the multiple.
Supporting Metrics Worth Tracking
- Estimate-to-actual hours variance by job type (target: within 10%)
- Average ticket size trending over 12 months
- Customer acquisition cost by lead source (Google, referral, builder account)
- Repeat and referral revenue percentage (above 40% is healthy)
- Callback rate as percentage of completed jobs (target: under 5%)
Common Bookkeeping Mistakes Painting Contractors Make
A short list of the errors that show up over and over in independent painting operations:
- Treating the truck and gas as overhead instead of direct cost. Vehicle expenses tied to a specific crew should be allocated as direct cost so per-job profitability is honest.
- Booking deposits as revenue. A 50% deposit on a $10,000 repaint is not income—it's customer deposit liability until work begins. Recognize revenue as work is performed (percentage-of-completion or completed-contract, depending on job size).
- Mixing sales tax into revenue. Sales tax collected on paint sold to the customer is a liability owed to the state, not your income. Many states have specific rules on whether labor, paint, or both are taxable. Check your state.
- Not capitalizing sprayers and lifts under Section 179. A new airless sprayer, scaffolding system, or used boom lift can be expensed in the year of purchase under Section 179 for amounts up to the annual limit. Track equipment purchases separately.
- No mileage log for personally-owned vehicles. If the owner uses a personal truck for site visits, mileage must be logged contemporaneously. The IRS standard mileage rate is significant money on a 15,000-mile year, but only if there's documentation.
Keep Your Painting Books Audit-Ready and Insight-Ready
The painting contractors who scale past the owner-operator stage are not the ones with the best brushes. They are the ones who track prep hours, burdened labor, callback rates, and per-job-type margin with the same discipline they apply to drop cloths and tape. Plain-text accounting fits this trade unusually well because every job, every callback, and every reserve adjustment becomes a readable, version-controlled record you can audit decades later.
Beancount.io provides plain-text accounting that gives painting contractors complete transparency over job costs, labor allocation, warranty reserves, and KPIs—no black boxes, no vendor lock-in, and a clean audit trail every lender or acquirer will respect. Get started for free and see why finance-minded trade operators are switching to plain-text accounting. For deeper technical guides, see the docs, or explore Fava for visual dashboards over your ledger.