Free reference
A job costing sheet where the formulas already work.
17 things to fill in, 8 that calculate themselves. Paste it into cell A1 of a blank spreadsheet and it works immediately — the formulas are real, not written out as instructions for you to rebuild.
Paste into A1. Labels land in column A, values and formulas in column B. Format the margin and overhead rows as percentages.
| Row | Line | Column B |
|---|---|---|
| 1 | Job costing worksheet | |
| 3 | JOB | |
| 4 | Job name or number | you fill in |
| 5 | Customer | you fill in |
| 6 | Date completed | you fill in |
| 8 | REVENUE | |
| 9 | 4000Contract value | you fill in |
| 10 | Change ordersInclude them or the job looks worse than it was. Unbilled change orders are the most common reason a profitable job reads as a loss. | you fill in |
| 11 | 4900Discounts and credits (enter as negative) | you fill in |
| 12 | Total revenue | =B9+B10+B11 |
| 14 | LABOR | |
| 15 | Field hours on this jobPaid hours on the job, including the drive and the return trip for the part nobody loaded. | you fill in |
| 16 | Burdened cost per billable hourNot the wage. The wage plus payroll taxes, workers comp and benefits, divided by hours you can actually bill. This single number is where most job costing goes wrong. | you fill in |
| 17 | 5000Direct labor cost | =B15*B16 |
| 19 | OTHER DIRECT COSTS | |
| 20 | 5100Materials | you fill in |
| 21 | 5200Subcontractors | you fill in |
| 22 | 5300Permits and inspections | you fill in |
| 23 | 5400Equipment rental | you fill in |
| 24 | 5500Disposal and dumpster | you fill in |
| 25 | 5600Job travel and freight | you fill in |
| 26 | 5700Warranty and callback allowanceThe line almost nobody fills in. If you go back once in ten jobs, a tenth of that visit belongs on every one of them — otherwise nine jobs look better than they are and the tenth looks like a disaster. | you fill in |
| 27 | 5800Small tools and consumables | you fill in |
| 28 | Total direct cost | =B17+SUM(B20:B27) |
| 30 | RESULT | |
| 31 | Gross profit | =B12-B28 |
| 32 | Gross marginAgainst the price, not against the cost. A 50% markup is a 33% margin, and confusing the two is the most expensive habit in contracting. | =IF(B12=0,"",B31/B12) |
| 34 | Overhead rate (enter as a percentage)Annual overhead divided by annual revenue. Every job has to carry a share of the cost of existing. | you fill in |
| 35 | Overhead applied | =B12*B34 |
| 36 | Net profitThis is the number the job actually made. A job with healthy gross profit and negative net profit did not pay for the business it came through. | =B31-B35 |
| 37 | Net margin | =IF(B12=0,"",B36/B12) |
The two lines that decide whether this is worth doing
Burdened cost per billable hour. If you put the wage in this cell, every number below it is wrong by the same proportion and the sheet will confidently tell you a losing job made money. It needs the wage plus payroll taxes, workers comp and benefits, divided by the hours you can actually bill rather than the hours you pay for. Work it out here.
Warranty and callback allowance. Nearly everyone leaves this at zero, and it is why job costing so often disagrees with the bank balance. Going back once in ten jobs means a tenth of that visit belongs on every job — not all of it on the one you happened to return to.
Do it on jobs you already finished
The instinct is to start using this on the next job. Do the opposite: cost three jobs you already completed and were paid for — ideally your biggest, your smallest, and one you felt good about. You have all the numbers already, and comparing the answer to what you assumed at the time is the entire lesson. A template used going forward takes a year to teach you anything.
The 5000-series codes match the chart of accounts, so the lines here map onto the accounts in your books. For a single job without a spreadsheet, there is a job profit calculator.
A worksheet costs one job. Books cost none.
We do your most recent month in full, free, reviewed by a US CPA and back within two days.