“I’m busy all the time but never have money.” Being busy tells you how much work you have. It says nothing about whether the work pays. A business can be booked solid on jobs that each lose a little, propped up by a few that make a lot, and the bank balance never says which is which. Job costing does: for every job, what it really cost against what you charged.
What your tax return cannot tell you
Schedule C adds up the year by type of cost. Wages go on line 26, contract labor on line 11 (which the IRS instructions describe as “payments to persons you do not treat as employees (for example, independent contractors) for services performed for your trade or business”), supplies on line 22, and the cost of goods sold, built from lines like cost of labor and materials and supplies, on line 4. Line 5 is gross profit for the whole business. It tells you whether the year made money. It cannot tell you which jobs did.
There is a second gap. The cost-of-labor line on the form says: “Do not include any amounts paid to yourself.” Right for taxes, but it means your own hours on the tools never show up as a cost anywhere. A job that “made money” may only have paid you less than you would pay a helper for the same days; the owner’s pay covers setting a wage for those hours.
The SBA’s advice on managing a small business’s money makes the general point: “You can get insights by separating and analyzing segments of your business.” For a contractor, the job and the job type are the segments that matter.
The lines on a job cost sheet
Price minus those direct costs is the job’s gross profit, and gross profit divided by price is its gross margin. If you mark up costs to set prices, markup vs. margin explains why the two percentages differ.
Collecting the numbers without a bookkeeper
- Hours by job, every day. Each person writes the job name with start and stop times, including travel between jobs. A paper card in the truck works if it gets filled in that day.
- A job name on every receipt. Write it on the slip or say it at the counter so it prints on the ticket, and photograph the receipt before it fades. On a supplier account, use the job name as the purchase order.
- Subs and rentals invoiced per job, not lumped into one monthly bill.
- Close the sheet within a week of the final invoice, while you still remember the extra trip and the returned box of screws.
A worked example
Say a fence and deck company costs a month of work. Every crew hour, the owner’s included, is costed at $38. Overhead (the truck, insurance, phones, software, and the owner’s time spent estimating and on paperwork) runs $96,000 a year against about 6,000 crew hours on jobs, so each crew hour has to cover $16 of overhead before the business keeps anything. The numbers are invented for the example:
| Job | Price | Direct cost | Gross profit | Margin | Crew hours | Gross profit per crew hour |
|---|---|---|---|---|---|---|
| Gate and post repair | $650 | $368 | $282 | 43% | 6 | $47 |
| 150-foot privacy fence | $7,800 | $5,987 | $1,813 | 23% | 64 | $28 |
| 300-square-foot deck | $16,500 | $14,420 | $2,080 | 13% | 190 | $11 |
The deck was the biggest job of the month and brought in the most gross profit in dollars. It was also the one that lost money. At $11 of gross profit per crew hour, against $16 of overhead per hour, each of its 190 hours cost the business about $5, close to $1,000 for the job. The repair, the job nobody wants, covered its overhead nearly three times over, because it was priced with a minimum charge that paid for the drive.
The cost sheet also says why the deck went wrong. It was estimated at 150 hours and took 190, and materials came in $250 over the estimate. Forty hours is a full working week for one person. Was it a design change the customer asked for, done without a change order? Footings that took longer than the formula assumed? A crew that waited on a delivery? Each of those has a different fix, and you only see them when estimated and actual hours sit next to each other.
Where to look when you line the jobs up
A yardstick from the Census
The Census Bureau’s 2022 Economic Census measured where the value of construction work goes. For specialty trade contractors as a whole, the cost of materials came to about 31.7% of the value of construction work, annual payroll to about 26.0%, and work subcontracted out to others to about 8.0%. Here is the same split for a few lines of work:
| Kind of contractor | Materials | Payroll | Subcontracted out | Left for everything else |
|---|---|---|---|---|
| Residential remodelers | 35.9% | 18.5% | 19.8% | 25.8% |
| Finish carpentry contractors | 33.4% | 23.9% | 10.6% | 32.1% |
| Flooring contractors | 36.9% | 20.6% | 10.3% | 32.2% |
| Site preparation contractors | 27.2% | 23.8% | 12.1% | 36.9% |
| Masonry contractors | 28.6% | 26.7% | 6.6% | 38.1% |
| All specialty trade contractors | 31.7% | 26.0% | 8.0% | 34.3% |
The last column is simply 100% minus the other three, which this article worked out from the Census figures: what is left for insurance, trucks, rent, the costs of employing people beyond their pay, and profit. Treat these as a rough check, not a target. They are totals across firms of every size, the payroll column is the whole payroll rather than only the crew’s hours on jobs, and your own wage may not be in it at all if you take draws. Still, if your materials, labor and subs together eat nearly all of each job’s price, the yardstick says there is little room left for the rest.
Using what you find
The usual moves are plain ones. Re-price the job types that do not cover overhead per hour, or set a minimum; raising your prices covers telling customers. Fix the estimating formula where hours always run over. Stop taking the work that never pays, or take it only in slow weeks when the crew would otherwise stand idle. If you show instant price ranges on your website with NapkinPrice™, set each job type’s pricing rules from its cost sheet, so the first range a customer sees already covers the work.
Two habits keep it going: cost every job, even the small ones, and look at the job types once a quarter. Pair it with a 13-week cash forecast, which shows when the money arrives, and you know both whether the work pays and whether it pays in time.