Leak Check Map your profit, tax, and enterprise-value gaps.See what you get

Job Costing for Service Businesses: Fully Loaded Labor, Overhead, and Real Margin

Light interlocking lavender tile pattern beside the two-color title Job Costing for Service Businesses.

A service business can report a healthy month while losing money on the jobs that kept everyone busy.

The P&L shows payroll, contractors, software, travel, and revenue for the company. It does not show which project consumed the senior team, which crew returned for rework, or which client required three times the management estimated in the quote.

Job costing answers a narrower question: What did this specific job cost to deliver, and what margin remained?

The calculation is simple. The definitions are where businesses get hurt.

The two job-margin views

Start with direct job economics:

Job gross profit = job revenue − directly attributable delivery cost

Job gross margin = job gross profit ÷ job revenue

Then build a second management view:

Fully loaded job contribution = job gross profit − allocated shared delivery overhead

Keep the two views separate.

Direct gross margin helps management compare price, scope, labor, materials, subcontractors, and rework. The fully loaded view tests whether the portfolio can support shared delivery management, facilities, general software, and other operating infrastructure.

If overhead is mixed into every direct cost line, nobody can tell whether a weak job came from delivery execution or the company's broader cost structure.

Build the fully loaded labor rate first

An employee's wage is not the cost of one productive hour.

For each delivery role or team, calculate:

Loaded employment cost = wages or salary + employer payroll taxes + benefits + other employment cost

Then:

Loaded cost per productive hour = annual loaded employment cost ÷ practical productive hours

Practical productive hours exclude vacation, holidays, training, internal meetings, administration, bench time, and other hours that cannot be assigned to client delivery.

Consider a hypothetical employee with:

  • Salary: $78,000
  • Employer taxes, benefits, and other employment cost: $22,000
  • Total loaded employment cost: $100,000
  • Practical client-delivery capacity: 1,450 hours

The correct loaded rate is:

$100,000 ÷ 1,450 = $68.97 per productive hour

Dividing by 2,080 paid hours produces only $48.08 per hour. That rate is $20.89 too low and understates the true productive-hour cost by 30.3%.

Do not hide low utilization inside a constantly changing job rate. Set a defensible practical-capacity assumption, calculate the rate, and then report utilization separately. Otherwise weak scheduling makes every job appear expensive without showing the operational cause.

What belongs in direct job cost

Use a stable cost code structure across jobs:

Direct labor

Record actual delivery hours at the loaded cost rate. Include review, project management, field supervision, and quality work when those activities are specifically required by the job.

Contractors and subcontractors

Assign invoices to the job that caused them. Include minimum charges, rush premiums, and pass-through work even when the client is billed separately.

Materials and supplies

Include physical materials, parts, printing, testing, shipping, and other items consumed by the job.

Direct software and data

Assign licenses, data purchases, cloud resources, platforms, or usage fees incurred only because the job exists. General company software belongs in shared overhead.

Travel and outside expense

Include airfare, mileage, lodging, permits, filing fees, and other job-specific costs. Reimbursable does not mean cost-free; show the client reimbursement as revenue or a separate offset consistently.

Rework

Code the labor and expense, then identify the cause. Client-added scope, an ambiguous agreement, internal error, and normal estimate variance are different management problems even when they produce the same cost.

AccountEdge and Xero both describe service-job costing around labor, time, direct expense, and allocated overhead. The software can collect the records. Management still has to decide which costs are direct and which allocations support a real decision.

Want to test this against your own numbers? Book a free 20-minute Profit & Tax Leak Check to pinpoint the first profit, tax, cash-flow, or financial-structure issue worth fixing.

A worked job-cost example

Consider a hypothetical fixed-fee implementation:

Item Estimate Actual
Job revenue $48,000 $48,000
Delivery hours 280 340
Loaded labor rate $52 $52
Loaded labor cost $14,560 $17,680
Materials $4,200 $4,200
Subcontractors $3,600 $3,600
Travel $1,100 $1,100
Direct software $800 $800
Total direct delivery cost $24,260 $27,380

The original estimate produced:

$48,000 − $24,260 = $23,740 planned gross profit

$23,740 ÷ $48,000 = 49.5% planned gross margin

The actual result is:

$48,000 − $27,380 = $20,620 actual gross profit

$20,620 ÷ $48,000 = 43.0% actual gross margin

The extra sixty hours cost $3,120 and reduced margin by 6.5 percentage points. Revenue did not move, so the labor variance came directly out of gross profit.

Add overhead without corrupting the direct view

Suppose shared delivery management, general delivery software, and facilities are assigned at $18 per actual delivery hour.

340 hours × $18 = $6,120 allocated shared delivery overhead

The fully loaded management result becomes:

$20,620 − $6,120 = $14,500 fully loaded contribution

$14,500 ÷ $48,000 = 30.2% fully loaded contribution margin

That is useful for pricing and portfolio decisions. It is not the same as direct job gross margin, and it may not match the presentation in external financial statements.

Choose the allocation driver based on the cost:

  • Direct labor hours for delivery management driven by team time.
  • Headcount or users for shared software.
  • Square footage or equipment use for facilities where relevant.
  • Transactions for centralized processing.
  • A separate central pool when no causal driver is defensible.

Never allocate overhead only to make every job appear to carry the same percentage. A simple rule that reflects resource use is better than a precise-looking rule nobody can explain.

The price implied by actual cost

If the business wants a 50% direct gross margin on the actual delivery model:

Required price = direct delivery cost ÷ (1 − target margin)

$27,380 ÷ 50% = $54,760

At a 60% direct gross-margin target:

$27,380 ÷ 40% = $68,450

This does not mean every Bennett client or every service job should carry 60% gross margin. Bennett's 60% framework is a company-level diagnostic for many established service businesses, not a universal law for each contract. Jobs can differ because of mix, strategic value, recurring follow-on work, risk, and capacity.

The calculation tells management what price the current cost structure requires. The market and commercial strategy decide whether that price is achievable—and whether the cost or delivery model must change instead.

Separate estimate failure from execution failure

At closeout, bridge estimated cost to actual cost by cause:

  • Hours estimated incorrectly.
  • Work performed outside scope.
  • Wrong role or seniority mix.
  • Lower productivity or avoidable rework.
  • Material or subcontractor price variance.
  • Rush, travel, or scheduling premium.
  • Client delay or missing input.
  • Internal time not recorded to the job.

“Over budget” is not a diagnosis. If every project of one type overruns in discovery, change the estimating model. If one team creates rework, fix the process. If clients routinely request a second approval cycle, update the scope and price.

The scope-creep margin model owns the decision about a requested change during a live project. Job costing provides the cost base and actual-versus-estimate record that makes that decision possible.

The weekly job-cost report

For active material jobs, review:

  1. Approved revenue and approved change orders.
  2. Estimated hours and cost by phase.
  3. Actual hours and cost to date.
  4. Hours and cost forecast to complete.
  5. Other direct expenses committed and incurred.
  6. Forecast gross profit and direct margin.
  7. Allocated overhead in a separate view.
  8. Variance cause and named action owner.

Do not wait until invoicing or month-end. Forecast-to-complete reveals the loss while management can still change staffing, scope, price, or schedule.

For company-level context, Bennett's service-business gross-margin guide explains the broader measure. The markup-versus-margin guide prevents a common pricing conversion error.

Sources

If the company cannot connect quotes to actual labor, project cost, capacity, and cash, fractional CFO support should build the decision system around reliable accounting data. The Profit & Tax Leak Check can identify whether job cost, price, labor efficiency, overhead, or another financial layer is creating the larger leak.

Frequently asked questions

What costs should a service business include in job costing?

Include actual delivery hours at a fully loaded labor rate plus job-specific contractors, materials, software, data, travel, permits, and rework. Show shared delivery overhead in a separate allocated view so direct execution and company infrastructure remain distinguishable.

How do you calculate fully loaded labor cost per hour?

Add wages or salary, employer payroll taxes, benefits, and other employment cost, then divide by practical productive hours rather than total paid hours. Track utilization separately so unused capacity does not disappear inside a constantly changing job rate.

Should every service job target a 60% gross margin?

No. The 60% benchmark is a company-level diagnostic for many established service businesses, not a universal contract rule. Set job targets based on work type, capacity, risk, strategic value, and the portfolio margin the company needs.

What are the two job-margin views?

Job gross profit = job revenue − directly attributable delivery cost Job gross margin = job gross profit ÷ job revenue

How do you build the fully loaded labor rate first?

An employee's wage is not the cost of one productive hour. Loaded employment cost = wages or salary + employer payroll taxes + benefits + other employment cost

Why does what belong in direct job cost?

Record actual delivery hours at the loaded cost rate. Include review, project management, field supervision, and quality work when those activities are specifically required by the job.

What does the worked job-cost example show?

$48,000 − $24,260 = $23,740 planned gross profit $23,740 ÷ $48,000 = 49.5% planned gross margin

How do you add overhead without corrupting the direct view?

Suppose shared delivery management, general delivery software, and facilities are assigned at $18 per actual delivery hour . 340 hours × $18 = $6,120 allocated shared delivery overhead