Job costing calculates the total cost of one specific job by adding three figures: direct materials, direct labor at a burdened rate, and an allocated share of overhead. A $28 hourly wage costs roughly $40 once employer benefits are included, so job costs built on base wages run about 12% low. Contractors, agencies, manufacturers and professional services use it to price work and measure margin per job.
Key takeaways
- Job cost = direct materials + burdened direct labor + allocated overhead.
- Benefits add 42.9% on top of wages for the average US private-sector employee. Using base wages understates job cost by about 12%.
- Overhead is applied with a predetermined rate: overhead for the period divided by direct labor hours in the period.
- Overtime premiums and non-billable hours belong to no single job. Decide the rule before you quote, not after.
- Job costing is only as accurate as the timesheet it reads. The job code has to be inside the time entry, not in a note.
What is job costing?
Job costing assigns direct materials, direct labor and allocated overhead to a single identifiable job. The result is one number: what that job cost to deliver. If you want the short version first, our definition of job costing covers the term on its own.
The method answers a question that monthly accounting cannot. A profit and loss statement tells you the business made money in March. Job costing tells you which March jobs made money and which ones quietly lost it.
Every job cost is built from three categories. Direct materials are the things consumed by the job. Direct labor is the time people spent on it, priced at what that time actually costs the employer. Overhead is the share of rent, utilities, insurance, software and equipment that the job absorbed while it was running.
Costs that belong to a period rather than a job — the office lease, the accountant’s retainer — are not excluded. They enter the job through the overhead rate.
Job costing vs. process costing: which one fits?
Job costing suits work where every order differs. Process costing suits work where every unit is interchangeable.
| Job costing | Process costing | |
|---|---|---|
| Unit of cost | One identifiable job or order | One unit in a continuous run |
| How cost is collected | Per job, on a job cost sheet | Per department or process, then averaged |
| When to use it | Every job differs in scope, materials or hours | Every unit is interchangeable |
| What the customer gets | A quote for their specific job | A list price |
| Typical industries | Construction, agencies, custom manufacturing, legal, consulting | Chemicals, beverages, paper, commodity electronics |
| Main risk | Overhead allocated on the wrong driver | Averaging hides a loss-making variant |
A custom storefront sign is a job: its panel size, vinyl, mounting hardware and install hours exist only for that client. A roll of the same vinyl film coming off a line is a process: the thousandth metre costs what the first one did.
Some businesses run both. A sign shop fabricates custom jobs and also prints standard sizes in batches. Cost each stream with the method that fits it rather than forcing one across both.
Who uses job costing?
Job costing is used wherever price is quoted per job rather than per unit. The cost driver and the typical error differ by industry.
| Industry | Largest cost in a job | What usually goes wrong |
|---|---|---|
| Construction and trades | Labor and subcontractors | Travel and rework time left off the job |
| Marketing and creative agencies | Labor | Revisions not logged against the job |
| Legal and consulting | Labor | Time captured only after the fact |
| Custom manufacturing | Materials and machine time | Setup scrap counted as general consumables |
| Field service and repair | Labor and travel | Drive time unallocated |
| Print and signage | Materials | Consumables treated as overhead |
| IT and software projects | Labor | Meetings and support not booked to a job |
| Engineering | Labor | Design iterations not separated |
| Events and catering | Labor and perishables | Overtime on event days unassigned |
The pattern in the third column is worth noticing. Almost every failure is a labor hour that never reached a job code, not a material invoice that went missing. Materials arrive with paperwork. Hours do not.
How do you calculate job costing?
The whole method reduces to one line:
Job cost = Direct materials + Direct labor (burdened) + Allocated overhead
Each term needs its own calculation, and one of them is where most job costs go wrong.
How do you calculate direct materials?
Direct materials = materials consumed by the job + indirect materials attributable to it
Direct materials are straightforward: the aluminium panel, the vinyl, the mounting hardware. Take the quantity the job consumed at the price you paid.
Indirect materials are where money leaks. Adhesive, blades, masking tape, cleaning supplies, and the offcuts at the start and end of a run. Each item is too small to invoice separately, so it drifts into overhead and stops being visible per job. For material-heavy work, estimate consumables as a percentage of direct materials and apply it per job rather than burying them.
Two purchasing details change the number. If a supplier’s minimum order is larger than the job needs, charge the job for what it consumed and move the remainder to inventory. If tiered pricing means a larger order lowered the unit cost, use the price actually paid, not the list price.
How do you calculate direct labor?
This is the step that decides whether a job cost is right or roughly a third too low.
A common formula looks like this: working days multiplied by the daily pay rate multiplied by the number of workers. It leaves out everything the employer pays on top of the wage — payroll taxes, benefits, paid leave, workers’ compensation insurance. The daily rate is what the worker receives, not what the hour costs the business. Our guide to labor costs works through the components one at a time.
The US Bureau of Labor Statistics measures the gap. In its Employer Costs for Employee Compensation release for June 2026, published on 9 September 2026, private-industry employer costs averaged $46.89 per hour worked.
| Per hour worked | Share of total | |
|---|---|---|
| Wages and salaries | $32.82 | 70.0% |
| Benefits | $14.07 | 30.0% |
| Total employer cost | $46.89 | 100% |

Two numbers come out of that table and they are regularly confused. Benefits are 30.0% of the total cost of an hour. As a markup on the wage they are $14.07 divided by $32.82, which is 42.9%. The multiplier you apply to a base wage is therefore about 1.43, not 1.30.
Burdened hourly rate = base hourly wage × burden multiplier
Direct labor = burdened hourly rate × hours booked to the job
A $28.00 wage at a 1.4287 multiplier is $40.00 per hour of real cost.
That 1.43 is a national private-sector average. Your own multiplier is (employer payroll taxes + benefits + paid leave + insurance) divided by wages paid, and it varies by industry and state. Construction and healthcare carry heavier insurance than professional services. Use the BLS figure as a working number until payroll gives you your own.
What is a predetermined overhead rate?
Overhead cannot be traced to a job directly, so it is spread across jobs using a driver. In labor-intensive work the usual driver is direct labor hours.
Predetermined overhead rate = total overhead for the period ÷ total direct labor hours in the period
A shop with $9,600 of monthly overhead and 320 direct labor hours has a rate of $30.00 per direct labor hour.
Where labor is not the main driver, use output instead: overhead divided by planned units. A machine-heavy operation may use machine hours.
The rate is a forecast, and a stale forecast distorts every job at once. Recompute it when volume changes or when overhead changes — a new lease, new equipment, a software renewal — rather than once a year out of habit.
How do you allocate overhead to a job?
Allocated overhead = predetermined overhead rate × direct labor hours on the job
Only hours booked to jobs belong in the allocation base. Hours that sit on no job dilute the rate if you include them, which is why they are handled separately further down.
Job costing example: a two-job week
A two-person sign shop runs two jobs in one week.
Inputs
- Base wage $28.00 per hour; burden multiplier 1.4287, so the burdened rate is $40.00 per hour
- Overhead $9,600 per month across 320 direct labor hours, so the rate is $30.00 per direct labor hour
- Overtime is paid at 1.5× the base wage, so the premium is $14.00 per overtime hour
Hours for the week
| JOB-2026-114 storefront sign | JOB-2026-115 vehicle wrap | Non-billable | Total | |
|---|---|---|---|---|
| Fabricator 1 | 22 h | 16 h | 2 h | 40 h |
| Fabricator 2 | 18 h | 20 h + 4 h OT | 2 h | 44 h |
| Total | 40 h | 40 h | 4 h | 84 h |
Cost per job
| JOB-2026-114 | JOB-2026-115 | |
|---|---|---|
| Direct labor (40 h × $40.00) | $1,600.00 | $1,600.00 |
| Overtime premium (4 h × $14.00) | — | $56.00 |
| Direct materials | $1,240.00 | $780.00 |
| Indirect materials | $85.00 | $60.00 |
| Allocated overhead (40 h × $30.00) | $1,200.00 | $1,200.00 |
| Share of non-billable time | $80.00 | $80.00 |
| Total job cost | $4,205.00 | $3,776.00 |
The same total reached a second way, as a check:
| Labor, 84 h × $40.00 | $3,360.00 |
| Overtime premium, 4 h × $14.00 | $56.00 |
| Materials, $2,020.00 direct + $145.00 indirect | $2,165.00 |
| Overhead, 80 direct labor hours × $30.00 | $2,400.00 |
| Total | $7,981.00 |
$4,205.00 plus $3,776.00 is $7,981.00. The two routes agree.

What the burden multiplier is worth
Run the same week on base wages instead of burdened rates and the picture changes.
| Burdened | Base wage only | Difference | |
|---|---|---|---|
| Labor, 84 h | $3,360.00 | $2,352.00 | −$1,008.00 |
| Total for the week | $7,981.00 | $6,973.00 | −12.6% |
Quoting from the second column means pricing every job about 12.6% below what it actually costs. On a shop turning over $400,000 a year, that is roughly $50,000 of margin that was never in the price.
Margin on each job
| Quoted | Actual cost | Gross margin | |
|---|---|---|---|
| JOB-2026-114 | $5,200.00 | $4,205.00 | 19.1% |
| JOB-2026-115 | $4,400.00 | $3,776.00 | 14.2% |
Both jobs were profitable. The wrap earned five points less margin on a quote only $800 lower, which is the kind of difference that only appears once costs are assigned per job.
Which job pays for the overtime?
The $56.00 overtime premium in that example was not caused by one job. The second fabricator crossed 40 hours because of both jobs together. Three allocation methods are defensible, and each produces a different cost per job.
| Method | JOB-114 bears | JOB-115 bears | When it makes sense | Weakness |
|---|---|---|---|---|
| Assign to the job worked last | $0.00 | $56.00 | The schedule is fixed and the late job genuinely caused the overrun | Penalises whichever job happens to land on Friday |
| Split pro rata by hours | $28.00 | $28.00 | Both jobs competed for the same hours | Spreads a cost one job may not have caused |
| Move it into overhead | via rate | via rate | Overtime is routine and spread evenly across jobs | Hides which jobs run hot |
There is no single correct answer. What matters is that the rule is chosen before the costing is produced and applied the same way to every job. Switching methods between jobs makes margin comparison meaningless, because the difference you are looking at may be the method rather than the work.
One point is not a choice. Under the Fair Labor Standards Act the overtime pay premium is an obligation, not a management decision. What you allocate is where the premium lands in your costing, not whether it is paid.
Where does non-billable time go?
The four hours in the example were a shop meeting. They were paid, and they belong to no job.
The same category covers travel between sites, waiting on materials, training, internal admin and rework caused by your own error. Leave these hours out of costing and every job looks cheaper than it was.
Non-billable share = (non-billable hours × burdened rate) × (job’s direct hours ÷ total direct hours)
In the example, 4 hours at $40.00 is $160.00. Split across two jobs with 40 direct hours each, that is $80.00 per job.
The alternative is to push non-billable time into the overhead pool and let the rate distribute it. That works, but only if the rate is recomputed to include those hours. Otherwise they are not counted anywhere.
Rework deserves its own code. Rework charged to the job it repairs hides the cost of the error inside the cost of the work, and the job looks expensive for no visible reason. Tracked separately, it becomes a number you can act on.
How do you compare estimated and actual job cost?
Closing a job without comparing it to the estimate wastes the exercise. Two formulas do the work.
Cost variance = actual cost − estimated cost
Cost variance % = (actual cost − estimated cost) ÷ estimated cost
A positive variance is an overrun, a negative one a saving.
The totals alone are not actionable. Break the variance into components.
| Estimated | Actual | Variance | Variance % | |
|---|---|---|---|---|
| JOB-2026-114 | ||||
| Direct labor | $1,440.00 | $1,600.00 | +$160.00 | +11.1% |
| Materials | $1,260.00 | $1,325.00 | +$65.00 | +5.2% |
| Overhead | $1,200.00 | $1,200.00 | $0.00 | 0.0% |
| Non-billable share | $0.00 | $80.00 | +$80.00 | — |
| Total | $3,900.00 | $4,205.00 | +$305.00 | +7.8% |
| JOB-2026-115 | ||||
| Total | $3,950.00 | $3,776.00 | −$174.00 | −4.4% |
The 7.8% overrun on the storefront sign reads very differently once it is split. Labor ran 11.1% over while materials were close. Non-billable time was never in the estimate at all. Those are two different fixes: one is an estimating norm for hours, the other is a line that was missing from the template.
A working threshold: when labor variance exceeds 10% on two consecutive jobs, the estimating norm is wrong, not the job.

What has to be on the timesheet for job costing to work?
Every formula above takes hours as an input. The job cost is accurate to exactly the degree that the timesheet is.
| Requirement | Why job costing breaks without it |
|---|---|
| Job code inside the time entry, not in a comment | A code in a note cannot be summed; labor lands in a general bucket |
| Time captured as it happens | Hours reconstructed on Friday drift toward round numbers and lose short tasks |
| Paid and unpaid breaks recorded separately | An unpaid lunch left in the entry inflates labor on the job |
| Overtime flagged at entry | Without the flag the premium is invisible and gets averaged away |
| Non-billable hours have their own codes | Travel, waiting and rework become a cost nobody owns |
| Approval recorded with a timestamp | An unapproved timesheet is not evidence in a client dispute |
| One entry cannot sit on two jobs | Split hours get double-counted in both job costs |
| Edit history preserved | A changed entry with no trail breaks any audit of the job cost |

Online timesheets supply the hours and the job codes. They do not post journal entries or produce financial statements — the job cost itself is assembled in your accounting system. What tracking decides is whether the labor number feeding that calculation is real.
Record hours against job codes as the work happens, flag overtime at entry, and keep an approval trail.
Try Monitask time tracking software free for 10 days
Which metrics should you track?
Six numbers cover most of what job costing is for.
| Metric | Formula | What it tells you |
|---|---|---|
| Labor cost per job | burdened rate × hours on job | Whether labor is the margin driver |
| Labor hours per task | hours ÷ task count | Where estimates drift |
| Material cost per job | direct + attributable indirect | Whether consumables are mispriced |
| Gross margin per job | (quoted − actual cost) ÷ quoted | Which work is worth repeating |
| Overhead absorption | allocated overhead ÷ actual overhead | Whether the rate is stale |
| Billable utilization | billable hours ÷ paid hours | How much paid time reaches a job |
Overhead absorption is the one most often skipped. If allocated overhead comes in well under actual overhead across a quarter, the rate is too low and every job in that quarter was underpriced.
The job costing process, step by step
| Step | Action | Common failure |
|---|---|---|
| 1 | Open the job with a unique code, such as JOB-2026-114 | Codes assigned after work has started |
| 2 | Estimate materials, labor hours and overhead | Estimate built on base wages |
| 3 | Book hours and materials against the code daily | Weekly reconstruction from memory |
| 4 | Apply the overhead rate | Rate not updated after a volume change |
| 5 | Record the overtime and non-billable rules | Rule chosen per job instead of once |
| 6 | Close the job and compute variance | Variance computed on totals only |
| 7 | Feed the result into the next estimate | Report filed and never read |
Step seven is the point of the whole process. Job costing that produces a history and no change to the next quote is bookkeeping, not management.
What makes job costing go wrong?
| Problem | Why it happens | Fix |
|---|---|---|
| Job costs look lower than reality | Labor taken at base wage | Apply the burden multiplier |
| Margins vary with no clear cause | Overtime allocated differently each time | Fix one rule in writing |
| Overhead over- or under-absorbed | Rate set once and never revised | Recompute when volume or overhead changes |
| Small jobs look unprofitable | Setup and travel loaded onto short jobs | Separate setup cost from run cost |
| Variance report nobody uses | Only totals compared | Break variance into labor, materials, overhead |
| Hours missing from jobs | Job code not in the time entry | Make the job code a required field |
Free job cost sheet
The calculations above fit on one worksheet. The sheet below takes a base wage, a burden multiplier and an overhead rate on a settings tab, then computes burdened labor, overtime premium, allocated overhead, the non-billable share, total job cost, gross margin and variance against the estimate.
| Field | Type |
|---|---|
| Job code, client, dates | entry |
| Base wage and burden multiplier | entry, settings tab |
| Hours by worker by day with job code | entry |
| Burdened labor cost | formula |
| Overtime hours and premium | formula |
| Direct and indirect materials | entry |
| Overhead rate | entry, settings tab |
| Allocated overhead | formula |
| Non-billable allocation | formula |
| Total job cost | formula |
| Quoted price and gross margin | formula |
| Estimate vs actual variance by component | formula |
It opens with the two-job week above already filled in, so every formula can be read against known numbers. A blank copy is included for starting your own.

If you only need to add up hours before they reach the sheet, the time card calculator does that part on its own.
Record hours against job codes as the work happens, flag overtime at entry, and keep an approval trail.
Try Monitask time tracking software free for 10 days
FAQ
How do you calculate labor cost for a job?
Multiply the hours booked to the job by a burdened hourly rate, not the base wage. The burdened rate is the base wage multiplied by a burden multiplier that covers payroll taxes, benefits, paid leave and insurance. For the average US private-sector employee that multiplier is about 1.43.
What is a burdened labor rate?
A burdened labor rate is the full hourly cost of an employee to the employer. It adds payroll taxes, benefits, paid leave and workers’ compensation to the base wage. Bureau of Labor Statistics data for June 2026 put private-industry costs at $46.89 per hour worked, of which $32.82 was wages and $14.07 benefits.
What is a predetermined overhead rate?
A predetermined overhead rate spreads overhead across jobs using a driver chosen in advance. The common version divides total overhead for a period by total direct labor hours in that period. Overhead of $9,600 across 320 direct labor hours gives $30.00 per direct labor hour.
What is the difference between job costing and process costing?
Job costing collects cost per identifiable job and suits work where every order differs. Process costing collects cost per department and averages it across interchangeable units. Construction, agencies and custom manufacturing use job costing; chemicals, beverages and commodity electronics use process costing.
Which job should overtime be charged to?
Three methods are defensible: charge the job worked last, split the premium pro rata by hours, or move it into overhead. None is universally correct. Choose one rule, write it down, and apply it to every job, because switching methods makes margin comparison between jobs meaningless.
How do you handle non-billable hours in job costing?
Price non-billable hours at the burdened rate, then allocate the total across jobs in proportion to each job’s direct hours. Four non-billable hours at $40.00 is $160.00, split $80.00 to each of two jobs with equal direct hours. Alternatively move them into overhead and recompute the rate.
How do you calculate job cost variance?
Cost variance is actual cost minus estimated cost. Cost variance percentage is that difference divided by the estimate. Compute it separately for labor, materials and overhead rather than on the total, because a 7.8% overrun driven by labor needs a different fix than one driven by materials.
Who uses job costing?
Construction and trades, marketing and creative agencies, legal and consulting firms, custom manufacturers, field service businesses, print and signage shops, IT and software projects, engineering offices, and events and catering companies. The common factor is pricing quoted per job rather than per unit.
Can you do job costing in a spreadsheet?
Yes, for a modest number of jobs. A worksheet handles burdened rates, overhead allocation and variance without difficulty. The limit is not the arithmetic but the input: once hours stop arriving in the sheet on the day they are worked, the job costs stop being accurate regardless of how good the formulas are.