That $24,000 Job Looked Profitable. So Where Did the Money Go?
I have a little assignment for anyone who runs a service business.
Find the job everyone was excited about last month.
The one with the nice invoice. The happy customer. The team congratulating itself on getting another project across the finish line.
Got it?
Wonderful.
Now tell me how much money you actually made on it.
Not what you billed.
Not what you estimated.
Not the amount left after paying the subcontractor.
What did that job actually contribute to your business?
If you can’t answer that without pulling information from three different systems and interrogating someone about their timesheet, we’ve found something worth investigating.
And I promise this is more interesting than it sounds.
Because sometimes the problem isn’t that your business needs more customers.
Sometimes the customers you already have are keeping everyone wonderfully busy while your profit quietly disappears.
Practical support for stronger forecasts, financial decisions, and reporting.
First, Let’s Find Out What the Job Was Supposed to Earn
Imagine a U.S. service business that wins a $24,000 project.
The estimate looks reasonable.
The owner has priced similar work before. The customer accepts the proposal. The team has availability.
Everyone’s happy.
Here’s the original estimate.
| Estimated project costs | Amount |
|---|---|
| Labor: 180 hours at $45 | $8,100 |
| Subcontractors | $3,000 |
| Materials and supplies | $1,400 |
| Total estimated direct cost | $12,500 |
| Project revenue | $24,000 |
| Estimated gross profit | $11,500 |
| Estimated gross margin | 47.9% |
Not bad.
The job is expected to generate $11,500 before company overhead and other expenses.
For the moment, I’m assuming that $45 is the company’s fully burdened labor cost per productive hour, not simply the employee’s wage. We’ll come back to that distinction because it’s important.
The estimated gross margin is:
($24,000 − $12,500) ÷ $24,000 × 100 = 47.9%
Everything looks perfectly respectable.
Then the work begins.
And, as anyone who has ever managed a project or raised children can appreciate, the original plan lasts approximately until other people become involved.
The Job Is Finished. The Numbers Have Changed.
The customer is satisfied.
The invoice goes out.
The project manager marks the job complete.
But when I compare the actual costs with the estimate, the picture changes.
| Project costs | Estimated | Actual |
|---|---|---|
| Labor | $8,100 | $10,575 |
| Subcontractors | $3,000 | $3,600 |
| Materials and supplies | $1,400 | $1,700 |
| Additional rework costs | $0 | $800 |
| Total direct cost | $12,500 | $16,675 |
| Gross profit | $11,500 | $7,325 |
| Gross margin | 47.9% | 30.5% |
Well.
That’s different.
The project still made money on a direct-cost basis.
But the gross profit is $4,175 lower than expected.
And the margin fell from 47.9% to 30.5%.
The customer received the same $24,000 invoice.
The business did considerably more work to earn it.
This is exactly why I like job costing for service businesses.
It takes a vague suspicion that something is off and turns it into a question we can actually answer.
What Is Job Costing, Exactly?
Job costing means tracking the revenue and costs associated with a specific project, contract, or customer engagement.
Instead of looking only at company-wide payroll, materials, and subcontractor expenses, we connect those costs to the work that caused them.
The basic formula is:
Job gross profit = Job revenue − Direct job costs
And:
Job gross margin = Job gross profit ÷ Job revenue × 100
The important word is actual.
An estimate tells us what we expected.
Job costing tells us what happened.
For a service business, that distinction can be enormous.
A company can report a healthy overall gross margin while individual projects perform very differently. Strong jobs can subsidize weak ones without anyone realizing it.
That’s especially dangerous when management keeps pursuing the work that produces the largest invoices rather than the strongest economic returns.
Let’s Find the Missing $4,175
Now we’re getting somewhere.
I don’t want to tell the project manager that the job went over budget and leave it there.
That’s a description, not an explanation.
I want to know why.
Here’s the breakdown.
| Source of overrun | Additional cost |
|---|---|
| 55 additional labor hours | $2,475 |
| Higher subcontractor costs | $600 |
| Additional materials | $300 |
| Rework costs | $800 |
| Total overrun | $4,175 |
The labor overrun immediately gets my attention.
The team estimated 180 hours.
It used 235.
That’s 55 additional hours, or approximately 30.6% more labor time than planned.
Now I have some questions.
Were the original estimates unrealistic?
Did the customer request additional work?
Did the team have to redo something?
Were experienced employees spending time on tasks that could have been handled differently?
Did the project require more meetings, revisions, and coordination than anyone anticipated?
And my personal favorite:
Did everyone know the scope had changed, except the person responsible for billing for it?
That last one deserves its own investigation.
Not All Cost Overruns Are the Same Problem
Suppose we discover that 25 of the extra labor hours came from additional customer requests.
The other 30 hours came from inefficient handoffs and internal rework.
At $45 per hour, that’s:
- Customer-requested work: 25 × $45 = $1,125
- Internal execution problems: 30 × $45 = $1,350
Same cost category.
Two very different management decisions.
For the additional customer work, I’d ask why we didn’t identify and price the change.
For the internal hours, I’d examine how the project was delivered.
One might require a better change-order process.
The other might require clearer instructions, better scheduling, training, or a different staffing mix.
And the subcontractor and material overruns deserve their own explanations.
This is where I think financial analysis becomes genuinely useful.
We’re no longer announcing that expenses are too high.
We’re identifying what somebody can do differently.
Before We Go Further, Check Your Labor Rate
I want to return to that $45 labor rate.
Because I’ve seen plenty of calculations that use an employee’s hourly wage as though it represents the entire cost of employing that person.
It doesn’t.
For a U.S. business, employment costs may include employer payroll taxes, unemployment insurance, workers’ compensation, health benefits, retirement contributions, paid time off, and other applicable costs.
Not every cost applies to every employee or business, and the treatment should follow a consistent costing policy.
But ignoring these expenses can make projects look more profitable than they are.
There’s another complication.
Employees are paid for time that isn’t always chargeable to a particular project.
Training, meetings, administration, and downtime all consume capacity.
So if we’re trying to calculate the cost of one productive hour, I’d look at the total relevant employment cost and the number of productive hours available.
For example, consider a hypothetical employee whose annual employment cost is $90,000.
If the business expects 1,500 productive hours during the year:
$90,000 ÷ 1,500 = $60 per productive hour
That’s quite different from dividing by 2,080 paid hours.
Neither calculation should be applied blindly. We need to define which costs are included, how nonproductive time is treated, and what the model is meant to measure.
But I would absolutely want to know whether the company’s job-costing rate reflects reality.
Otherwise, we may be congratulating ourselves on margins that never existed.
And I do prefer my good news to be real.
Get clearer visibility into margins, costs, and operating performance.
Gross Profit Isn’t the Same as Money Left Over
Our example produced $7,325 in actual gross profit.
That doesn’t mean the business gets to keep $7,325.
There’s still company overhead to support.
Office expenses. Administrative staff. Insurance. Systems. Business development. Other costs that may not belong directly to one job.
For management purposes, we might allocate an appropriate share of overhead to the project.
Suppose that allocation is $2,400.
Then:
$7,325 − $2,400 = $4,925
The project contributes $4,925 after that allocated overhead.
That’s approximately 20.5% of project revenue.
I’d label that a project-level result after allocated overhead, not automatically the company’s net profit.
Overhead allocations depend on the method used, and arbitrary allocations can distort decisions just as easily as missing costs can.
For example, I wouldn’t automatically reject a job merely because a broad corporate overhead allocation makes its fully allocated profit look weak.
I’d also examine its incremental contribution, available capacity, and whether the overhead would actually change if we declined the work.
The distinction matters.
A project can be worthwhile in the short term while still being unsuitable as the foundation of a long-term pricing strategy.
Here’s the Question I’d Ask Before Quoting the Next Job
What if the cost overrun wasn’t unusual?
What if projects like this regularly require around $16,675 in direct costs?
Then the original $24,000 price may no longer support the margin the business expects.
Let’s say management wants a 40% gross margin on this type of work.
The price calculation is:
Required price = Expected direct cost ÷ (1 − Target gross margin)
Using our actual cost:
$16,675 ÷ 0.60 = $27,791.67
The business would need to charge approximately $27,792 to earn a 40% gross margin if the same cost structure continued.
That’s almost $3,800 more than the original quote.
Now we have a real commercial question.
Will customers pay that price?
Should the business change how it delivers the work?
Can it reduce unnecessary hours?
Does the service need tighter scope boundaries?
Or is the market telling us this particular work isn’t as attractive as we thought?
I wouldn’t automatically raise prices by $3,800 because one project went badly.
One project isn’t enough evidence.
I’d compare several similar jobs, separate unusual events from recurring problems, and then decide.
But I certainly wouldn’t keep quoting the same work at $24,000 without investigating.
That would be a fascinating commitment to tradition.
Not necessarily a profitable one.
What I’d Put in a Job-Costing Report
I don’t think most owners need a magnificent dashboard with 47 colors and a button that makes something spin.
They need information they can use.
For each meaningful job, I’d want to see:
| Measure | Why I care |
|---|---|
| Original quoted revenue | What the customer initially agreed to pay |
| Approved change orders | Whether additional scope was priced |
| Revised expected revenue | The current commercial commitment |
| Estimated direct cost | What we expected the work to require |
| Actual cost to date | What we’ve already consumed |
| Estimated cost to complete | What the remaining work is expected to cost |
| Forecast final gross margin | Where the job is likely to finish |
| Main variance reasons | What is causing the difference |
| Responsible owner and next action | Who can do something about it |
Notice something?
I included estimated cost to complete.
That’s because I don’t want to wait until the job is finished to discover that it’s going badly.
If the project is halfway complete and already consuming far more labor than planned, management may still have options.
Once it’s finished, the options become considerably less exciting.
Mostly we get to discuss what we should have done.
And while I’m always available for a spirited discussion about hindsight, I’d rather improve the result while we still can.
The Weekly Review That Can Save You From Another Surprise
For ongoing projects, I’d establish a short weekly review.
Not a two-hour meeting.
Not a presentation.
A conversation built around the exceptions.
I’d ask:
Which jobs are forecast to miss their target margins?
Then:
Why?
And finally:
What can we do about it this week?
For example, imagine a project manager reports that a job has consumed 70% of its labor budget but only 50% of the work is complete.
That deserves attention.
It doesn’t prove the job will lose money. Some projects have front-loaded labor requirements.
But somebody should explain whether the remaining work is less labor-intensive or whether the forecast needs to change.
The purpose isn’t to punish people for variances.
It’s to make sure the business can respond.
When every review turns into a search for somebody to blame, people become remarkably creative at explaining why the numbers aren’t quite ready.
I’d rather have accurate information early than a beautiful explanation late.
Five Things I’d Fix Before Buying New Software
If your job profitability reporting isn’t reliable, I wouldn’t begin by shopping for a new system.
I’d begin with the basics.
1. Give every project a consistent identifier.
Revenue, time, materials, subcontractors, and other relevant costs need a way to connect to the same job.
2. Define what belongs in direct job cost.
Use a documented, consistent policy for labor burden, materials, subcontractors, and directly attributable expenses.
3. Capture actual labor hours.
Not just the hours someone expected to use.
4. Preserve the original estimate.
When the estimate changes, record the revised forecast separately. Otherwise, you’ll lose the ability to understand what changed.
5. Review the forecast before the project ends.
Look at actual costs plus the realistic cost to finish.
A new system can help automate this.
But software won’t rescue a business that hasn’t decided what it wants to measure or who is responsible for acting on the information.
It will simply produce the same confusion in a more expensive format.
When Job Costing Is Worth the Effort
Not every business needs detailed project-level costing.
If you sell standardized products with stable unit economics, another costing approach may be more appropriate.
And if the cost of tracking every tiny activity exceeds the value of the information, I’d simplify the process.
But for project-based businesses with variable labor, custom scopes, subcontractors, or meaningful differences between jobs, the information can be extremely valuable.
Especially when management is making decisions about:
- Which services to promote.
- Which customers or project types to pursue (see my customer profitability analysis).
- How to price future work (and understand price, volume, and mix).
- Whether to hire additional employees.
- How to improve delivery efficiency.
- When to require a change order.
- Whether a particular type of work is worth continuing.
That’s where job costing becomes more than an accounting exercise.
It becomes a tool for deciding how the business should grow.
The Job Wasn’t the Mystery. The Missing Information Was.
Our hypothetical $24,000 project wasn’t a disaster.
It generated positive gross profit.
The customer was happy.
The work was completed.
But it also earned $4,175 less gross profit than expected.
If nobody investigates that difference, the company may repeat the same mistakes on the next project.
And the next.
And the next.
At some point, the business starts wondering why revenue keeps growing while the financial results don’t seem to follow.
That’s a frustrating position to be in.
But it’s also a problem we can investigate.
I would start with a handful of completed jobs, reconstruct their actual costs, compare them with the original estimates, and look for patterns.
Not to prove that somebody did something wrong.
To figure out where the business has an opportunity to do something better.
Because a growing business should be able to explain where its profits come from.
Preferably without needing a detective, a magnifying glass, and six months of reconstructed timesheets.
Curious Whether Your Finance Reports Are Missing Something?
If your business is busy, revenue is growing, and you’re still not entirely sure which activities are producing the best financial results, I’d be interested in what your reporting is showing you.
Or perhaps what it isn’t showing you.
My FP&A Health Check is a place to explore how your financial planning, reporting, and decision-making processes are working.
Because I’d much rather help you understand where the profit is going than suggest you simply sell more and hope it sorts itself out.
Let’s discuss the financial challenges behind your next decision.






For anyone running project-based work: which cost is most likely to be missing when a job first looks profitable—rework, management time, travel, or the time spent fixing surprises? I suspect the answer varies quite a bit by business.