11 minutes read

Job Costing: How to Calculate the True Cost of a Job

Augusto Diaz
October 25th, 2026
A $28.00 base wage against the $40.00 an hour it actually costs an employer, and the 12.6% a quote runs low without it

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 costingProcess costing
Unit of costOne identifiable job or orderOne unit in a continuous run
How cost is collectedPer job, on a job cost sheetPer department or process, then averaged
When to use itEvery job differs in scope, materials or hoursEvery unit is interchangeable
What the customer getsA quote for their specific jobA list price
Typical industriesConstruction, agencies, custom manufacturing, legal, consultingChemicals, beverages, paper, commodity electronics
Main riskOverhead allocated on the wrong driverAveraging 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.

IndustryLargest cost in a jobWhat usually goes wrong
Construction and tradesLabor and subcontractorsTravel and rework time left off the job
Marketing and creative agenciesLaborRevisions not logged against the job
Legal and consultingLaborTime captured only after the fact
Custom manufacturingMaterials and machine timeSetup scrap counted as general consumables
Field service and repairLabor and travelDrive time unallocated
Print and signageMaterialsConsumables treated as overhead
IT and software projectsLaborMeetings and support not booked to a job
EngineeringLaborDesign iterations not separated
Events and cateringLabor and perishablesOvertime 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 workedShare of total
Wages and salaries$32.8270.0%
Benefits$14.0730.0%
Total employer cost$46.89100%
Breakdown of a $46.89 employer cost per hour worked into $32.82 wages and $14.07 benefits

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 signJOB-2026-115 vehicle wrapNon-billableTotal
Fabricator 122 h16 h2 h40 h
Fabricator 218 h20 h + 4 h OT2 h44 h
Total40 h40 h4 h84 h

Cost per job

JOB-2026-114JOB-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.

Job cost sheet showing hours by job code with burdened labor, overtime premium, allocated overhead and total job cost calculated

What the burden multiplier is worth

Run the same week on base wages instead of burdened rates and the picture changes.

BurdenedBase wage onlyDifference
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

QuotedActual costGross margin
JOB-2026-114$5,200.00$4,205.0019.1%
JOB-2026-115$4,400.00$3,776.0014.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.

MethodJOB-114 bearsJOB-115 bearsWhen it makes senseWeakness
Assign to the job worked last$0.00$56.00The schedule is fixed and the late job genuinely caused the overrunPenalises whichever job happens to land on Friday
Split pro rata by hours$28.00$28.00Both jobs competed for the same hoursSpreads a cost one job may not have caused
Move it into overheadvia ratevia rateOvertime is routine and spread evenly across jobsHides 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.

EstimatedActualVarianceVariance %
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.000.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.

Estimated versus actual job cost by component for JOB-2026-114, showing the labor overrun and the unestimated non-billable share

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.

RequirementWhy job costing breaks without it
Job code inside the time entry, not in a commentA code in a note cannot be summed; labor lands in a general bucket
Time captured as it happensHours reconstructed on Friday drift toward round numbers and lose short tasks
Paid and unpaid breaks recorded separatelyAn unpaid lunch left in the entry inflates labor on the job
Overtime flagged at entryWithout the flag the premium is invisible and gets averaged away
Non-billable hours have their own codesTravel, waiting and rework become a cost nobody owns
Approval recorded with a timestampAn unapproved timesheet is not evidence in a client dispute
One entry cannot sit on two jobsSplit hours get double-counted in both job costs
Edit history preservedA changed entry with no trail breaks any audit of the job cost
A tracked day in Monitask split 45%, 30%, 10% and 7% across four projects, with clock-in, clock-out, break time and inactive time recorded separately from the day's total

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.

MetricFormulaWhat it tells you
Labor cost per jobburdened rate × hours on jobWhether labor is the margin driver
Labor hours per taskhours ÷ task countWhere estimates drift
Material cost per jobdirect + attributable indirectWhether consumables are mispriced
Gross margin per job(quoted − actual cost) ÷ quotedWhich work is worth repeating
Overhead absorptionallocated overhead ÷ actual overheadWhether the rate is stale
Billable utilizationbillable hours ÷ paid hoursHow 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

StepActionCommon failure
1Open the job with a unique code, such as JOB-2026-114Codes assigned after work has started
2Estimate materials, labor hours and overheadEstimate built on base wages
3Book hours and materials against the code dailyWeekly reconstruction from memory
4Apply the overhead rateRate not updated after a volume change
5Record the overtime and non-billable rulesRule chosen per job instead of once
6Close the job and compute varianceVariance computed on totals only
7Feed the result into the next estimateReport 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?

ProblemWhy it happensFix
Job costs look lower than realityLabor taken at base wageApply the burden multiplier
Margins vary with no clear causeOvertime allocated differently each timeFix one rule in writing
Overhead over- or under-absorbedRate set once and never revisedRecompute when volume or overhead changes
Small jobs look unprofitableSetup and travel loaded onto short jobsSeparate setup cost from run cost
Variance report nobody usesOnly totals comparedBreak variance into labor, materials, overhead
Hours missing from jobsJob code not in the time entryMake 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.

FieldType
Job code, client, datesentry
Base wage and burden multiplierentry, settings tab
Hours by worker by day with job codeentry
Burdened labor costformula
Overtime hours and premiumformula
Direct and indirect materialsentry
Overhead rateentry, settings tab
Allocated overheadformula
Non-billable allocationformula
Total job costformula
Quoted price and gross marginformula
Estimate vs actual variance by componentformula

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.

Job cost sheet settings tab, where the base wage, burden multiplier and overhead rate drive every job on the sheet

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

What is the job costing formula?

Job cost equals direct materials plus burdened direct labor plus allocated overhead. Direct materials are the items the job consumed. Burdened direct labor is hours multiplied by a rate that includes employer taxes and benefits. Allocated overhead is the predetermined overhead rate multiplied by the job’s direct labor hours.

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.

Popular Articles

Try Monitask now.
First 10 days free

No credit card required

Secret Link