Job costing software for fire protection contractors
Fire sprinkler jobs are designed, permitted and fabricated before the first head goes in. CFOS for QuickBooks costs design, shop fabrication, rough-in, drops and testing to each job by cost code.
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 fire protection bills and where the money leaks
Fire protection bills progress on a schedule of values, usually split into design, the underground fire line, risers and backflow, mains and branch lines, heads and drops, the fire pump if there is one, and testing. Some contractors bid by the head and some by the floor or the building, and the pay app follows whatever the schedule of values says. Retainage is held on every line, and the last of it often waits on the final inspection for the building.
Design and fabrication spend money early. Hydraulic calcs and drawings go to the AHJ and the insurer's reviewer, and the pipe is cut and threaded or grooved in the shop before the crew starts hanging it. A plan change after the shop has cut the pipe means scrap and a second round of fab.
In the field, the leak is the drops. Mains and branch lines go in at rough-in, but heads can't be finished until the ceiling grid is in, and every grid change or moved light fixture means heads moved too. Then there are the hydrostatic test, the flow test, the walk with the fire marshal and the trips back to fix what another trade hit with a lift.
How fire protection costs split and what CFOS tracks
Fire protection costs split into design, pipe and fittings, heads, valves and risers, the fire line and backflow, fire pumps and standpipes, shop fabrication, field labor and testing. Pipe for the mains is bought in bulk and heads come in packages, and they're used at different stages of the job. Labor is where the bid is won or lost, because rough-in and drops produce at very different rates.
CFOS imports your estimate as the job budget by cost code and compares it to actual cost from QuickBooks Online every hour. Three levels of cost code let you budget by floor or area, then by mains, branch lines and drops. On a five floor building, you can see which floor cost more than you bid while you're still on the next one.
Shop time is entered by job and cost code, so fabrication is charged to the job it's cut for and not to overhead. Bills emailed to your bills inbox are read, coded to the job and checked against the PO. A fire pump or a riser package charged to the wrong job is easy to catch before it's paid.
Workflow from the field to the office
The foreman files a daily with the crew, the equipment and photos. Lifts are a big cost on sprinkler work, and equipment daily rates charge each one to the job on the days it's on a daily. If the GC moves the ceiling or adds rooms, the T&M ticket rides on the daily and the GC signs it on site, and it becomes a change order draft.
Field time is approved and goes to QuickBooks Payroll with the job and cost code. Hours on drops and head relocations post to their own codes, so a grid change is visible as cost instead of lost in the rough-in. On public work, the certified payroll week is laid out from approved time with wage classes.
The PM builds the pay app from the schedule of values, with stored materials where the contract allows and retainage by line. Submittals, RFIs and punch items from the final walk are tracked on the job. Pay app due dates send the PM a reminder, so a floor that passed its hydro gets billed that month.
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 how much shop fab and stored pipe you're funding before the GC pays for it. The master WIP puts every job on one page.
Your CEO Report grades gross margin, overhead and net profit before taxes against the published average and CFOS target for fire protection at your size. Closed jobs tell you what a head really cost once design, fab, drops and testing are counted. That's the number to bid the next building from.
The 13 week cash forecast reads your QuickBooks Online data and your pay apps and marks the lowest week. If you also do inspection and service work, keep it on its own jobs or cost codes so it doesn't blend into construction. You can ask Claude or ChatGPT about any job, and the answer stays within what your sign in allows.
Fire protection 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 |
|---|---|
| Design and hydraulic calcs | Sprinkler drawings, hydraulic calcs, AHJ and insurer submittals and resubmittals. |
| Fire line and backflow | Underground fire service into the building, the backflow preventer and riser room work. |
| Risers and valves | Risers, alarm and check valves, the FDC and riser trim. |
| Mains and branch lines | Pipe, fittings, hangers and seismic bracing installed at rough-in. |
| Heads and drops | Heads, flex drops and the labor to set them after the ceiling grid is in. |
| Shop fabrication | Cutting, threading and grooving in the shop, charged to the job it's for. |
| Fire pump and standpipes | Fire pump, controller, standpipes and hose valves. |
| Lifts and equipment | Scissor lifts, boom lifts and trucks charged to the job by the day. |
| Testing and inspection | Hydrostatic tests, flow tests, the final walk and every retest. |
| Change orders and head relocations | Grid changes, moved heads and added rooms, tied to the signed ticket. |
How fire protection 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 15% Fire protection 14.1% CFOS target | 22.1% all-trade average 23% Fire protection 25% CFOS target | 7% all-trade average 8% Fire protection 11% CFOS target |
| $5M to $10M | 14.1% all-trade average 14% Fire protection 13.1% CFOS target | 23.4% all-trade average 25% Fire protection 26% CFOS target | 9.4% all-trade average 11% Fire protection 12.9% CFOS target |
| $10M to $25M | 13.1% all-trade average 13% Fire protection 12.1% CFOS target | 24.6% all-trade average 26% Fire protection 27.1% CFOS target | 11.5% all-trade average 13% Fire protection 15% CFOS target |
| $25M to $50M | 12.1% all-trade average 12% Fire protection | 25.7% all-trade average 27% Fire protection | 13.7% all-trade average 15% Fire protection |
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 fire protection 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 fire protection contractors ask
Can I track the cost of drops separately from rough-in?
Yes. Give drops and heads their own cost codes under each floor or area. Approved time posts to the code it was worked on. You compare actual cost to the estimate for each and see which one went over.
How do I get paid when the ceiling grid changes?
Put the moved heads on the daily as a T&M ticket with photos and have the GC sign it on site. It becomes a change order draft for the next pay app. If it isn't signed, the cost is still on its own code.
Can shop fabrication go on the job?
Yes. Shop time is entered by job and cost code, so pipe cut and grooved in the shop is charged to the job it's for. That keeps fab out of overhead. Your gross margin on each job then includes the shop.
Can I keep inspection and service work separate from installs?
Yes. Put inspections and service calls on their own jobs or cost codes. Install jobs keep their own budgets and actuals. The CEO Report still covers the whole company.
Does CFOS replace QuickBooks Online for a sprinkler contractor?
No. CFOS works on top of QuickBooks Online and reads from and writes to it. QuickBooks keeps your books, and you still pay Intuit for it 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
- Fire protection benchmarks
QuickBooks is a trademark of Intuit Inc. Run On CFOS isn't affiliated with Intuit.