What job costing means for a small contractor
Job costing assigns revenue and costs to one specific project, then compares what you expected with what happened. The useful question is not only “Did the job make money?” It is “Which phase, quantity, price, or production assumption created the difference?”
A bank balance cannot answer that question. Deposits from one job may pay suppliers for another, and customer payments are revenue—not negative expenses. Keep the estimate baseline, committed costs, actual costs, approved change orders, and remaining work visible by job.
Field rule:
Never “fix” an over-budget phase by editing the original estimate. Preserve the baseline, explain the variance, and improve the next estimate.
Contractor job cost categories
Direct labor
Field hours multiplied by the company’s chosen labor-cost rate. Decide whether that rate includes payroll taxes, insurance, benefits, and other labor burden, then use it consistently.
Materials
Product, consumables, freight, delivery, sales tax, waste, returns, credits, and small parts purchased for the job.
Subcontractors
Approved subcontract amount, extras, mobilization, and any contractor-paid materials or fees not included in the subcontract.
Equipment
Rental, delivery, fuel, operator charges, or a documented internal equipment allocation when your bookkeeping method uses one.
Permits and direct fees
Permits, inspections, dumpsters, disposal, parking, tolls, testing, and other costs traceable to this job.
Overhead allocation
Office, vehicles, insurance, software, estimating, and management are real costs, but they are not automatically direct job expenses. Apply one deliberate overhead method instead of scattering guesses across categories.
Operational job costing and accounting or tax treatment are not always identical. Keep source records and confirm your chart of accounts, labor burden, equipment allocation, and overhead method with your bookkeeper or accountant.
Seven-step construction job costing workflow
Freeze the approved estimate as the baseline
Save the final approved scope, quantities, labor assumptions, material budget, subcontractor quotes, equipment, permits, disposal, and expected revenue. Do not rewrite this baseline when costs change; the difference is the information job costing is meant to reveal.
Use the same phases and cost categories everywhere
Choose a short, repeatable structure such as prep, rough-in, installation, finish, and closeout. Under each phase, use consistent categories for labor, materials, subcontractors, equipment, permits or fees, and other direct costs.
Record committed costs before the invoice arrives
A signed purchase order, accepted supplier quote, equipment rental, or subcontract is a commitment. Recording it early shows what the job is likely to cost even before cash leaves the bank.
Capture actual labor and expenses from the field
Post crew time to the correct job and phase. Save receipts with vendor, date, category, quantity, tax, delivery, and job reference. Include small supply-house runs and disposal fees—the forgotten costs that quietly erode margin.
Compare budget, committed, and actual every week
Review each phase while there is still time to act. Investigate overruns, missing receipts, excess hours, waste, rework, price changes, and unapproved customer requests instead of waiting for the final invoice.
Separate scope growth from estimating misses
If the customer adds work, document and approve a change order before treating the added revenue and cost as part of the job. If the original scope simply took longer or used more material, keep that as a true estimating variance.
Close the job and update future pricing
After final costs are posted, calculate gross profit and margin, review variance by phase and category, note the cause, and update labor production rates, waste assumptions, supplier costs, minimum charges, or scope language for the next similar estimate.
Job costing formulas contractors actually need
Cost variance
Actual cost − estimated cost
A positive result is over budget; a negative result is under budget.
Variance percentage
(Actual cost − estimated cost) ÷ estimated cost × 100
Useful for comparing a small phase with a large phase.
Gross profit
Job revenue − direct job costs
Keep approved change-order revenue in revenue, not as a reduction of cost.
Gross margin
Gross profit ÷ job revenue × 100
Margin is a percentage of selling price; it is not the same as markup on cost.
Forecast at completion
Actual cost to date + expected cost to finish
Update this before the job ends so an overrun can still be managed.
Projected final profit
Expected final revenue − forecast at completion
Use approved revenue for the firm view; show pending change orders separately.
Job costing example: estimated vs. actual
A remodeling contractor has an approved contract value of $18,500. The estimate carries $12,000 in direct costs. After all receipts, labor costs, and subcontractor invoices are posted, actual direct cost is $13,700.
| Cost category | Estimated | Actual | Variance |
|---|---|---|---|
| Materials | $6,200 | $7,000 | +$800 |
| Labor | $3,700 | $4,200 | +$500 |
| Subcontractors | $1,500 | $1,600 | +$100 |
| Equipment and fees | $600 | $900 | +$300 |
| Total direct cost | $12,000 | $13,700 | +$1,700 |
Cost variance
$1,700 over budget
Variance rate
14.17% over budget
Actual gross margin
25.95%
Actual gross profit is $4,800: $18,500 revenue minus $13,700 direct cost. The next review should explain the $800 material miss, $500 labor miss, and $300 equipment/fee miss separately. “Job ran over” is not specific enough to improve future pricing.
Fifteen-minute weekly job cost review
Have all crew hours been assigned to the correct job and phase?
Are this week’s receipts, supplier invoices, returns, and credits posted?
Which purchase orders or subcontract commitments are still open?
Which phase has the largest dollar variance and percentage variance?
Is the variance caused by added scope, price, quantity, production, waste, rework, or miscoding?
Does added work need a written change order before the crew continues?
What cost remains to finish, and is the expected final margin still acceptable?
Job costing mistakes that hide the real margin
Changing the original budget to match actual costs, which erases the variance
Tracking supplier spend but leaving owner or crew labor out of the job
Mixing deposits and customer payments into cost totals instead of keeping revenue and cost separate
Counting an unpaid purchase commitment only after the vendor invoice arrives
Using different phase names on estimates, time entries, receipts, and subcontract records
Treating customer-added work as an overrun instead of documenting a change order
Waiting until tax time to decide whether a completed job made money
How QuoteAnvil supports the workflow
Build the customer estimate with explicit quantities and rates, keep the approved contract and change orders tied to the project, log project expenses by category and phase, and compare phase estimates with expense totals in ProjectForge Budget. Track crew time in ClockForge, then include the labor-cost basis you use when completing the final job review.
Keep estimate, project, change order, invoice, and customer context connected
Log vendor, category, amount, phase, date, and expense description
Review contract revenue, approved change orders, expense totals, and phase variance
Carry lessons from completed jobs into future estimate quantities, rates, and scope notes
Turn completed jobs into better estimates
QuoteAnvil helps contractors keep the estimate, project budget, field records, approved changes, and final billing closer together—so pricing decisions can come from job history instead of memory.