Skip to main content
2,200+ service businesses benchmarked. How do your margins stack up? See where you stand →
Level

Case Study

How an $8M HVAC contractor found $140K in hidden costs in 48 hours

This commercial HVAC shop was doing $8M+ in revenue. They had a full team, a packed schedule, and no idea which jobs were making them money. Here is how Level changed that.

$140K

Misallocated overhead identified in 48 hours

34 → 18 days

Invoice-to-payment cycle reduction

28

Operational data points in real-time dashboards

5%

Cash flow forecast accuracy over 6-week horizon

The Challenge

$8M in revenue. Limited visibility into job-level profit.

Limited job-level costing

The P&L showed the business was profitable overall, but overhead, drive time, callbacks, and warranty work weren't broken out at the job level. Job margins were estimated, not measured.

Inconsistent expense tracking

Expenses were categorized inconsistently in QuickBooks, the chart of accounts had grown organically over years, and reconciliations were running behind.

60-day lag on financials

By the time the books were closed and the P&L was ready, the quarter was already over. Decisions were being made on gut feel, not data.

Cash flow surprises

Seasonal dips hit without warning. Big invoices sat unpaid for weeks. AR management was reactive, and the line of credit was the backup plan.

What We Did

From blind spots to real-time clarity

We connected to their existing systems, built a data pipeline, and had answers within 48 hours. No new software to learn. No months of onboarding.

01

Connected to their systems

We plugged into their field service platform and QuickBooks in under an hour. No IT department needed. Read-only access to work orders, invoices, technician logs, customer records, and equipment history.

02

Built a unified data pipeline

We ingested 28 operational data points from both platforms and normalized everything into a single financial model. Job costs, labor hours, material spend, overhead allocation, and revenue by customer, tech, and service type.

03

Deployed AI-powered financial dashboards

We stood up a dashboard that answers natural-language business questions. Instead of waiting for monthly reports, Mike could ask 'Which customers are profitable this quarter?' and get an answer in seconds.

04

Ran a full profitability audit

Within 48 hours, we had job-level and customer-level profitability broken out with proper overhead allocation. That is when the surprises started.

05

Set up real-time job costing

We replaced the old close-the-books-and-hope approach with live job costing. Profitability is visible during the job, not 60 days after closeout. If a job is trending unprofitable, the team knows before it is too late.

06

Built a 6-week cash flow forecast

Using historical patterns, AR aging, and seasonal trends, we built a rolling cash flow forecast that predicts dips 6 weeks before they hit. Accuracy within 5%.

Results

The numbers speak for themselves

$140K

in misallocated overhead identified in the first 48 hours

Overhead was being absorbed by service calls instead of properly allocated to projects. Once we reallocated, project margins jumped and service pricing became accurate.

#1 → #3

Their largest customer by revenue was only their third most profitable

High volume masked thin margins. After overhead allocation, two mid-size accounts were significantly more profitable per dollar of revenue.

34 → 18 days

invoice-to-payment cycle reduction

AR aging dashboards, automated follow-up triggers, and priority flagging on aging invoices cut collection time nearly in half.

5% accuracy

on 6-week rolling cash flow forecasts

Built on historical seasonality, AR aging curves, and project schedules. Seasonal dips that used to be surprises are now predicted 6 weeks out.

We were doing $8M and couldn’t tell you which jobs were actually making money. Level broke it down by job, by customer, by tech. Our highest-revenue account had the thinnest margins — we just couldn’t see it until the overhead was allocated properly.

Mike H.

Owner, $8M Commercial HVAC Contractor

What the Data Revealed

What the numbers showed

Highest-revenue customer had the thinnest margins

Once overhead was properly allocated, the largest account by revenue turned out to be only their third most profitable customer. Volume was high, but callbacks, extended warranties, and gradual scope creep on service agreements had compressed margins over time. Two mid-size commercial accounts with less revenue but tighter scopes were generating better returns per dollar.

$140K in overhead was hiding in the wrong place

Overhead was being absorbed by service calls instead of allocated to construction and project work. That meant service margins looked worse than they were, and project margins looked better. The team was making pricing decisions on bad data. Service rates were too high (losing bids), and project bids were too low (winning unprofitable work). Fixing the allocation alone changed the way they priced every job going forward.

Real-time visibility changed behavior, not just reports

Once the team could see job profitability in real time, they started making different decisions. Service managers flagged jobs trending over budget before they closed out, not 60 days after. The office manager started prioritizing collections on the oldest invoices instead of the biggest ones. And Mike stopped guessing about cash flow and started planning around it. The data did not just produce better reports. It changed how the business operates day to day.

Think your numbers might be off?

Same process we ran for this case study. 48-hour turnaround. Free audit included.

2,200+ service businesses benchmarked$13.25B in revenue analyzed24-hour response

No credit card. 30-min audit. We only follow up if we can actually help.

No commitment. Real numbers, not generic advice.