Operators overpay $5K to $15K a year on vendors they never review. See what Profit Discovery finds →
Accountally
Home Services

How Home Service Companies Track Job Profitability

Home service companies track job profitability by assigning every cost, including labor with burden, materials, subcontractor fees, vehicle time, and a...

Accountally Team ·

Home service companies track job profitability by assigning every cost, including labor with burden, materials, subcontractor fees, vehicle time, and a share of overhead, to a specific job record at the moment the cost occurs, then comparing total job costs to job revenue to get a margin percentage. Most owner-operators are missing two or three of those cost categories and entering nothing in real time, which is why the system breaks down.

This guide walks you through the exact steps to set up and run that system in QuickBooks, without expensive field service software, and without your Saturday mornings.


Key takeaways

  • Five cost categories belong on every job: direct labor with burden, materials, subcontractor costs, vehicle allocation, and overhead allocation. Most owner-operators track two.
  • QuickBooks Online’s Projects feature lets you track costs and margin by job without expensive field service software.
  • Time sheets and materials receipts need to be assigned to a job the day the work happens, not on Saturday.
  • Pull your job profitability report weekly. One job with bad margin is noise. Three in a row with the same cost overrun is a pattern you can fix.

What is the real cost of labor on a home service job?

This is the single most important number to get right before you build any tracking system. What you pay a technician per hour is not what that technician costs you on a job.

Labor burden, which includes payroll taxes, workers’ compensation, benefits, and paid time off, adds roughly 25-35% on top of base wages. If your tech earns $28 per hour, the real cost of that tech on a job is closer to $35-38 per hour. Every margin calculation that uses the wage rate instead of the fully loaded rate is wrong from the first line.

Run the burden calculation once for each employee on your team, write the number down, and use that number every time you estimate or review a job. If you are not sure what your burden rate is, your CPA can calculate it from your last four quarterly payroll tax filings.


What costs should you track on every job?

Most owner-operators track two of these. The missing three are where margin disappears.

  • Direct labor with burden. Hours worked on the job multiplied by the fully loaded hourly rate, including drive time.
  • Materials and parts. Everything pulled from stock or purchased for that specific job.
  • Subcontractor costs. Any outside trade or specialty work billed to the job.
  • Vehicle and fuel. A per-mile or per-job allocation for the truck that went to that site.
  • Overhead allocation. A proportional share of shop rent, insurance, admin staff, and other fixed costs divided across all jobs.

Home service businesses that track all job costs report 15-20% higher net margins than those that don’t, according to FieldPie. That gap is not from charging more. It is from knowing which jobs were losing money and stopping before the pattern repeats.

“What a complete job cost includes” (all five categories), with a dollar gap row at the bottom]


How do you set up QuickBooks to track jobs, not just transactions?

A flat chart of accounts is a compliance tool, not a management tool. It tells your CPA what happened across the year. It cannot tell you whether the Johnson installation made money or whether you have been quietly losing 8% on every new construction job for six months.

QuickBooks Online’s Projects feature is the fix. It lets you create a record for each job and assign every transaction to that job at the time of entry. When you pull a report, you see revenue, costs, and margin broken down by job, not just by expense category.

How to create a job in QuickBooks and assign costs to it

  1. Turn on the Projects feature in your company settings.
  2. When you accept an estimate, create a new Project and link the accepted estimate to it.
  3. From that point forward, assign every expense, bill, time entry, and invoice for that job to the Project, not just coded to an expense account.

The timing matters more than the setup. Entering costs two weeks after a job closes means relying on memory, and memory is how parts get missed, drive time disappears, and a job that cost $900 gets recorded as $650.

actual costs and a margin column]


How do you assign costs to a job in real time?

Labor time entry: the step most techs skip

The system breaks down if your technicians are not logging time against a specific job. You don’t need expensive scheduling software to fix this. A simple daily time sheet with three fields works: job number, hours on site, and drive time. Paper or a free app. Either works.

Drive time is a cost. If your tech drives 45 minutes to a job, that time has a dollar value at his fully loaded rate. Most home service companies absorb drive time into overhead as an invisible loss. Tracking it per job is often the difference between a 14% margin estimate and a 9% actual.

Set a rule: time sheets go in by end of day, not end of week. One day of lag is manageable. Five days of lag is a reconstruction project.

Materials and parts: the two trips to the supply house nobody tracks

Here is the pattern that costs most owner-operators several percentage points of margin every month. Your tech grabs parts for three different jobs in one supply run, pays with the company card, photographs the receipt maybe, and hands it to whoever does the books on Saturday. By then, nobody remembers which parts went to which job.

For larger planned jobs, require separate supply runs per job or require the tech to split the receipt by job at the time of purchase. For service calls where the tech grabs a part on the way to the call, a materials markup percentage built into your flat-rate price is the practical solution. Set the markup to cover your average parts cost plus the supply run time, and price it in from the start.

The goal is not perfection. The goal is getting close enough that your reports show real patterns, not approximations.


How do you calculate job profitability?

Subtract total job costs from job revenue, then divide that number by job revenue. The result is your job margin percentage.

(Job Revenue minus Total Job Costs) divided by Job Revenue = Job Margin Percentage

Run it through a realistic example. A $1,200 HVAC service call:

Cost categoryAmount
Labor: 4 hours at $85 fully loaded$340
Parts and materials$180
Vehicle allocation for this job$45
Overhead allocation$95
Total job costs$660
Job revenue$1,200
Job margin$540 / $1,200 = 45%

A 45% gross margin on a labor-heavy service call is healthy. An equipment-heavy installation, where the unit itself costs $2,000 of a $5,000 job, will produce a lower gross margin even if you run the labor efficiently. That is normal. The number you are looking for is consistency. Are your service calls hitting 40-50% gross? Are your installations hitting 30-40%? If the numbers are all over the place, the system is not capturing all the costs.


What profit margin should a home service company be hitting?

Most home service companies net somewhere between 5% and 12%. Well-run operations hit 15% to 20%, according to ContractorInCharge.com. If you don’t know your margin by job type, you are likely in the lower half of that range without knowing it.

On the question of whether a 70% gross margin is good: context matters. A labor-only diagnostic call with minimal parts can produce 65-70% gross margin. An HVAC installation with $3,000 in equipment cost will produce 30-45% gross. Gross margin and net margin are different numbers, and gross margin alone doesn’t tell you whether the business is healthy. Watch gross margin at the job level to catch cost overruns early. Net margin, which factors in all your overhead, is the annual number your accountant helps you calculate.


How do you read a job profitability report in QuickBooks?

In QuickBooks Online, the Projects report shows estimated versus actual costs by job, with a margin calculation. Pull it once a week. Sort by margin percentage, lowest to highest.

The jobs at the bottom of that list are your problem. Look for patterns:

  • Is it always installations, not service calls?
  • Is it jobs assigned to a specific technician whose hours consistently run over estimate?
  • Is it a particular job type where parts cost keeps coming in above what was quoted?
  • Is it jobs in a certain part of your service area where drive time is absorbing your margin?

The report is not a scorecard. It is a decision-making tool. One data point is noise. Three jobs in a row with the same cost overrun in the same category is a pattern you can fix.

Accountally’s team uses the Royal Revenue System to review completed job reports monthly, flagging the cost categories home service companies most often miss: labor burden, vehicle time, and materials that got used but never billed. Those three categories are invisible in a flat chart of accounts. They show up in a job-level report.


How do you use job cost data to bid smarter?

Job costing data has a second use beyond reporting. It feeds better estimates.

If your job reports show that 4-hour HVAC installations consistently run 5.5 hours, your next bid should reflect 5.5 hours, not 4. You are not padding the estimate. You are correcting it based on what the work actually costs.

The math on getting this wrong is not trivial. One extra unrecovered hour at $85 fully loaded, compounded across 30 similar jobs in a year, is $2,550 in unrecovered labor. That is before materials overruns, before vehicle time, before the overhead that got absorbed but never allocated. Small systematic underbidding compounds into a significant annual loss that your bank balance will never reveal until it does.

When QuickBooks tracking breaks down and what to do about it

QuickBooks job costing works when someone is entering costs consistently and on time. If your books are being caught up on Saturdays, the job reports will reflect the past, not the present. By the time you see a cost pattern, you have already bid ten more jobs at the wrong number.

This is the moment most owner-operators are in: the system is right, but it needs someone maintaining it in real time to produce usable data. Accountally’s AI-enabled bookkeeping process keeps routine categorization and reconciliation current continuously, not at the end of the quarter when it is too late to act.

The output of a well-maintained job costing system is not just better margins. It is financials that a bank or equipment lender accepts without a fire drill. That is what gets you the line of credit for the service van or the financing for a second truck. Clean, job-level financial data is the difference between asking a lender to trust your gut and showing them what your business actually earns.


Frequently asked questions

How do you calculate job profitability for a home service company?

Subtract total job costs from job revenue, then divide by job revenue to get your margin percentage. Total job costs must include direct labor at the fully loaded rate, not just the hourly wage, plus materials, subcontractor fees, a vehicle allocation, and a share of overhead. The formula is: (Job Revenue minus Total Job Costs) divided by Job Revenue. Step 5 above walks through this with real numbers for a $1,200 HVAC service call.

What profit margin is good for a home service company?

Well-run home service companies target 15-20% net margin, according to ContractorInCharge.com. Most companies sit at 5-12% net. If you don’t track profitability by job type, you are likely in the lower end of that range without knowing it, because jobs losing money are subsidizing jobs making money and the average looks acceptable until cash gets tight.

Is a 70% gross margin good for a home service company?

It depends on the job type. A labor-only service call with no parts can produce 65-70% gross margin. An installation job with significant equipment cost will produce 30-45% gross margin, and that is not a problem. Gross margin tells you how much revenue is left after direct job costs. Net margin tells you how much is left after overhead. Target 15-20% net. Watch gross margin at the job level to catch cost overruns early.

What costs should I track on every job?

Five categories: direct labor at the fully loaded rate (wage plus payroll taxes, workers’ comp, and benefits), materials and parts, subcontractor costs, vehicle and fuel allocation for the truck that made the trip, and a proportional overhead allocation for fixed costs like insurance, shop rent, and admin. Most owner-operators track labor and materials. The three they skip are where margin quietly disappears.

Why does QuickBooks job costing break down for home service companies?

The system fails when costs are not entered at the time the work happens. Waiting until Saturday to batch-enter a week of receipts, time sheets, and bills means relying on memory, and memory drops parts, skips drive time, and mixes up which job got which materials. Costs need to go into the job record the day they occur. If nobody on your team has time to maintain that cadence, the reports will always lag behind your decisions.


Get your job costs out of your head and into your books

The system is not complicated. Define your real costs including labor burden. Set up QuickBooks to track by job, not just by expense category. Assign costs the moment they happen, not on Saturday. Pull the report every week and look for patterns. Use what you find to price the next job correctly.

The part that breaks down for most home service companies is not the method. It is the maintenance. Real-time job costing requires someone who is in the books every week, not catching up every month.

If your books are behind and you are pricing jobs on gut feel, schedule a free assessment with Accountally. We will show you exactly what your job costing setup needs to look like and what it takes to get your QuickBooks producing reports you can actually use.

Schedule a Free Consultation

Build a Cleaner Monthly Close.

Talk to our team for a 30 minute walkthrough. We'll show you what AI assisted bookkeeping would look like for your business and how we would scope the team behind it.

Book a call