🔍 Job Margin Audit — Free Tool
Find the jobs that are costing you money
Paste a week of job data — revenue, labor hours, material cost. We'll show you which jobs are making money, which ones aren't, and what the margin distribution looks like across your whole book.
No account required
Per-job breakdown
Results in under 30 seconds
Frequently Asked Questions
Common questions from HVAC, plumbing, and electrical contractors about job margin analysis, data exports, and costing benchmarks.
What is a healthy gross margin for HVAC jobs?
A healthy gross margin for HVAC service jobs is 40–60%. Gross margin here is revenue minus direct materials and direct labor cost. Jobs below 20% gross margin are in a watch zone — they likely have thin pricing, high materials cost, or excessive labor hours. Jobs below 0% are losing money on direct costs alone, before overhead.
How do I get my job data from my field service management software?
In most field service management platforms, navigate to the Reports section, then look for a Jobs or Work Orders report filtered by date range. Export to CSV or Excel. The columns you need are: job name, total revenue billed, total labor hours, and total parts cost. Map these to the Job Name, Revenue, Labor Hours, Material Cost format the audit tool uses. If labor hours are not tracked per job, use estimated hours from your dispatch log as an approximation.
How do I export job data from job scheduling and dispatch software?
From job scheduling software, look for a completed jobs report or revenue report filtered by the date range you want to analyze. Most platforms let you download job data as CSV. Include job name, total billed amount, labor hours, and parts or materials cost. If your platform tracks job cost separately from revenue, include the cost detail rows — they will give you a more accurate margin calculation per job.
What gross margin should I target for plumbing service jobs?
Top-performing plumbing shops run 40–60% gross margin on service jobs. Drain jobs and small repairs typically run high gross margin due to low materials cost — these are the margin pillars of a plumbing book. New construction and remodel plumbing often runs lower gross margin due to material-intensive scopes and change-order uncertainty.
Why do some of my electrical jobs show negative margin?
Negative gross margin on electrical jobs usually means either: (1) materials cost exceeded the materials portion of the quote due to pricing changes or scope creep, (2) labor hours ran significantly over estimate on a fixed-price job, or (3) the job type is systematically underpriced. Panel upgrades and rewires are the most common culprits due to materials volatility and permit/inspection delays extending labor hours.
How many jobs do I need for a meaningful margin audit?
Use at least 10–15 jobs for a meaningful distribution. One week of jobs (5 business days) is usually ideal for a smaller shop. For shops running 20 or more jobs per day, a 3-day sample is sufficient to see the margin distribution pattern. Include a mix of job types — service calls, installations, and repairs — to get a representative picture.
What should I do with my lowest-margin jobs from the audit?
For each low-margin job: (1) check if labor hours ran over estimate and why — was it a technician issue, a scope issue, or a difficult job type that needs repricing? (2) Check if materials came in above estimate — if consistently so, raise your materials markup or adjust your price book. (3) If the job type is systematically low-margin, either raise prices for that service type or stop offering it. Most shops find 2–3 job types driving the majority of margin problems.
Can I use this tool with data from accounting software like QuickBooks?
Yes. From accounting platforms, run a jobs profitability detail report or a customer profitability summary report and export to Excel or CSV. Map the columns to Job Name, Revenue (total billed), Labor Hours (from time tracking if enabled), and Material Cost. If your accounting software does not track labor hours per job, combine it with your dispatch log or scheduling software hours. Even a partial dataset with revenue and materials gives useful margin distribution insight without labor cost — just set labor hours to 0.