# Job Costing Calculator

Job costing tracks what each job actually cost (labor, materials, subcontractors and other direct costs) and compares it to the estimate. Actual gross profit = revenue − actual cost. A $16,000 job estimated at a 35% margin that ran $1,320 over kept only 26.8%: a profit fade of 8.25 points.

## Key takeaways

- Job cost = labor hours × burdened rate + materials + subcontractors + other direct costs.
- Compare each cost line, estimated vs. actual. The total hides which line went wrong.
- Profit fade = estimated margin − actual margin. Track it on every job, not just the ones that felt bad.
- Approved change orders are revenue. Extra work you didn't bill is pure fade.

## What is job costing?

Job costing means recording every direct cost against the job it belongs to, so you know what each job really made. Without it, you only see profit for the whole business at year end, and you can't tell the jobs that paid for everything from the ones that quietly lost money. See [job costing](https://www.brix.so/learn/job-costing) for the full explanation.

**Formula**

```
Actual gross profit = (C + CO) − (H × R + M + S + D)    Profit fade = estimated margin − actual margin
```

Where:
- C = contract price
- CO = approved, billed change orders
- H × R = actual labor hours × burdened labor cost per hour
- M = actual materials
- S = subcontractors
- D = other direct costs: permits, disposal, equipment rental

## How to job cost a project

1. **Start from the estimate, line by line.** Break the estimate into the same buckets you'll track: labor hours, materials, subs, other. If the estimate is one lump sum, you'll have nothing to compare to.
2. **Track labor hours per job, daily.** Have crews clock in and out by job, not just by day. Labor is the line that drifts most and the hardest to rebuild from memory.
3. **Code every bill to the job.** Supplier invoices, sub invoices, permit fees and dump tickets all get a job name or number. In QuickBooks, that means projects or classes; see [how to do job costing in QuickBooks](https://www.brix.so/learn/how-to-do-job-costing-in-quickbooks).
4. **Add approved change orders to revenue.** Only work the customer signed for and you billed. Get it in writing before you do it; see [change orders](https://www.brix.so/learn/change-order).
5. **Compare and write down why.** For every line that ran over, note the cause: underestimated hours, price increase, return trip, scope creep. That note is what makes the next estimate better.

> **Worked example: bathroom remodel**
>
> Contract: $16,000. Estimate: 80 labor hours at $45 ($3,600), $4,200 materials, $2,000 plumbing sub, $600 permit and dumpster. **Estimated cost $10,400, gross profit $5,600, a 35% margin.**
>
> Actual: rotted subfloor added 16 hours (96 total, $4,320), tile and backer board ran $4,650, the sub held at $2,000, and a second dumpster pull made other costs $750. **Actual cost $11,720.**
>
> Gross profit fell to $4,280, a **26.8% margin**: $1,320 over budget, a profit fade of 8.25 points. Labor was the biggest miss at +$720 (20% over).
>
> Had the subfloor been written up as a $1,500 change order, revenue would be $17,500 and gross profit $5,780, a 33.0% margin.

## Job costing report: what to look at

**Worked example, estimate vs. actual**

| Cost line | Estimated | Actual | Variance | Variance % |
| --- | --- | --- | --- | --- |
| Labor | $3,600 | $4,320 | +$720 | 20.0% |
| Materials | $4,200 | $4,650 | +$450 | 10.7% |
| Subcontractors | $2,000 | $2,000 | $0 | 0.0% |
| Other direct costs | $600 | $750 | +$150 | 25.0% |
| Total job cost | $10,400 | $11,720 | +$1,320 | 12.7% |
| Gross profit | $5,600 | $4,280 | −$1,320 | — |
| Gross margin | 35.0% | 26.8% | −8.25 pts | — |

## Where jobs run over, by trade

Every trade has a line that drifts. Watch it first; it's where your estimates need the most work.

**Cost lines to watch by trade**

| Trade | Line that usually drifts | Typical cause |
| --- | --- | --- |
| Remodeling and general contracting | Labor and materials | Hidden damage, owner-requested extras done without a change order |
| Roofing | Labor and disposal | Extra layers, rotted decking, weather days |
| HVAC installs | Labor and materials | Duct modifications, electrical upgrades, line-set replacement not in the quote |
| Plumbing | Labor | Seized fittings, access problems, return trips for parts |
| Electrical | Labor | Old wiring, panel or service issues found during the job |
| Landscaping and hardscape | Labor and equipment | Rock, poor soil, access for machines |

_Common causes, not measured rates. Your own job costing reports will show your pattern._

## Common job costing mistakes

- **Costing labor at the wage.** Use burdened cost (wage plus taxes, comp and benefits) or every job looks more profitable than it was. See the [labor burden calculator](https://www.brix.so/tools/labor-burden-calculator).
- **Lumping materials onto one job.** Buying for three jobs on one receipt and coding it to one ruins all three reports. Split the bill or use truck stock you charge out per job.
- **Waiting until the job is done.** On longer jobs, compare costs to date with percent complete every week so you can fix the problem while there's still budget left. See [WIP reports](https://www.brix.so/learn/wip-report).
- **Doing extras without change orders.** Work you didn't bill is the most common source of fade, and the easiest to fix.
- **Never feeding results back into estimates.** If bathrooms always run 20% over on labor, add 20% to the next estimate's hours.

Want a spreadsheet version? Use the [job costing spreadsheet](https://www.brix.so/templates/job-costing-spreadsheet). To price the next job with what you learned, use the [job pricing calculator](https://www.brix.so/tools/job-pricing-calculator).

BRIX tracks crew timesheets by job, keeps expenses categorized, and syncs invoices and costs with QuickBooks, so estimate vs. actual is there when the job closes instead of at tax time.

- [Crew timesheets](https://www.brix.so/#use-cases): Clock-ins, job hours and payroll-ready timesheets.
- [Bookkeeping and tax help](https://www.brix.so/features/bookkeeping-taxes): Keeps expenses categorized, tracks 1099 subcontractors and sales tax, and reminds you of quarterly estimated tax dates. BRIX does not file taxes or give tax advice.
- [QuickBooks sync](https://www.brix.so/integrations/quickbooks): Syncs customers, invoices and payments with QuickBooks so the books match the jobs.

## Frequently asked questions

### How do you calculate job costing?

Add every direct cost of the job: labor hours times burdened labor cost, materials, subcontractors, permits, disposal and equipment rental. Subtract the total from the job's revenue (contract plus approved change orders) to get gross profit, then divide by revenue for gross margin.

### What is profit fade?

Profit fade is the drop between the margin you estimated and the margin you actually earned. A job estimated at 35% that finishes at 27% faded 8 points. Tracking it on every job shows whether your estimates are consistently optimistic.

### Should overhead be included in job costing?

Track direct costs per job first; that's what gross profit measures. You can add an overhead allocation (for example, your overhead percentage of revenue) to see net profit per job, but keep it separate so you can tell estimating problems from overhead problems.

### How often should I job cost?

On every job when it closes. For jobs longer than a couple of weeks, compare costs to date against progress weekly, so overruns show up while you can still do something about them.

### What's the difference between job costing and estimating?

Estimating predicts what a job will cost before you start. Job costing records what it actually cost. You need both: job costing is how you find out whether your estimates are right.

### Can I do job costing in QuickBooks?

Yes, on the right plan. Intuit lists Projects, its job costing feature, as available in QuickBooks Online Plus and Advanced. You code bills, labor and invoices to each project and run profitability reports. The key is coding every cost to the right job as it comes in.

## Related

- [What Is Job Costing?](https://www.brix.so/learn/job-costing)
- [How to Do Job Costing in QuickBooks Online](https://www.brix.so/learn/how-to-do-job-costing-in-quickbooks)
- [What Is a Change Order?](https://www.brix.so/learn/change-order)
- [What Is a WIP Report (Work-in-Progress Schedule)?](https://www.brix.so/learn/wip-report)
- [Job Costing Spreadsheet Template](https://www.brix.so/templates/job-costing-spreadsheet)
- [Job Pricing Calculator for Contractors](https://www.brix.so/tools/job-pricing-calculator)
- [Labor Burden Calculator](https://www.brix.so/tools/labor-burden-calculator)
- [Bookkeeping for contractors that keeps your books tax-ready all year](https://www.brix.so/features/bookkeeping-taxes)
- [Maintenance Agreement Pricing Calculator](https://www.brix.so/tools/maintenance-agreement-calculator)
- [Markup and Margin Calculator](https://www.brix.so/tools/markup-margin-calculator)

## Sources

- [Intuit QuickBooks: Projects (job costing), plan availability](https://quickbooks.intuit.com/features/projects/) (checked 2026-10-12)

---
Written by BRIX Editorial Team. Last updated 2026-10-12.
Canonical: https://www.brix.so/tools/job-costing-calculator
