Most contractors know whether their business is profitable. Fewer know whether each individual project is profitable. That distinction matters more than most business owners realize — because a contractor can have a profitable-looking income statement while consistently losing money on certain types of work.
Job costing is the accounting practice that closes that gap. It tracks revenue and costs at the project level, so you can see the gross profit on each job — not just the business overall.
What job costing actually tracks
A job cost report for a single project shows:
- Contract revenue — the amount billed or billable for the project
- Direct labor — hours worked on this project, at fully loaded labor cost
- Direct materials — materials purchased or consumed for this project
- Subcontractor costs — amounts paid to subs working on this project
- Equipment costs — rental or allocated cost of equipment used on this project
- Other direct costs — permits, inspections, project-specific insurance
- Gross profit — revenue minus all direct costs
- Gross margin — gross profit as a percentage of revenue
Overhead — office rent, administrative salaries, insurance not tied to a specific project — is typically tracked separately and allocated across projects, or managed at the company level.
Estimated vs. actual: the comparison that matters
Job costing is most useful when you compare actual costs to estimated costs. Before a project starts, you estimate what it will cost. As the project progresses, you track what it actually costs. The variance — estimated vs. actual — tells you whether the project is on track and whether your estimating process is accurate.
A contractor who consistently underestimates labor costs will consistently win bids and consistently lose money on those bids. Job costing makes that pattern visible. Without it, the pattern stays hidden in the aggregate numbers.
Work in progress and revenue recognition
For projects that span multiple accounting periods, job costing connects to work in progress (WIP) accounting. Revenue on a long-term contract is typically recognized using the percentage-of-completion method — you recognize revenue proportional to how much of the work is done.
This creates two important concepts:
- Overbilling — you have billed more than the percentage of work completed. This is a liability on your balance sheet (you owe the customer work you have already been paid for).
- Underbilling — you have completed more work than you have billed. This is an asset on your balance sheet (you are owed money for work already done).
Overbilling and underbilling affect both your financial statements and your tax liability. A large overbilled position at year-end means you have recognized revenue you have not yet earned — which can inflate taxable income.
Retainage and cash flow
Most construction contracts include retainage — typically 5–10% of each payment held back until the project is complete and accepted. Retainage creates a gap between revenue earned and cash received that can persist for months or years on large projects.
Job costing should track retainage separately so you know:
- How much retainage is outstanding on each project
- When retainage is expected to be released
- Total retainage receivable across all active projects
A contractor with $200,000 in outstanding retainage across multiple projects has a significant asset that needs to be managed — and collected.
Setting up job costing in QuickBooks
QuickBooks (both Desktop and Online) supports job costing through its customer and project tracking features. The basic setup involves:
- Creating each project as a customer or sub-customer in QuickBooks
- Assigning all income and expenses to the appropriate project when entering transactions
- Using items (service items, inventory items) consistently so costs are categorized correctly
- Running job profitability reports to see gross profit by project
The most common failure point is inconsistent assignment — some transactions are assigned to projects, others are not. This produces job cost reports that look complete but are missing costs, making projects appear more profitable than they are.
What to do with the data
Job cost data is most valuable when you use it to improve future estimates. After each project closes, review:
- Actual labor hours vs. estimated labor hours
- Actual material costs vs. estimated material costs
- Actual subcontractor costs vs. estimated subcontractor costs
- Final gross margin vs. estimated gross margin
Patterns across multiple projects — consistently underestimating labor on certain project types, consistently overrunning on material costs for certain scopes — tell you where to adjust your estimating process.
Job costing is not just a bookkeeping exercise. It is the feedback loop that makes your estimating more accurate over time.
Tax implications of job costing
For tax purposes, the method you use to recognize revenue on long-term contracts affects when you pay tax. The percentage-of-completion method — required for most contractors with average annual gross receipts over $30 million — recognizes income as work is completed. The completed-contract method — available to smaller contractors — defers income recognition until the project is complete.
The choice between these methods (where available) is a tax planning decision that should be made with your CPA, not defaulted into. The completed-contract method can defer significant tax liability on large projects, but it also defers the ability to recognize losses.
If you are a contractor with annual revenues above $30 million, the percentage-of-completion method is generally required. Below that threshold, the rules are more nuanced and depend on contract type and duration.
This article is for educational purposes only and does not constitute personalized tax, legal, or financial advice. Tax rules are complex and depend on your specific facts and circumstances. Consult a qualified CPA or tax professional before making decisions.
Gurmeet Singh, CPA
Founder & Managing Partner, Meet GS Tax
Gurmeet Singh is a licensed Certified Public Accountant born and raised in New York. He holds an accounting degree from Clemson University and founded Meet GS Tax to provide CPA-led tax planning, business taxation, and bookkeeping services to business owners, independent professionals, and high earners.
View full profile →