It is easy to finish a job, invoice it, and move on without ever seeing the actual margin. You invoice the job and assume you made money. Then payroll hits and the math stops working.
The difference between guessing and knowing is a real job cost system. Not theoretical. Not budgeted. Actual.
Here is what job costing looks like when you can see margin on every single job.
Here is a worked example for a 30-tech crew working fiber splicing contracts for a cable operator. The job: prep, splice, and terminate 1,200 fiber lines across a new build subdivision.
| Cost Category | Share of Invoice | Notes |
|---|---|---|
| Labor Costs | ||
| Direct Tech Hours | 40.9% | 380 hours at a blended hourly cost |
| Crew Lead (overhead allocation) | 4.7% | 18% markup on tech labor |
| Foreman & QA time | 4.0% | Supervision, testing, documentation |
| Labor Subtotal | 49.6% | |
| Production Costs | ||
| Materials (splitters, termination kits) | 9.3% | Materials passed to customer |
| Equipment rental (fusion splicer daily) | 3.1% | 14 days at a daily rate |
| Truck & fuel | 1.8% | 2 trucks, 14 days |
| Testing & documentation | 1.3% | Lab time, reports, OTDR readings |
| Production Subtotal | 15.6% | |
| Total Job Cost | 65.1% | |
| Invoice Amount | 100% | Fixed price contract |
| Gross Margin | 34.9% | What the job keeps |
This job looks healthy. Cost comes to about 65% of the invoice, and you keep about 35% (shares above are rounded). But this number hides everything.
The 30-tech crew isn't uniform. Some techs run at rate. Some bleed money. A real job cost system breaks this down by person.
Same job. Same invoice. Three crews.
Now you see it. Crew C isn't running at the same rate as Crews A and B. They're burning five percentage points of margin per job. Over a year of contracts, that's the difference between keeping the crew and shutting them down.
Without job costing by crew, you never find this. You see a 35% margin and assume everyone is fine.
Real job costing catches problems early. Not at invoice.
Day 5 of 14: The job is 40% complete by splices (480 of 1,200 done). Labor hours logged so far: 147 hours. At this pace, you will finish in 368 total hours instead of the budgeted 350. You are tracking 5% over budget.
What you do: You call the crew lead. You ask three questions: Are there underground routing delays? Are techs being held up waiting for clearance? Is the fusion splicer down more than expected? One answer tells you whether to add resources, reschedule, or renegotiate with the customer for a change order.
What happens without job costing: You finish the job on day 14. You bill the job. You expense all 368 hours. You realize three weeks later that margin dropped from about 35% to about 33%. By then the crew has moved to the next job and the customer has signed off.
A 1,200-splice job is typical for a mid-sized crew. Over a year, a 30-tech crew might run 15 to 20 of these.
If a handful of those jobs bleed margin because nobody caught them in progress, that loss adds up across the year. It isn't spreadsheet loss. It's payroll hours you can't cover with revenue.
Tracking real costs takes time and discipline. The math is simple: catch one margin bleed a year, and the tracking has paid for itself.
Every hour a tech works on a job must be logged against that job's cost code. No shared labor unless it's explicitly allocated. Use timesheets tied to job numbers, not summary reporting at month end.
Don't put all materials under overhead. Materials at 9% of the invoice are real. If a splitter kit runs over, it shows up in job cost, not in a month-end variance report.
Not at finish. At half-way. Compare actual costs to budget. If you're tracking the way we outlined above, you have the data. Use it to decide: keep going, add people, or escalate to the customer for renegotiation.
Implementing real job costing requires discipline. Techs have to log hours against specific jobs. Foremen have to submit reports mid-project, not just at invoice. Managers have to act on over-budget signals instead of waiting.
It feels like overhead. It isn't. It's the difference between thinking you kept about 35% of the invoice and knowing you kept about 33%, because you caught scope creep on day five instead of day fourteen.
It is easy to finish a job and hope the margin was real. A 30-tech crew running 15 to 20 major contracts per year can't afford that hope. One bad job per season will erase profit. Job costing finds those jobs before they close. That isn't nice to have. That's survive-and-grow.
Set it up right, and in six months you'll know which crews run at rate and which ones don't. Which job types make money and which ones don't. And you'll catch margin bleed before it becomes a payroll problem.
Would it be a bad idea to spend 30 minutes tracing where the margin went on one of your jobs? Free 30-minute Fit Call.
Book a Fit CallGet this coverage first in Google