What Job Costing Is
Job costing means tracking every cost associated with a specific job — materials, labor, equipment, subs, permits — so you know exactly what that job cost you to deliver. Then you compare it to what the customer paid. The difference is your gross profit on that job.
Without job costing, you are averaging. You assume that if total revenue exceeds total costs, you are profitable. But averages hide the truth. You might have five jobs at 50% margin and three jobs at -5% margin. The average looks fine. The reality is that three jobs lost money and you did not know it.
Why It Matters
You find your money losers
Every business has jobs that lose money. Not occasionally — regularly. Without job costing, these jobs hide in the averages. With job costing, they are exposed and you can stop doing them or reprice them.
You improve estimating
When you compare estimated costs to actual costs on every job, your estimates get better. You learn where you consistently underestimate and can adjust. Over 50 or 100 jobs, this feedback loop transforms your pricing accuracy.
You know what to sell more of
Job costing reveals which services are most profitable. That tells you where to focus your marketing and sales effort.
You spot operational problems
If one crew consistently runs over on labor while another hits estimates, you have found a training or management problem. If a particular type of job always runs over on materials, your material takeoff process needs work.
Setting Up Job Costing
Step 1: Create a Job Number System
Every job gets a unique identifier. Keep it simple:
- 2026-0142 — Year plus sequential number
- RES-0142 — Service type prefix plus number
- SMITH-BATH-0126 — Client, project, and number
Pick a format and stick with it. Every receipt, timesheet, and purchase order references this number.
Step 2: Track Direct Labor by Job
Your crew needs to log their hours against specific job numbers. This is not optional. Options include:
- Time tracking apps (Busybusy, TSheets/QuickBooks Time, Clockify)
- Daily time cards with job numbers
- Foreman daily logs
Track at minimum: who worked, which job, how many hours, what they did.
Step 3: Track Materials by Job
Every material purchase must be tagged to a job number. Methods:
- Job-coded purchase orders at your supplier
- Photo receipts with job numbers written on them
- Material tracking in your accounting software
For materials pulled from inventory, create a job transfer record.
Step 4: Track Subcontractor Costs by Job
Every sub invoice should reference the job it belongs to. If a sub works across multiple jobs, break the invoice down proportionally.
Step 5: Track Equipment and Other Direct Costs
Job-specific equipment rentals, permit fees, disposal fees, and inspection costs all get tagged to the job.
The Job Cost Report
After every job, produce a simple report:
| Category | Estimated | Actual | Variance |
|---|---|---|---|
| Materials | $4,200 | $4,650 | -$450 |
| Labor (hours) | 80 | 92 | -12 |
| Labor (dollars) | $3,200 | $3,680 | -$480 |
| Subcontractors | $2,000 | $2,000 | $0 |
| Equipment/Other | $300 | $475 | -$175 |
| Total Direct Cost | $9,700 | $10,805 | -$1,105 |
| Revenue | $15,000 | $15,000 | $0 |
| Gross Profit | $5,300 | $4,195 | -$1,105 |
| Gross Margin | 35.3% | 28.0% | -7.3% |
This single page tells you everything you need to know about that job's financial performance.
Analyzing Job Cost Data
Once you have 20–30 completed jobs with real data, start analyzing trends:
By Service Type
Which services consistently hit target margins? Which ones consistently miss? Double down on the winners. Fix or drop the losers.
By Crew or Project Manager
Are some teams more efficient than others? The data will tell you. Use it for coaching, not punishment.
By Customer Type
Are commercial jobs more profitable than residential? Are repeat customers more profitable than one-time clients? These patterns drive strategy.
By Season
Do margins compress in busy season (rushing) or slow season (discounting)? Understanding seasonal patterns helps with pricing and scheduling decisions.
Common Objections
"It is too much paperwork"
It takes 5–10 minutes per day per crew member to log time and code materials. The return on that investment is knowing whether your business actually makes money. That is worth 10 minutes.
"My guys will not do it"
Make it a non-negotiable part of the job. No timesheet, no paycheck. It sounds harsh, but inaccurate data is worse than no data.
"I already know which jobs make money"
You probably do not. Owners who say this are consistently surprised when they start tracking. The jobs they thought were profitable often are not, and the ones they undervalued often are.
Getting Started
You do not need perfect systems on day one. Start with:
- Assign a job number to every active job
- Have crews log hours by job starting this week
- Code material purchases to jobs starting this week
- At job completion, run the numbers
- After 10 jobs, review the data and look for patterns
Imperfect job costing is infinitely better than none. Start rough, refine as you go, and within 90 days you will wonder how you ever ran the business without it.
The Fully Burdened Labor Rate: What Your Employees Really Cost
Most owners know their employees' hourly wage. Very few know the fully burdened cost per hour, which is what matters for job costing.
How to Calculate the Fully Burdened Rate
| Cost Component | Example (for a $28/hr employee) |
|---|---|
| Base wage | $28.00 |
| FICA (employer portion, 7.65%) | $2.14 |
| Federal unemployment (FUTA, ~0.6%) | $0.17 |
| State unemployment (SUTA, varies, ~3%) | $0.84 |
| Workers' compensation (varies, ~5% for trades) | $1.40 |
| Health insurance (employer portion) | $3.50 |
| Paid time off (10 days = 3.85%) | $1.08 |
| Other benefits (401k match, tools, etc.) | $0.75 |
| Fully burdened rate | $37.88 |
That $28 per hour employee actually costs you $37.88 per hour, a 35% markup. If you are using $28 as your labor cost in job estimates, you are underpricing every single job by 35% on the labor component.
The Impact on a Typical Job
A 40-hour job with 2 crew members:
- Using base wage ($28): Labor cost estimate = $2,240
- Using burdened rate ($37.88): Labor cost estimate = $3,030
- Difference: $790 per job
Across 50 jobs per year, that is $39,500 in labor costs you are absorbing without realizing it. This single correction can be the difference between a profitable year and a break-even one.
Job Costing Software vs. Spreadsheets
When a Spreadsheet Is Enough
If you complete fewer than 10 jobs per month and have 5 or fewer employees, a well-designed spreadsheet can handle your job costing needs. The spreadsheet should have:
- A master job list with job numbers, customer names, and status
- Individual job cost sheets linked to the master list
- Formulas that calculate estimated vs. actual costs and margin
- A summary dashboard that shows monthly and year-to-date margins
When You Need Software
If you complete more than 10 jobs per month, have more than 5 employees, or find that your spreadsheet is becoming unreliable, move to dedicated job costing software. Options by trade:
For Construction and Trades:
- QuickBooks Desktop with job costing module (for smaller operations)
- Buildertrend, CoConstruct, or Jobber (for mid-size contractors)
- Procore or Sage (for larger operations with complex projects)
For Professional Services:
- FreshBooks or Harvest (time tracking with basic job costing)
- Toggl or Clockify (time tracking that integrates with accounting)
- BigTime or Mavenlink (full project accounting)
For Any Service Business:
- QuickBooks Online with Projects feature
- ServiceTitan (for home services)
- Housecall Pro (for smaller home service businesses)
The Key Integration
Your job costing tool must integrate with your accounting software. If labor hours are tracked in one system, material purchases are in another, and invoices are in a third, you will never get accurate job costs because nobody will manually reconcile them. Choose tools that talk to each other.
Advanced Job Cost Analysis: Finding Patterns in Your Data
Once you have 30 to 50 jobs tracked, you have enough data to find meaningful patterns.
Estimated vs. Actual Variance Analysis
| Metric | Target | Warning | Problem |
|---|---|---|---|
| Average labor hour variance | Within +/- 5% | +/- 5% to 15% | Over 15% |
| Average material cost variance | Within +/- 5% | +/- 5% to 10% | Over 10% |
| Jobs that missed margin target | Fewer than 20% | 20% to 40% | Over 40% |
| Average margin miss (when missed) | Under 5 points | 5 to 10 points | Over 10 points |
If more than 40% of your jobs miss the target margin, your estimating process needs an overhaul. You are not pricing work incorrectly once in a while. You are pricing it incorrectly as a pattern.
The 80/20 Rule in Job Costing
In most businesses, 20% of job types generate 80% of the profit. Conversely, a small number of job types may be consistently unprofitable. Job costing data reveals this distribution.
Example: A remodeling contractor tracks 75 completed jobs over 12 months:
| Service Type | # of Jobs | Average Margin | Total Gross Profit |
|---|---|---|---|
| Kitchen remodels | 12 | 42% | $186,000 |
| Bathroom remodels | 18 | 38% | $142,000 |
| Deck builds | 10 | 35% | $52,500 |
| Basement finishing | 8 | 28% | $44,800 |
| General repairs | 27 | 18% | $32,400 |
This data is gold. Kitchen and bathroom remodels represent 40% of jobs but 72% of gross profit. General repairs represent 36% of jobs but only 7% of gross profit. The strategic decision is obvious: market and sell more kitchen and bath work, and either reprice general repairs or stop pursuing them.
Job Costing for Change Orders and Extras
Change orders are a separate profit center that many businesses fail to track independently.
Why Track Change Orders Separately
A $50,000 kitchen remodel that includes $8,000 in change orders should be analyzed as two components:
| Component | Revenue | Cost | Margin |
|---|---|---|---|
| Original scope | $50,000 | $30,000 | 40% |
| Change orders | $8,000 | $3,500 | 56% |
| Total job | $58,000 | $33,500 | 42% |
Change orders typically carry higher margins because they are priced at current rates with no competitive bidding, and they leverage a crew that is already mobilized. If your change orders are running at lower margins than your base work, you are undercharging for them.
Change Order Benchmarks
- Change orders as a percentage of original contract: 10% to 20% is healthy
- Change order gross margin: Should be equal to or higher than your base work margin
- Change order approval rate: Track how often customers approve vs. decline proposed changes
Common Job Costing Mistakes
Mistake 1: Not Including Drive Time in Labor
If a crew drives 45 minutes to a job site, works 6 hours, and drives 45 minutes back, the job consumed 7.5 hours of labor, not 6. Those 1.5 hours of drive time cost real money and must be allocated somewhere. Either include drive time in the job labor cost or build it into your overhead rate.
Mistake 2: Averaging Instead of Tracking
"We average about $4,000 in materials per bathroom remodel" is a guess. The actual range might be $2,800 to $6,200 depending on fixtures, tile selection, and unforeseen conditions. Averages hide the variance that costs you money.
Mistake 3: Not Counting Owner's Time
If the owner spends 4 hours estimating a job, 2 hours on-site supervising, and 1 hour on client communication, that is 7 hours of labor at the owner's fully burdened rate ($75 to $150 per hour). On a small job, that is $525 to $1,050 in cost that must be covered by the price.
Mistake 4: Delayed Data Entry
Job cost data that is entered a week late is less accurate than data entered the same day. Memories fade. Receipts get lost. Hours get estimated instead of recorded. Make same-day data entry a non-negotiable practice.
Mistake 5: Tracking Without Acting
The biggest mistake of all is collecting job cost data and never using it to make decisions. If the data shows that a certain job type consistently loses money, and you keep taking those jobs at the same price, the data is wasted. Job costing only has value if it changes your behavior.
4Sources
- 01SBA: Managing Business Finances — U.S. Small Business Administration
- 02The Right Way to Track Project Profitability — Harvard Business Review
- 03
- 04BLS: Employer Costs for Employee Compensation — U.S. Bureau of Labor Statistics
Frequently Asked Questions
What is job costing and why do I need it?
Job costing tracks every cost associated with a specific job, including materials, labor, equipment, subs, and permits, so you know exactly what it cost to deliver. Without it, you are averaging across all jobs and cannot see which ones make money and which lose money. Most owners who start job costing discover that 20-30% of their jobs are unprofitable.
How do I track labor costs by job?
Have your crew log hours against specific job numbers using time tracking apps like Busybusy, QuickBooks Time, or Clockify. Daily time cards work too. Track at minimum: who worked, which job number, how many hours, and what they did. Make it non-negotiable. It takes 5-10 minutes per day per crew member and the payoff is knowing whether your business actually makes money.
How do I know if a job made or lost money?
After every job, compare the revenue to total direct costs (materials, labor, subs, equipment, permits). The difference is your gross profit. Divide gross profit by revenue to get gross margin percentage. Then compare your estimated margin to actual margin. If your actual margins are consistently 5-10 points below estimates, your estimating process needs recalibration.
What is a good gross margin per job for a contractor?
Residential remodeling should target 35-45% gross margin per job. Plumbing, HVAC, and electrical service work should aim for 45-55%. New construction is typically lower at 20-30%. If any individual job comes in below 20% gross margin, investigate what went wrong: underestimated labor, scope creep without change orders, material waste, or callbacks.
How many jobs do I need to track before job costing is useful?
You will see immediate value from the very first job you track, but meaningful trend analysis starts at 20-30 completed jobs. At that volume, you can compare profitability by service type, by crew, by customer type, and by season. Within 90 days of consistent tracking, most owners say they wonder how they ever ran the business without it.