Analyzing your jobs…

Calculating per-job margins and flagging outliers.

🔍 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.

1
Your shop
Used to calculate your labor cost and match peer benchmarks
Typical: $32–$45/hr fully loaded. Includes wages + payroll tax.
2
Paste your job data
One job per line — or upload a CSV / Excel file

Include at least 5–10 jobs for a meaningful distribution. More jobs = better analysis.

📄
Click to upload or drag and drop
CSV or Excel (.csv, .xlsx, .xls) · Max 5MB

First row should be: Job Name, Revenue, Labor Hours, Material Cost

Jobs Analyzed
Avg Gross Margin
Losing Money
Above 50% Margin
📊 Margin Distribution — Where Your Jobs Land
0
< 0%
0
0–20%
0
20–40%
0
40–60%
0
60%+
Losing money Below threshold Watch zone Healthy Strong
🏆 Top 3 Winners
⚠️ Top 3 Losers
What's next

Now run this every week, automatically.

RollForge monitors job-level margin across every category, every week — and flags what's slipping before it compounds. No spreadsheets, no manual rollups.

Start free 7-day trial →

7-day free trial.

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.

More Free Tools

Callback Cost Calculator
Enter your callback rate and see the exact dollar amount leaving your business every year. HVAC, plumbing, and electrical benchmarks included.
Calculate callback cost →
Per-Job True Profit Calculator
Enter revenue, materials, labor, vehicle cost, and overhead. See true profit per job — not gross margin, true profit — with trade benchmarks.
Calculate true profit →
AR Aging Analyzer
Upload your AR aging CSV from your accounting or billing platform. Get a collectable forecast and the 5 invoices to chase first.
Analyze your AR →
Ready to run this audit automatically every week?
RollForge monitors job-level margin across every category, every week — and flags what is slipping before it compounds. No spreadsheets.
Start Free Trial See Pricing