Practical trade business guide
Job Costing for Contractors: Estimated vs. Actual Profit
Use completed jobs to find estimating misses, production problems, scope changes, and real gross profit.
By Goopuh
How this guide was prepared
Goopuh uses research and AI-assisted tools to organize this guide around a specific reader task. AI assistance is not field experience. We label calculations as examples, link primary or authoritative sources where they are used, welcome corrections, and flag decisions that require a qualified professional or current local requirements.

Quick answer
Contractor job costing compares the revenue and estimated cost of a job with its actual labor, materials, equipment, subcontractors, and other direct costs. The useful result is not only a final margin—it is an explanation of each meaningful variance and a correction to the next estimate or workflow.
Pricing & profit guideOpen the complete contractor pricing guide
Create the cost baseline before work begins
Save the approved scope, estimated quantities, production hours, labor cost, materials, equipment, subcontractors, allowances, price, and target gross profit. If the baseline changes silently during the job, the final comparison cannot explain what happened.
Capture actual cost consistently
Record field hours by job, supplier invoices and returns, equipment or rental cost, subcontractor bills, permits, disposal, and credits. Close purchase orders and timesheets promptly. Perfect detail delivered months late is less useful than consistent detail reviewed every week.
Calculate the variances
For each cost group, actual minus estimated cost shows the dollar variance. Compare actual gross profit and gross margin with the estimate. Then assign a cause.
| Variance | Questions to ask |
|---|---|
| Labor hours | Was production slower, scope larger, access worse, or rework required? |
| Labor cost | Did crew mix, overtime, or loaded rate differ? |
| Materials | Was quantity, price, waste, or purchasing wrong? |
| Revenue | Were changes approved and invoiced? Were discounts applied? |
| Gross profit | Which variance explains the gap? |
Separate estimating, production, and scope problems
An estimating miss requires better measurements or assumptions. A production problem may require training, equipment, sequencing, or supervision. A scope change requires a stronger authorization process. Treating all overruns as “work faster” hides the actual repair.
Turn closeout into pricing data
Review the largest dollar and percentage variances weekly. Update production rates, material allowances, and estimate templates only when the data is comparable. Return to the complete pricing guide and use the change-order guide when unbilled work is the cause.
Design job codes the field will actually use
Start with a small set of meaningful cost codes such as mobilization, demolition, rough work, finish work, testing, and closeout. Too many codes create inaccurate time entry; too few hide the source of variance. The estimator and field team should use the same task names.
Make job selection and time entry fast on a phone. Require notes only for exceptions such as changed scope, delay, rework, or unplanned material. Attach supplier receipts and photos to the job while the crew still knows what they represent.
Use a weekly work-in-progress review
Do not wait until final payment to discover an overrun. For multi-day work, compare percent complete, labor used, materials committed, approved changes, billed amount, and remaining risk every week. Forecast cost to complete rather than assuming the original unused budget is enough.
A job that is 50 percent complete but has consumed 75 percent of its labor budget needs attention. Confirm whether completion is measured accurately, remaining work is easier, a change is pending, or production has missed the plan.
Turn each variance into one named action
Closeout is incomplete until a material variance has an owner and action. Update an estimate quantity, production rate, supplier allowance, training step, truck stock, scope clause, or change-order trigger. Avoid vague conclusions such as “crew took too long.”
Track whether the action changed the next comparable job. Over time, the company develops its own production library—hours and quantities based on real work instead of generic averages.
Worked estimated-versus-actual example
A job was estimated at $10,000 revenue, $3,000 labor, $3,200 materials, and $800 other direct cost. Estimated cost was $7,000, gross profit $3,000, and gross margin 30 percent. Actual labor was $3,650, material was $3,050 after returns, and other cost was $900. Final revenue remained $10,000.
Actual cost was $7,600, gross profit $2,400, and gross margin 24 percent. Labor created a $650 unfavorable variance, materials a $150 favorable variance, and other cost a $100 unfavorable variance. The closeout must explain the labor and other-cost causes before changing the next estimate.
| Category | Estimated | Actual | Variance |
|---|---|---|---|
| Revenue | $10,000 | $10,000 | $0 |
| Labor | $3,000 | $3,650 | $650 unfavorable |
| Materials | $3,200 | $3,050 | $150 favorable |
| Other direct cost | $800 | $900 | $100 unfavorable |
| Gross profit | $3,000 | $2,400 | $600 unfavorable |
| Gross margin | 30% | 24% | 6 points lower |
Build a small decision dashboard
For each completed job, show estimated and actual revenue, cost, gross profit, margin, labor hours, material variance, change orders, and callback cost. Add job type, crew, estimator, and service area so comparable work can be grouped. Restrict access to sensitive employee and customer information.
The dashboard should answer a decision, not decorate a screen. Highlight jobs outside an agreed variance threshold and link to the closeout note. Review patterns monthly and single large exceptions weekly.
Capture committed cost before the invoice arrives
A job can appear profitable when supplier and subcontractor bills have not posted. Record purchase orders, special-order commitments, subcontract agreements, equipment reservations, and expected credits while work is active. At closeout, replace committed values with actual invoices and confirm returns and credits.
Use a clear status: estimated, committed, received, invoiced, returned, or credited. Do not add both a commitment and its final invoice to actual cost. The status allows management to see exposure without double counting.
Use cost codes that answer operating questions
Start with labor, material, equipment, subcontractor, permit, disposal, and other direct cost. Add task or phase codes only when the business will use them to estimate or improve production. A remodeler might separate demolition, rough-in, finish, testing, and closeout; a service company may need diagnosis, repair, travel, and callback.
Train crews with examples and keep the list stable long enough to compare jobs. Too many codes create guessing and incomplete time records.
Troubleshoot variances with evidence
Document the root cause and the next estimate or workflow change. Do not overwrite a production rate from one unusual job without confirming comparability.
| Variance pattern | Evidence to inspect | Possible system repair |
|---|---|---|
| Hours high, quantity correct | Time by task, crew mix, access, rework | Production rate, training, sequencing, or tool change |
| Material quantity high | Measurements, waste, changes, theft, returns | Takeoff or inventory control |
| Revenue low | Discounts, changes, credits, incomplete billing | Authorization and invoice reconciliation |
| Callback cost high | Cause, original scope, testing, product, technician | Quality control or task-specific correction |
Close ordinary jobs within seven days
Set a closeout deadline after completion for time, purchases, returns, subcontractors, changes, invoice, and variance notes. Hold a weekly exception review for jobs still open. Large projects may need a longer formal close, but they should receive work-in-progress reviews before completion.
Turn job-cost findings into controlled changes
Give every material variance a cause category, evidence link, owner, and corrective action. A change might update a production rate, estimate question, supplier allowance, crew plan, approval threshold, or training step. Date the change and identify which future jobs should use it.
After several comparable completions, confirm whether the correction narrowed the variance. Do not rewrite historical estimates or delete inconvenient outliers; keep them available for learning and audit.
Protect customer and employee information
Limit job-cost access by role, retain only necessary personal data, and separate operational analysis from public performance claims. Use aggregated crew and job-type patterns for improvement, then review individual records only when the evidence requires it. Document who can export, correct, and approve financial records. Review those permissions periodically and log changes.
Free editable tool
Put this guide into practice
Use a practical Goopuh template to capture the details while they are fresh. Email updates are optional.
From template to operating system
Run the workflow in Goopuh Trade Profit OS
Goopuh is building the connected system for estimates, job records, actual costs, customer follow-up, and clearer profit decisions.
Frequently asked questions
What should contractors track for job costing?
Track approved revenue, labor hours and cost, materials and returns, equipment, subcontractors, permits, disposal, other direct costs, and approved changes.
When should a job be costed?
Capture costs during the work and perform final closeout as soon as invoices, returns, time, and change orders are complete.
What is the most useful job-costing report?
A simple estimated-versus-actual comparison by cost category with gross profit and a documented reason for material variances is often the best starting point.
Pricing note: Examples explain the method; they are not guaranteed market rates. Use your actual labor, overhead, taxes, insurance, licensing requirements, risk, and local conditions before quoting work.
