Electrical
Job costing and profitability tracking field guide for electrical contractors
Track the actual labor, material, equipment, subs, and overhead a job ate, set it against the estimate, and find out which jobs actually made money.
Direct answer
Job costing tracks the actual labor, material, equipment, subcontractor, and overhead cost a single job consumed, then sets it against the estimate to show the real margin on that job. Without it your losers hide inside your winners, and the bank balance, which only proves cash moved, tells you nothing about which jobs actually made money.
Key takeaways
- Job cost equals burdened labor plus material, equipment, subcontractors, and allocated overhead, set against the estimate to show a job's real margin.
- Burden adds 40 to 60 percent to the base wage, so a $40 wage costs roughly $56 to $64 per hour once loaded.
- Bare wages and the supplier invoice are only about two thirds of a job's true cost; missing burden or overhead overstates margin.
- Capture hours and material live on the job, not from Friday memory, because reconstructed data carries a bias that always flatters the job.
- Gross margin is what remains after direct cost; net margin is after overhead too. Gross is not profit, net is the smaller honest number.
What job costing is, and why the bank balance lies
Job costing is the practice of tracking what one job actually cost you, by category, and comparing it against what you estimated, so you know the real margin on that job and not just on the company. The categories are labor, material, equipment, subcontractors, and a share of overhead. You estimated a number for each before the job started. Job costing is the discipline of capturing the real number for each as the job runs, then putting the two columns side by side.
A growing bank balance proves cash came in faster than it went out. It does not prove the last job made money. You can run a busy, profitable-looking year while a quarter of your jobs lose money, because the winners cover the losers and the deposit slips never separate them. Job costing separates them.
Without it you are flying blind, and the specific danger is averages. The job that lost eight grand on labor disappears into the three that came in fat, and the company-wide margin looks fine. So you bid the next one just like the loser, win it because your price is low, and lose money again. The worst jobs hide inside the best. That is the whole reason this guide exists. Pricing the job up front is its own discipline, covered in the estimating and bidding guide; this guide is about what happens after the bid wins and the actual cost starts landing.
Actual cost per job, set against the estimate
Strip job costing down and it is one equation per job: actual cost equals labor plus material plus equipment plus subs plus allocated overhead, and margin equals contract price minus that actual cost. The estimate had its own version of the same equation. The value is in the gap between the two.
A job that bid at a 38 percent gross margin and closed at 22 percent did not fail at the price. It failed somewhere in execution, and the cost columns tell you where. Maybe the rough-in ate 60 hours over the estimate. Maybe a material escalation that nobody re-priced quietly took four points. You cannot fix what you cannot see, and the side-by-side is what makes it visible.
Do this on every job, not just the big ones or the ones that felt bad. The small service tickets that feel fine are exactly where a few unbilled hours per call compound into a department that runs at break-even all year. The number on the contract is a promise. Job costing tells you whether you kept it.
Why job costing matters
Four things change once you cost every job, and each one is money.
You find the money losers. The job type, the customer, or the crew that loses on every pass stops being a feeling and becomes a number you can act on. You price the next one right, because you bid from what the work actually cost last time, not from a number you guessed and never checked. You catch the overrun early, while the job is still running and you can still do something, instead of finding out at closeout when the only thing left to do is write it off. And you pay the right crew, because labor efficiency by crew is no longer invisible, so the foreman who consistently beats the estimate gets recognized and the one who consistently blows it gets coached.
The one to sit with is the first one. The worst jobs hide in the average, and the average is comfortable. A 14 percent company margin feels healthy right up until job costing shows it is a 30 percent margin and a negative-10 percent margin averaged together, and the negative one is a job type you keep selling. The average is the lie. The per-job number is the truth.
How do you calculate the true cost of a job?
The true cost of a job is the sum of every dollar the job consumed: burdened labor, material, equipment and rental, subcontractors, and an allocated share of overhead. Bare wages and the supplier invoice are not the true cost. They are about two thirds of it.
Work it in order. Take the hours charged to the job and multiply by the burdened labor rate, not the wage. Add material at landed cost, including tax, freight, and the small-tools and consumables that never make the takeoff. Add equipment, whether that is a rental invoice or an internal hourly rate for your own lift or trencher. Add subcontractor costs at what you actually paid, including their change orders. Then allocate overhead, because the office, the trucks, the insurance, and the owner's salary are real costs the job has to carry.
Miss any one of those layers and the margin you report is too high, which is the dangerous direction to be wrong in. A job that looks like it made 30 points on bare wages and the supplier invoice can be making 8 once the burden, the consumables, and the overhead are on it. The eight is the truth, and eight is the number you have to be able to live on.
The five cost categories
Every cost a job consumes lands in one of five buckets, and keeping them separate is what lets you see where a job went wrong instead of just that it did.
Labor is the burdened cost of the hours your own people put on the job. Material is everything you buy and install, at landed cost. Equipment is rental and the cost of your own machines, charged to the job by the hour or the day. Subcontractors are the trades you hire out, billed to the job at what they charge you. Overhead is the allocated share of the costs that keep the company running but cannot be tied to one job directly.
The reason to split them is diagnostic. A job that blows its budget on labor has a field-execution problem. A job that blows it on material has an estimating or a waste problem. A job that blows it on subs has a scope or a coordination problem. One total tells you the job lost money. Five categories tell you why, and why is the only thing you can fix.
| Category | What it captures | Common miss |
|---|---|---|
| Labor | Burdened cost of your own hours on the job | Charged at bare wage, not burdened |
| Material | Everything installed, at landed cost | Tax, freight, and consumables left off |
| Equipment | Rental and owned machines, by hour or day | Owned gear charged as free |
| Subcontractor | Trades hired out, at what they bill you | Sub change orders not captured |
| Overhead | Allocated share of running the company | Not allocated, so margin is fake |
Labor is where jobs are won or lost
Material is mostly pass-through. You buy a panel for what the supplier charges, you mark it up, the customer pays it, and your risk is a few points of escalation or a miscount. Labor is the risk. Labor is the number you estimated, the number you cannot return to the shelf, and the number that moves the most between the bid and the closeout.
Think about where the variance actually lives. A 200-hour job estimated and run at 240 hours blew 40 hours. At a burdened rate around $55, that is $2,200 gone, and it came out of margin you already promised away at the bid price. The same job could have a material miss of a few hundred dollars and you would barely feel it. Labor overruns are the ones that turn a good bid into a loss.
So track hours by job above everything else. If you only had the budget and attention to cost one category well, it would be labor, because it is both the biggest controllable cost on most electrical work and the one most likely to drift. The hours are where you make it or lose it, and the hours are where job costing has to be airtight.
What is a burdened labor rate?
A burdened labor rate is the full hourly cost of putting a worker on the job: the base wage plus payroll taxes, workers' compensation, liability insurance, health benefits, paid time off, and the other costs of employing that person. It is what the hour actually costs you, not what lands in the worker's check.
The gap is large and people underestimate it. Federal data on construction compensation puts benefit and tax loads around 40 percent on top of wages on average, and electrical work carries its own workers' comp and liability rates on top of that. As a working figure, expect burden to add 40 to 60 percent to the base wage. A journeyman at a $40 wage costs you somewhere around $56 to $64 an hour once everything is on it. If you job-cost labor at $40, every hour is understated by fifteen-plus dollars, and across a thousand-hour job that error is bigger than most of your profit.
Build the burdened rate from your own numbers, by trade classification if your crew spans apprentice to foreman, and recompute it at least twice a year. Workers' comp rates, health premiums, and wages all move, and a burden you set eighteen months ago is quietly wrong now. Your accountant can pull the real loads off the books; do not run this off a number you heard at a trade show.
| Component | Goes into the burden? | Note |
|---|---|---|
| Base wage | Yes (the base) | Starting point, not the rate |
| Payroll taxes (FICA, FUTA, SUTA) | Yes | Roughly 8 to 12 percent of wage |
| Workers' compensation | Yes | Rated per $100 of payroll, trade-specific |
| Liability insurance | Yes | Varies with policy and revenue |
| Health and benefits | Yes | Often the largest single adder |
| Paid time off, holidays | Yes | Paid hours that are not on a job |
| Overhead (office, owner) | No, allocate separately | Keep burden and overhead distinct |
Allocating overhead to the job
Overhead is every cost that keeps the company alive but cannot be pinned to one job: the office rent, the estimator and the office staff, the trucks and their fuel and maintenance, general liability, software, the owner's salary, and the cost of bidding the jobs you did not win. None of it shows up on a single job's invoice, but every job has to carry a share or your margin is fiction.
Two methods cover most contractors. Allocate per direct labor hour: take total annual overhead, divide by total annual field hours, and add that as a dollar figure to every hour a job burns. If overhead is $300,000 and you bill 12,000 field hours a year, that is $25 of overhead riding on every hour. Or allocate as a percentage of direct cost: divide annual overhead by annual direct cost and apply that percentage to each job's direct cost. The per-hour method suits labor-heavy electrical work; the percentage method suits jobs where material and subs swing the total.
Pick one, apply it to every job, and revisit the figure as volume changes. The trap is a margin that looks healthy because overhead was never loaded onto the job. A job at 30 percent gross before overhead can be at 8 percent after it, and the 8 is the number that has to cover the slow months and leave something behind. Skip the allocation and you are celebrating a profit you have already spent on rent.
Capture time and material as they happen
The single biggest reason job costing fails is that the data gets reconstructed from memory at the end instead of captured as it happens. A tech filling out a week of hours on Friday afternoon, splitting them across five jobs from recollection, is guessing. The guess is always rounder, always tidier, and always wrong in the direction that hides the overrun.
Capture live. Hours go on the job when they are worked, not at week's end. Material goes on the job when it leaves the truck or the supply house, not when the invoice surfaces three weeks later. The closer the capture is to the moment the cost was incurred, the more accurate the job cost, and accuracy is the whole point. Reconstructed data does not just have noise. It has bias, and the bias always flatters the job.
This is where a field tool earns its place. With FieldOS, the tech clocks in against the job from the phone in their pocket and logs material against it on site, so the labor and material land on the right job at the moment they happen, not in a Friday reconstruction. The hours and the parts hit the cost record while the truck is still on site, which is the only way the numbers come out true.
Techs clock to the job, not just to payroll
Payroll time tells you how many hours to pay a person. Job-cost time tells you where those hours went. They are different questions, and a time system that only answers the first one is useless for job costing. A tech can clock 40 hours for payroll and you still have no idea which jobs those 40 hours built.
So the clock has to be against the job. When a tech starts work, they clock into that job's number. When they move to the next site, they clock into the next job. At the end of the week the payroll total still adds up, but now every hour has a job attached, and you can see that the service call you thought took two hours actually took three and a half once the drive and the parts run were on it.
FieldOS ties the clock to the work order, so a tech clocking onto a job is also building that job's cost record, with no separate timesheet to reconcile. The hours land where the work happened. That single change, hours attached to a job instead of a pay period, is the difference between a labor number you can trust and one you are guessing at.
Cost codes: bucketing the cost where you can use it
A cost code is a sub-bucket inside a job, so the cost lands somewhere specific instead of in one undifferentiated pile. On a project that might be rough-in, trim, gear, fixtures, and service. On a service business it might be the call type. Without codes, a job over budget tells you only that, and you have to go digging to find out where.
The codes are what make estimate-versus-actual useful. If you estimated rough-in at 120 hours and trim at 80, and the job comes in 30 hours over, the codes tell you the rough-in ate the overrun while trim came in clean. Now you know the problem is in the rough phase, on this kind of job, and your next estimate for that phase is suspect. One job total could never tell you that.
Keep the code list short enough that the field will actually use it. A scheme with sixty codes gets ignored, and ignored codes are worse than none, because the data looks complete and is not. Five to ten codes that match how you actually phase the work, used every time, beat an elaborate system nobody charges to correctly.
How do you compare estimate to actual?
You compare estimate to actual by cost code, in hours and dollars, with the variance called out for each line. The total margin tells you the score. The line-by-line tells you the story, and the story is what you can act on.
Lay it out as a table per job: each cost code, the estimated hours and dollars, the actual hours and dollars, and the variance in both directions. A code that ran over jumps off the page. The discipline is to do it on closeout for every job, while the memory of what happened is fresh, and to write a sentence next to each big variance saying why. The drawing changed. The customer added scope nobody priced. The crew was green on that gear. That sentence is what makes the number teach you something six months later.
Where this pays off is the bid for the next one like it. Estimating and bidding is its own discipline, covered in the estimating guide, but the actuals you capture here are the raw material that makes the next estimate real instead of hopeful. The estimate said 120 hours and the job did 150 three times running. The estimate is wrong, and now you have proof, not a hunch.
| Cost code | Estimated hrs | Actual hrs | Variance |
|---|---|---|---|
| Rough-in | 120 | 150 | 30 over |
| Trim | 80 | 74 | 6 under |
| Gear set | 40 | 44 | 4 over |
| Fixtures | 60 | 58 | 2 under |
| Total labor | 300 | 326 | 26 over |
Watch the job while it runs, not at closeout
Job costing done only at closeout is an autopsy. It tells you the job died and why, but the job is over and the money is gone. The version that pays is watching the job while it runs, so you can still steer it.
The signal to watch is hours burning ahead of percent complete. If the job is 40 percent done by the schedule but has burned 60 percent of the estimated hours, it is on a path to blow the labor budget by half, and you can see that at the 40 percent mark with weeks left to react. Maybe you change the crew mix, tighten the sequence, or get a change order signed for the scope that crept in. At closeout none of those moves exist anymore.
This only works if the capture is live, which is the whole argument for clocking to the job in real time. A weekly hours report that lands ten days late is not an early warning, it is a slightly faster autopsy. The earlier and more current the cost data, the more of the job you can still influence. Catch it at 40 percent and you have options. Catch it at closeout and you have a lesson.
WIP: percent complete vs percent billed
Work in progress, WIP, is how you track jobs that span more than one billing period so you know whether you have billed ahead of the work or behind it. It rests on two percentages that should track each other and often do not. Percent complete is cost to date divided by total estimated cost. Percent billed is billed to date divided by the contract value.
When percent billed trails percent complete, you are underbilled: the job is further along than the money you have collected, which means your cash is financing the customer's project. When percent billed runs ahead of percent complete, you are overbilled: you have collected for work you have not done yet, which helps cash flow but is a liability you still owe in labor and material. Chronic underbilling is the one that quietly strangles a contractor, because the bank is funding work the customer should be funding.
WIP sits at the seam between job costing and accounting, and the exact treatment, including revenue recognition and any percentage-of-completion method, is something to set up with your accountant against your books. The field job-cost data, the cost to date and the estimate to complete, is what feeds it. Get the cost capture right and the WIP report has something true to stand on. Get it wrong and the WIP is as fictional as the job cost under it.
The work order feeds the job cost
On service work, the work order is where the cost data is born. The hours the tech spent, the parts off the truck, the equipment used: all of it is captured on the ticket while the job is happening, and all of it is exactly what the job cost needs. If the work order and the job cost are two separate systems, somebody is re-keying the data, and re-keyed data is late, lossy, and resented.
Tie them together and the job costs itself as a side effect of running the ticket. The tech logs three hours and a contactor on the work order, and those land on the job's labor and material lines automatically. No second entry, no Friday reconstruction, no parts that got installed and never costed. The work-order guide covers running the ticket itself from call to cash; the point here is that a well-run ticket is also a complete cost record if the two are wired together.
FieldOS treats the work order and the job cost as one record rather than two, so the hours and parts captured on the ticket are the same hours and parts that build the cost. That is the difference between a service department you can actually cost and one where the margin is a guess because half the parts and time never made it off the truck and onto a job.
Service costing vs project costing
Service and project work get costed differently because they are shaped differently, and using one method for both gives you bad numbers on at least one of them.
Service is per-ticket margin. Each call is its own small job: capture the hours and parts on the ticket, compare to what you billed, and you have the margin on that call. The volume is the catch. A service department runs hundreds of small tickets, and the margin killer is the few unbilled minutes and uncosted parts on each one, repeated until they add up to a department running at break-even. The fix is costing every ticket, not spot-checking the big ones.
Projects are percent-complete and WIP. A project runs weeks or months, spans billing periods, and the question is not just final margin but where you are against the budget right now and whether you are billed ahead of or behind the work. That is the WIP question, and it needs cost codes and an estimate-to-complete that service tickets never bother with. Run both kinds of work and you need both methods. Cost a project like a service ticket and you find out it lost money at closeout, far too late to matter.
Gross margin vs net margin: know both
Gross margin is what is left after the direct cost of the job: labor, material, equipment, and subs. Net margin is what is left after overhead comes off too. They answer different questions, and a contractor who only watches one of them is half blind.
Gross margin tells you whether the job itself was run well. It is the field's number, the one a foreman moves with good or bad execution. Net margin tells you whether the company makes money after the office, the trucks, and the owner's pay are covered. It is the business's number. A job can post a strong 35 percent gross and still leave the company at a 6 percent net once overhead is loaded, and if that 6 has to cover the slow season and a truck that throws a transmission, it is thinner than it sounds.
Watch gross at the job level to manage execution, and watch net at the company level to know whether you are actually building anything. The mistake is reporting gross margin and calling it profit. Gross is not profit. Net is, and net is always the smaller, more honest number.
Feed the actuals back into the next estimate
Job costing that nobody reads back into estimating is a diary. It records what happened and changes nothing. The whole loop only closes when the actual hours from finished jobs become the labor units that price the next ones. That is where job costing pays for itself several times over.
Work the loop concretely. You estimated a panel swap at 6 hours and the last five came in between 8 and 9. The estimate is wrong by a third, and you have five jobs of proof. Update the labor unit to 8.5 and your next bid for that work is priced from reality. Do this across the work you repeat, and your estimating database stops being a guess hardened by habit and starts being a record of what the work actually takes your crew on your kind of jobs.
This is the link back to the estimating and bidding guide, where the labor-unit method lives. The estimate predicts and the job cost measures, and the measurement is worthless if it never corrects the prediction. The contractors who win the long game are the ones whose estimates get more accurate every year because the actuals keep feeding them. The ones who keep guessing keep being surprised.
Capture the change-order cost, do not eat it
Scope changes on almost every job, and the cost of that change has to land on the job cost the same as any other cost. The failure mode is doing the extra work, never pricing it, and absorbing the hours and material into the base job, where it shows up as an overrun that looks like poor execution instead of unbilled scope.
Two things have to happen. The change gets authorized and billed, which is a work-order and contract matter covered elsewhere, and the change gets its own cost tracking so you can see whether the change orders themselves made money. Change orders are often more profitable than base contract work because you are negotiating from a position of being the crew already on site, but only if you cost them. A change order you did for free is a gift to the customer that prints as a loss on your job.
Tag the change-order hours and material to the change, not buried in the base. Then your estimate-versus-actual shows the base job and the changes separately, and you learn two things: whether you executed the base job to budget, and whether your change-order pricing is leaving money on the table. Mixed together, both lessons are lost.
The metrics worth tracking
A handful of numbers, tracked consistently, tell you almost everything job costing has to teach. More than that and nobody looks; fewer and you miss something that matters.
Margin by job is the base unit, gross and net. Margin by job type tells you which work to sell more of and which to stop bidding. Margin by crew tells you who runs work to budget, which is information you need before you hand someone the big job. And labor efficiency, actual hours against estimated hours, is the single most useful field metric there is. A crew that books 326 hours against a 300-hour estimate is running at about 92 percent efficiency, and a crew that does it every time is either being handed bad estimates or working slow, and the data tells you which.
Track these monthly, not annually. The point of metrics is to change behavior while there is still behavior to change, and a number you see once a year at tax time changed nothing. The contractor who knows their margin by job type and their labor efficiency by crew is making different decisions than the one who knows only the bank balance, and over a few years those different decisions are the whole difference between the two companies.
| Metric | What it tells you | How to read it |
|---|---|---|
| Margin by job | Did this job make money | Gross and net, every job |
| Margin by job type | Which work to sell or drop | Compare across the type |
| Margin by crew | Who runs work to budget | Before assigning the big job |
| Labor efficiency | Actual hrs vs estimated hrs | Under 100% means over budget |
| Billed vs complete (WIP) | Are you financing the customer | Underbilled is the cash risk |
Job cost in the system, not a shoebox at year end
Job costing breaks down at the seams between systems. Time lives in one place, work orders in another, purchase orders in a third, and accounting in a fourth, and every seam is where data gets dropped, delayed, or re-keyed wrong. The contractor doing job costing as a year-end exercise, a shoebox of receipts and a spreadsheet built in April, is not job costing. They are reconstructing a guess long after the jobs are cold.
The version that works captures the cost where the cost happens and lets it flow to the job without re-entry. Time clocked to the job, parts logged against the work order, purchase orders tied to the job number, and the whole thing reconciling to the books. The fewer hands the data passes through between the field and the cost record, the more of it survives and the truer the margin.
FieldOS is built for that flow on the field side: techs clock to the job, log material and equipment against it, and run the work order from the same record, so the cost data is captured live and tied to the job from the start rather than reassembled later. Pair the field capture with your accounting system for the books, and set up the structure, cost codes, overhead allocation, and WIP treatment with your accountant so the field numbers and the financial statements tell the same story. The tool captures the data; the accountant makes sure it ties out.
How job costing fails in practice
The failures are predictable, and they are almost never about the math. They are about discipline and timing.
No job costing at all is the first one, the contractor flying blind on the bank balance while the losers hide in the average. Costing labor at the bare wage instead of the burdened rate is the second, and it makes every job look fifteen to twenty dollars an hour more profitable than it is. Not allocating overhead is the third, which prints a gross margin and calls it profit. Reconstructing hours and material after the fact instead of capturing them live is the fourth, and it bakes in a bias that always flatters the job. Never comparing estimate to actual is the fifth, so the overruns are invisible and uncorrectable. And not feeding the actuals back into the next estimate is the sixth, which means you make the same mistake at the same price job after job.
Each one on its own undermines the numbers. Stacked, they produce a contractor who is confident, busy, and slowly going broke, because every signal they trust is telling them a job is more profitable than it is. The fix for all six is the same shape: capture live, burden and allocate fully, and close the loop back to estimating.
What to capture on every job
The job cost is only as good as what gets captured, and the list is short enough to be non-negotiable. Capture it live, on the job, in whatever system the field touches, so it lands on the right job at the moment the cost is incurred.
These are the fields that have to make it onto the cost record for the math to be true. Miss the burden on labor or the consumables on material and the job reads richer than it was, which is the error that hurts.
| Cost category | Capture method | Note |
|---|---|---|
| Labor hours | Clock to the job, live | Apply burdened rate, not wage |
| Material | Log against the job on site | Landed cost, tax and freight in |
| Consumables and small tools | Estimate or allocate per job | The line everyone forgets |
| Equipment | Rental invoice or internal rate | Owned gear is not free |
| Subcontractors | Sub invoice to the job | Include their change orders |
| Change-order cost | Tag to the change, not the base | Keeps base variance honest |
| Overhead | Allocate per hour or per % | Same method, every job |
Field checklist
Want this checklist to run itself on every job — with photo proof and a signed record crews can hand the customer? That's FieldOS.
Common mistakes
- Doing no job costing, so the losing jobs hide inside the average and you bid the next loser blind.
- Costing labor at the bare wage instead of the burdened rate, overstating margin by 40 to 60 percent of wage.
- Not allocating overhead, so a gross margin gets reported as profit.
- Reconstructing hours and material later instead of capturing them live, baking in a bias that flatters the job.
- Never comparing estimate to actual, so the overruns stay invisible and uncorrectable.
- Not feeding the actuals back into estimating, so the same mistake repeats at the same price.
- Absorbing change-order cost into the base job, which reads as an execution overrun instead of unbilled scope.
Practice and references
Job costing is an accounting and operations practice, not a code-driven one, so the references here are methods to set up with your books and your accountant rather than enforceable standards. The cost-accounting practice itself, tracking actual cost by job against the estimate, is standard construction accounting, and the work-in-progress and percentage-of-completion treatment that goes with multi-period jobs is where you want a construction-literate accountant, because revenue recognition and the WIP schedule have real tax and bonding consequences.
The burdened-rate and overhead-allocation methods are the two pieces of math to get right and to own. Build the burden from your actual payroll taxes, workers' comp, insurance, and benefit loads, by trade classification, and recompute it at least twice a year as those costs move. Set the overhead allocation method, per direct labor hour or as a percentage of direct cost, and apply it the same way to every job. Your accounting system is where the job cost has to reconcile to the financial statements, so the structure, the cost codes, and the chart of accounts should be set up so the field numbers and the books agree.
The three things to hold onto across all of it: capture the cost live, burden and allocate it fully, and close the loop by feeding the actuals back into the next estimate. The numbers and methods vary with your business, your trade rates, and your jurisdiction's tax treatment, so confirm the specifics with your accountant and tie them to your own books.
Units and terms
Job costing carries its own vocabulary, and the same idea shows up under different names across a job-cost report, an accounting package, and a banker's WIP request.
Knowing the terms keeps the conversation with your accountant and your bonding agent honest, because these words have precise meanings that a rough paraphrase gets wrong.
- Burdened labor rate
- Full hourly cost of a worker: wage plus taxes, insurance, benefits, and PTO, not the bare wage
- Overhead allocation
- The share of company-wide indirect cost loaded onto a job, per labor hour or as a percent of direct cost
- Direct cost
- Labor, material, equipment, and subs that tie to one job, before overhead
- Gross vs net margin
- Gross is what is left after direct cost; net is what is left after overhead too
- Cost code
- A sub-bucket inside a job, such as rough-in or trim, so cost lands where you can use it
- WIP
- Work in progress: tracks percent complete against percent billed on multi-period jobs
- Over / under billing
- Billed ahead of the work done (a liability) or behind it (financing the customer)
- Labor efficiency
- Actual hours against estimated hours; under 100 percent means the job ran over budget
FAQ
What is job costing?
Job costing is tracking the actual cost of one job, broken into labor, material, equipment, subcontractors, and allocated overhead, and comparing it against the estimate to find the real margin on that job. It is how you tell which jobs made money, instead of relying on the bank balance, which only shows that cash moved.
How do you calculate the true cost of a job?
Add burdened labor (hours times the fully loaded rate), material at landed cost, equipment, subcontractors at what you paid, and an allocated share of overhead. Bare wages and the supplier invoice are only about two thirds of the true cost. Leaving out burden, consumables, or overhead overstates the margin, which is the dangerous way to be wrong.
Why is job costing important?
Job costing finds the money-losing jobs that hide inside your company average, so you can stop bidding them blind. It lets you price the next job from real numbers, catch overruns mid-job while you can still act, and see which crews run work to budget. The bank balance hides all of that.
What is a burdened labor rate?
A burdened labor rate is the full hourly cost of a worker: base wage plus payroll taxes, workers' compensation, liability insurance, benefits, and paid time off. Burden commonly adds 40 to 60 percent to the wage, so a $40 wage costs around $56 to $64 an hour. Costing labor at the bare wage overstates margin badly.
How do you allocate overhead to a job?
Two common methods. Divide annual overhead by annual field hours and add that dollar figure per hour worked, or divide annual overhead by annual direct cost and apply that percentage to each job's direct cost. The per-hour method suits labor-heavy electrical work. Apply the same method to every job, or the margins are not comparable.
What is the difference between gross and net margin?
Gross margin is what is left after the direct cost of the job: labor, material, equipment, and subs. Net margin is what is left after overhead comes off too. Gross measures how well the job was run; net measures whether the company makes money. Gross is not profit. Net is, and it is the smaller number.
What is a WIP report and over/underbilling?
A WIP report compares percent complete (cost to date over total estimated cost) against percent billed (billed over contract value) on multi-period jobs. Billed behind the work is underbilling, where your cash finances the customer. Billed ahead is overbilling, a liability you still owe in work. Chronic underbilling quietly strangles a contractor's cash flow.
Why capture hours and material live instead of at week's end?
Reconstructed data is not just noisy, it is biased, and the bias always flatters the job. A tech splitting a week of hours across jobs from memory on Friday rounds the overruns away. Clocking to the job and logging material on site lands the cost on the right job, which is the only way the margin comes out true.
How does job costing improve the next estimate?
The actual hours from finished jobs become the labor units that price the next ones. If a panel swap estimated at 6 hours keeps coming in at 8 or 9, you have proof the estimate is low and you raise the unit. Close that loop across the work you repeat and your estimates get more accurate every year.
How do you track service jobs vs project jobs?
Service is per-ticket margin: cost the hours and parts on each call against what you billed, and watch for the unbilled minutes and uncosted parts that add up across high volume. Projects use percent-complete and WIP across billing periods, with cost codes and an estimate to complete. Use one method for both and you misread at least one.