Forum Discussion
I use a spreadsheet approach because I want to see the numbers before the bid goes out, not just after the job is finished.
The main numbers I look at are contract value, labor, materials, subcontractors, other direct costs, overhead, and target margin. I also think it is important to separate markup from margin because they are easy to confuse.
Once the job starts, I compare the original target cost against actual costs as they come in. That is where job costing becomes especially useful — you can see a cost overrun early instead of discovering at the end that a profitable-looking job actually lost money.
I also track change orders separately because they can completely change the final margin.
For a small contractor, I think a well-structured spreadsheet can handle this surprisingly well without adding another monthly software subscription.