Job costing software for painting contractors
Painting is mostly labor, billed by the area, the floor or the unit. Touch up after other trades is where the margin goes. CFOS ties QuickBooks Online costs to your estimate so you can see what each coat, floor or unit cost.
We email you when CFOS for QuickBooks opens, plus a few updates before then. Your address stays with Run On CFOS. One click unsubscribes.
30 days free, a 90-day money-back guarantee, and cancel anytime. It opens January 2027. We email you the day it opens.
How painting bills and where the money leaks
Commercial painting bills a schedule of values each month, usually by floor, building or area, with retainage. Multifamily repaint and turnover work bills per unit at a set price, and maintenance contracts bill as the work is done. Specialty coatings like epoxy floors, intumescent fireproofing and wallcovering are often priced on their own lines, since the labor and material are nothing like wall paint.
Most of the money leaks after the first coat. Your crew primes and puts on the first coat, then other trades scuff, patch and cut into the walls before the final coat. Every trip back for touch up costs labor, and the GC sees it as part of your contract unless someone signs for it.
Color changes and areas that aren't ready are the other leaks. A tenant who changes an accent color after it's on the wall means another coat and sometimes another primer. A crew sent to a floor where the drywall finish isn't done is paid to wait or sent home, and both cost you a day.
How painting costs split and what CFOS tracks
Painting cost is mostly labor, with paint, primer, sundries like tape, plastic and caulk, lifts and scaffolds, and sometimes subcontracted wallcovering or coatings. Production rates differ by substrate and height, so a corridor full of doors and frames costs more per square foot than an open wall. Labor tracked by area and by coat tells you which part of the bid was wrong.
CFOS imports your estimate as the job budget by cost code and compares it to actual cost from QuickBooks Online every hour. Labor burden is set by class, so a journeyman painter's hour and an apprentice's hour cost what they really cost. On per unit work, each unit or each building can be its own code, so you can see the units that took longer.
Vendor bills emailed to your bills inbox are read, coded to the job and checked against the PO, so paint store bills don't end up charged to overhead. Equipment daily rates charge your own lifts, sprayers and trucks to the job each day they're on a daily. Rented lifts come in on the vendor bill and get coded the same way.
Workflow from the field to the office
The foreman files a daily with the crew, the equipment and photos. Pictures of finished walls before other trades come back through are the record you need when touch up becomes a dispute. The daily also notes areas that weren't ready, and the trades still working in them.
When the GC directs touch up of damage by others, a color change or extra coats, a T&M ticket is attached to the daily and the GC signs it on site. It becomes a change order draft for the next pay app. Rate sheets and wage classes are set up ahead of time, so every ticket is priced the same way.
Field time is approved and goes to QuickBooks Payroll, posted by area and coat or by unit. The PM builds the pay app from the schedule of values with retainage, or bills completed units on per unit work. Punch items from the final walk are tracked, so the last trip covers everything on one list.
What the owner sees every month
Each month the PM enters cost to complete on every open job, and it gets approved. The WIP schedule shows over and under billing, which tells you whether the first coat billing still covers the final coat and touch up to come. The master WIP shows every job together.
Your CEO Report grades gross margin, overhead and net profit before taxes against the published average and CFOS target for painting at your size. Labor is most of your cost, so payroll every week against pay apps a month or more apart is the cash squeeze. The 13 week cash forecast reads your pay apps and marks the lowest week.
Touch up and return trips stay on the jobs and GCs that caused them. After a year you can see which builders cost you the most extra trips and price them into the next bid. You can ask Claude or ChatGPT about your own jobs, read only, limited to what your sign in allows.
Painting cost codes, matched to QuickBooks
Each group below is one set of cost codes in CFOS. Bills, time and equipment post to them. QuickBooks keeps the books underneath, so your bookkeeper sees the same numbers.
| Cost code group | What goes on it |
|---|---|
| Surface prep and patching | Sanding, patching, caulking, masking and protection before the first coat. |
| Primer and first coat | Primer, sealer and first coat labor and material by area. |
| Finish coats | Final coats, accent colors and cut in labor by area or floor. |
| Doors, frames and trim | Hollow metal frames, doors, handrails and trim, by the opening or the foot. |
| Exterior painting | Siding, stucco, metal and masonry, with lifts and weather days. |
| Specialty coatings | Epoxy floors, intumescent coating, elastomeric and high performance coatings. |
| Wallcovering | Vinyl wallcovering, adhesive, liner and hanging labor. |
| Per unit repaints | Apartment turns and repaint units, each unit or building on its own code. |
| Lifts, sprayers and scaffolds | Your own equipment by the day and rented equipment from the bill. |
| Touch up and change orders | Damage by others, color changes and extra coats, tied to the signed ticket. |
How painting contractors do, by revenue
Each row shows the all-trade average, this trade's average and the CFOS target where one is published. These are the numbers your own job costing gets graded against. Net profit is before taxes in every row.
| Revenue | Overhead | Gross margin | Net profit, before taxes |
|---|---|---|---|
| $1M to $5M | 15.1% all-trade average 13% Painting 14.1% CFOS target | 22.1% all-trade average 18% Painting 25% CFOS target | 7% all-trade average 5% Painting 11% CFOS target |
| $5M to $10M | 14.1% all-trade average 12% Painting 13.1% CFOS target | 23.4% all-trade average 20% Painting 26% CFOS target | 9.4% all-trade average 8% Painting 12.9% CFOS target |
| $10M to $25M | 13.1% all-trade average 11% Painting 12.1% CFOS target | 24.6% all-trade average 21% Painting 27.1% CFOS target | 11.5% all-trade average 10% Painting 15% CFOS target |
| $25M to $50M | 12.1% all-trade average 10% Painting | 25.7% all-trade average 22% Painting | 13.7% all-trade average 12% Painting |
Gross margin and overhead come from figures CFMA, Jones Maresca and other sources publish by trade and size. Net profit is computed, not surveyed: net profit = gross margin minus overhead. Nothing comes out for taxes, interest or other income and expense, so it is a before tax figure, on the same basis as CFMA's net income before taxes.
CFMA's 2025 medians are 7.1 percent before interest and taxes and 6.7 percent net income before taxes. Gross margin minus overhead leaves out interest and other income and expense, so a figure here can come in a little above or below a reported net income on the same business.
Above the $10M to $25M band the gross margin and overhead rows are a modeled extension of the same curves. They have not been reconciled against the licensed CFMA Benchmarker, so read those bands as a model and not as a survey result.
Problems painting contractors write to us about
Get on the list for the day it opens
30 days free, a 90-day money-back guarantee, and cancel anytime.
We email you when CFOS for QuickBooks opens, plus a few updates before then. Your address stays with Run On CFOS. One click unsubscribes.
30 days free, a 90-day money-back guarantee, and cancel anytime. It opens January 2027. We email you the day it opens.
What painting contractors ask
Can I track labor by coat?
Yes. Cost codes have three levels, so each area can have lines for prep, primer and finish coats. Approved field time posts to the code it was worked on. You then compare each coat's hours to the estimate.
How do I bill apartment turns or per unit repaints?
Set up each unit or building as a cost code or its own job, with the unit price as the budget. Time and material post to the unit they were used on. You see which units cost more than the price.
How do I get paid for touch up after other trades?
Code touch up to its own cost code so the cost is visible on the job. When the GC directs it, a T&M ticket goes on the daily and is signed on site. It becomes a change order draft for the next pay app.
Can paint store bills be coded to the right job?
Bills emailed to your bills inbox are read and coded to the job and cost code. They're checked against the PO, so a gallon count that's off is caught. Paint charged to the right job keeps overhead clean.
Does CFOS replace QuickBooks Online for a painting contractor?
No. CFOS works on top of QuickBooks Online, which keeps your books. Approved time goes to QuickBooks Payroll, and Intuit bills QuickBooks Online separately.
- Job costing software that runs on QuickBooks
- One price. Every module. Priced by your revenue.
- Use all of it, or just the part you need
- Job costing software that runs on QuickBooks
- One price. Every module. Priced by your revenue.
- Use all of it, or just the part you need
- Painting benchmarks
QuickBooks is a trademark of Intuit Inc. Run On CFOS isn't affiliated with Intuit.