Job costing software for mechanical contractors
Mechanical contractors bill progress on a schedule of values and pay heavy equipment deposits early. CFOS tracks labor hours against material by cost code. You can see how each job is doing before closeout.
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 mechanical bills and where the money leaks
Mechanical work bills progress against a schedule of values, with a pay app each month, change orders and retainage. Equipment like chillers, air handlers and boilers often needs a deposit and a payment at shipment, long before the building is ready for it. Submittals, coordination drawings and prefab all take time and cost real money before the first pipe goes in the ground.
That timing is where cash leaks. A schedule of values with one line for rough-in hides the fact that your crew visits the job many times, from underslab to punch. Each trip costs money. Prefab shop time goes to overhead if no one codes it to the job. Retention often waits on commissioning and testing, and the system being tested is yours, so you can't release it until the weather and the commissioning agent cooperate.
How mechanical costs split and what CFOS tracks
Mechanical cost splits into labor, material, equipment, subcontracted items like insulation or controls, and engineering. Labor hours against material is the central comparison, and the two should be tracked by system so you can see which one drove the result. Equipment is bought on its own timeline and should be coded apart from piping and duct.
CFOS compares your estimate by cost code against actual cost from QuickBooks Online every hour. Labor hours come from approved field and shop time, with burden by class. Bills emailed to your bills inbox are read, coded to the job and checked against the PO, so equipment and material don't end up on the wrong job.
Workflow from the field to the office
The foreman files a daily with the crew, the equipment and photos. If the GC adds work, the T&M ticket rides on the daily and the GC signs it on site, and it becomes a change order draft for the next pay app. T&M rate sheets, wage classes and overtime are set up in advance, so the ticket is priced the same way every time.
Time is entered, approved and goes to QuickBooks Payroll. Shop time on prefab spools and duct goes to the job it's built for, so the cost is posted as the work happens. The PM then builds the pay app on the schedule of values with stored materials and retainage, and tracks RFIs, submittals and punch items.
What the owner sees every month
Each month the PM enters cost to complete on every job and it gets approved. The WIP schedule shows over and under billing, which tells you how far your credit line is funding equipment and prefab. The master WIP shows all jobs together.
Your CEO Report grades gross margin, overhead and net profit before taxes against the published average and CFOS target for mechanical at your size. The 13 week cash forecast uses your pay apps and marks the lowest week. If a retention release is waiting on commissioning, you'll know which job and about when.
Mechanical 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 |
|---|---|
| Engineering and submittals | Shop drawings, coordination model time, submittals and as-builts. |
| Major equipment | Chillers, boilers, air handlers and pumps, with deposits and shipment payments. |
| Piping labor and material | Hydronic, process and domestic piping, fittings and supports, by system. |
| Sheet metal and duct | Duct fabrication, install, diffusers and accessories. |
| Prefab and shop labor | Spools, duct and assemblies built in the shop and charged to the job they're for. |
| Insulation | Pipe and duct insulation, whether self-performed or subcontracted. |
| Controls and balancing | Controls, test and balance, startup and commissioning support. |
| Equipment rental and cranes | Lifts, cranes, rigging and trucks charged by the day. |
| Permits and inspections | Permit fees, inspections and testing. |
| Change orders and T&M | Added scope coded separately, tied to the signed ticket. |
How mechanical 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 16% Mechanical 14.1% CFOS target | 22.1% all-trade average 25% Mechanical 25% CFOS target | 7% all-trade average 9% Mechanical 11% CFOS target |
| $5M to $10M | 14.1% all-trade average 15% Mechanical 13.1% CFOS target | 23.4% all-trade average 26% Mechanical 26% CFOS target | 9.4% all-trade average 11% Mechanical 12.9% CFOS target |
| $10M to $25M | 13.1% all-trade average 14% Mechanical 12.1% CFOS target | 24.6% all-trade average 27% Mechanical 27.1% CFOS target | 11.5% all-trade average 13% Mechanical 15% CFOS target |
| $25M to $50M | 12.1% all-trade average 13% Mechanical | 25.7% all-trade average 28% Mechanical | 13.7% all-trade average 15% Mechanical |
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 mechanical 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 mechanical contractors ask
Can CFOS track labor hours against material by system?
Yes. Seven cost types and three levels of cost code let you separate labor and material under each system. Approved time and QuickBooks Online bills feed the actuals every hour.
How do I handle equipment deposits?
Equipment can go on the schedule of values as a stored material line where the contract allows it. The WIP schedule shows over and under billing. That tells you how much of the equipment cost you're funding.
Can prefab shop labor go on the job?
Yes. Shop time is entered by job and cost code, so prefab is charged to the job it's built for. That keeps it out of overhead and gives you a clean job margin.
What about retention waiting on commissioning?
Retainage is tracked by job through the pay apps, and the 13 week cash forecast reads from them. You'll see what's held and where. Release dates that depend on commissioning stay visible.
Does CFOS handle G702 and G703 pay apps?
Yes, lump sum and unit price. Retainage, stored materials and revisions are kept. You can send the pay app to the GC from QuickBooks or log it for another system.
- 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
- Mechanical benchmarks
QuickBooks is a trademark of Intuit Inc. Run On CFOS isn't affiliated with Intuit.