Tracking direct costs looks easy, but labor presents some sticking points. What, for instance, is to be done with labor costs for a production manager who spends part of each day on more than one jobsite? Should that time be considered a direct cost billable to particular jobs, or should it be folded into overhead? And what should be done with travel time or the time spent scoping out projects that never get sold?
Estimating labor raises the same questions. Although most of an estimator's time can be billed to specific jobs as a direct cost, not every estimate turns into a contract, so some estimating time will have to be covered in overhead.
Best practice is for the affected employees to keep track of actual time spent on each project. Billing as many hours as possible to direct costs keeps down overhead and gives you a more accurate picture of what actual project costs are.
Where this isn't practical or the cost can't be pegged to a particular project, put the balance of time into overhead as a percentage. How do you figure out how much goes where? Download the spreadsheet.