Back to Blog

How to Track Job Profitability Right

FieldWise HQ June 30, 2026
How to Track Job Profitability Right

Most contractors do not have a revenue problem. They have a visibility problem. The board looks full, trucks are moving, invoices are going out, and yet margins keep slipping. If you want to know how to track job profitability, you need more than a P&L at the end of the month. You need job-level numbers that show exactly where money is made, where it leaks, and which jobs are quietly dragging the business down.

For field service businesses, profitability lives in the gap between what you estimated and what it actually took to complete the work. That gap gets wider fast when labor runs long, materials are missed, callbacks pile up, or office staff spend extra time fixing paperwork after the job is done. Looking at total monthly revenue hides those issues. Tracking profitability by job puts them in plain view.

Why job profitability is harder than it should be

Most companies already track pieces of the puzzle. Payroll lives in one system. Materials sit in supplier invoices or on a credit card statement. Estimates are in a spreadsheet or a quoting app. Time is scribbled on paper, texted in, or guessed after the fact. Then someone tries to figure out margin from a pile of disconnected data.

That is where bad decisions start. A job can look profitable because the invoice was large, but if the technician spent two extra hours on site, grabbed unplanned parts, and came back the next day for a callback, the margin may be gone. On the flip side, a smaller job with tight execution can outperform a bigger-ticket install.

The point is simple. Profitability is not about what you sold. It is about what it cost you to deliver.

How to track job profitability without guessing

At the job level, the basic formula is straightforward: revenue minus total job costs equals gross profit. Gross profit divided by revenue gives you gross margin. The challenge is making sure your total job costs are real, not estimated after the fact.

For most service businesses, there are three core cost buckets to track on every job: labor, materials, and overhead allocation. Labor includes technician wages, payroll taxes, overtime, and in some cases commissions or bonuses tied to production. Materials include every part, unit, consumable, and equipment cost tied to that job. Overhead allocation is where many contractors get loose, but it matters. Fuel, vehicle costs, dispatch support, software, rent, and office admin do not disappear just because they are not listed on the invoice.

You do not need a finance degree to make this useful. You do need consistency. If one job includes burdened labor and another only uses base wage, your reporting is already off. If materials are recorded only when someone remembers to enter them, your best-looking jobs may be your least accurate ones.

Start with the estimate, then compare against actuals

The fastest way to improve margins is to compare what you thought a job would cost against what it actually cost. That means every estimate should set a budget for labor hours, labor dollars, materials, and expected revenue.

Once the job is running, actual field data needs to hit that same record. Technician time should flow into the job, not into a generic timesheet bucket. Parts used should be attached to the work order, not buried in a later purchase reconciliation. Change orders should increase revenue and expected cost in real time, not get cleaned up at invoicing.

This is where many shops lose control. They quote from one tool, dispatch from another, track time somewhere else, and invoice later from memory. By the time they review profitability, the trail is cold. They can tell a job underperformed, but not why.

A connected field service platform fixes that by tying the estimate, schedule, technician activity, materials, invoice, and payment to the same job record. That gives you live profitability instead of accounting archaeology.

Labor is usually the biggest swing factor

If you only tighten one area, make it labor tracking. In service businesses, labor is the cost category most likely to drift and the hardest to recover once the job is done.

Track labor by actual clock-in and clock-out tied to the job. Include drive time if that is part of your operating model. Separate billable work from non-billable delays when possible. If a technician sits for 40 minutes waiting on approval or hunting for parts, that time still costs the company, and it should show up somewhere in the job story.

The goal is not to police every minute for the sake of it. The goal is to know whether your pricing, dispatching, and technician productivity are working. If install jobs consistently run 20 percent over estimated labor, that is not just a field issue. It could be weak estimating, poor scope control, bad routing, missing inventory, or a training gap.

Materials tracking needs to be job-specific

A lot of contractors know their material spend in total, but not by job. That is a margin killer.

Every major part and every meaningful consumable should be assigned to a specific job or work order. If technicians pull from truck stock, those parts need to decrement inventory and attach to the job. If the office orders parts for a customer, that cost should land in the same record. If a warranty issue forces a replacement, that should be visible too.

This is where reported profit gets distorted. A job can appear healthy until supplier bills hit later and expose the real cost. By then, the work is closed, the customer is invoiced, and your pricing decisions have already been reinforced by bad data.

Good materials tracking does not mean tracking every screw with obsessive precision. It means capturing the items that move margin. High-value equipment, replacement parts, add-on materials, and repeated consumables should not be left to memory.

Overhead matters, but keep it practical

Some owners avoid overhead allocation because it feels messy. Fair point. You can get lost trying to build a perfect model. But ignoring overhead entirely creates a different problem: jobs look healthier than they really are.

A practical approach is to assign a standard overhead rate based on labor hours, labor dollars, or revenue. If your company spends a certain amount each month on office support, vehicles, software, insurance, and facilities, a share of that cost belongs to each completed job. The exact method depends on your business model. A service-heavy company may allocate overhead by labor hour. A replacement-focused shop may choose another basis.

What matters is consistency. You are not trying to create audited financial statements inside your dispatch workflow. You are trying to avoid fooling yourself.

The numbers that actually help you make decisions

Tracking job profitability is useful only if it changes how you operate. That means reviewing the right metrics often enough to act on them.

Gross profit per job tells you dollars earned after direct costs. Gross margin tells you efficiency as a percentage. Estimated versus actual labor hours reveals execution gaps. Revenue per technician hour shows productivity. Callback rate exposes hidden labor and material waste. Average ticket size matters, but not without margin attached.

It also helps to break profitability down by job type, technician, service category, and lead source. A drain cleaning call, a system replacement, and a maintenance visit should not all be judged the same way. Different work has different cost structures. The point is to find patterns, not to force every job into one benchmark.

Some trades need even more nuance. Emergency service may carry higher margins because customers pay for speed. Maintenance agreements may look thinner on one visit but produce stronger lifetime value. New customer acquisition jobs can cost more upfront while still making strategic sense. Profitability still matters, but context matters too.

Common mistakes that make profitable jobs look unprofitable

One of the biggest mistakes is closing jobs before all costs are in. Another is failing to capture technician time accurately. A third is missing change orders and extra work performed in the field. There is also the classic issue of pricing based on gut feel instead of real historical data.

Then there is delayed invoicing. If work is complete but billing lags, cash slows down and job reporting gets stale. That creates a double hit: weaker visibility and weaker cash flow. Contractors feel busy but wonder why the bank balance says otherwise.

Disconnected systems make all of this worse. When estimating, dispatch, time tracking, inventory, invoicing, and reporting do not speak to each other, every handoff becomes a chance to lose cost data. That is one reason companies move to a single platform. FieldWise HQ, for example, is built to keep those operational and financial details connected, so profitability is tracked through the job instead of reconstructed after it.

How to build a better job profitability process

Start simple and tighten over time. First, define what counts as direct labor, direct materials, and overhead in your business. Next, require all technician time to be logged to specific jobs. Then make sure parts usage is recorded at the point of work, not days later. From there, compare every closed job against the original estimate and review the biggest misses every week.

Do not hand this off to accounting alone. Your service manager, dispatcher, office lead, and owner all affect job profitability in different ways. If labor overruns are tied to bad routing, dispatch needs to see that. If underbidding is the issue, sales and estimating need to adjust. If callbacks are driving down margin, operations and training need to respond.

The businesses that protect margin are not the ones with the most complicated spreadsheets. They are the ones that capture clean field data fast, review it consistently, and act on it before bad habits become the standard.

A full schedule can hide a lot of weak jobs. Clear job profitability data cannot. Once you see which work actually pays, which tech workflows create margin, and where costs get loose, you stop managing on volume and start managing for profit.