Every cost needs a contract tag
Contract profitability starts with coding. Each contract becomes a project or class, and every invoice, material issue, subcontractor bill and timesheet carries that tag. Costs that genuinely serve all contracts, such as the operations director or the CAFM software licence, stay in overhead and are allocated later.
Our view: if more than 20% of direct cost ends up untagged, the contract report is not worth reading. Fix coding discipline before building allocation formulas.