Currently the only way to track the percentage of completion of a production job (and more importantly for us, the only way to display percentage to complete in the client portal) is by square footage. I'll give two examples of the problem.
1. On jobs in which a relatively small portion of the roof is much more difficult and time-consuming than other portions of the roof, we may have used 50% of our estimated labor hours while completing only 10% of the roof's total square footage. In recording our percentage of completion, though, we're limited to allocating the work only to a particular surface area. So we can mark 10% of the square footage as being 100% complete. While our Operations Manager understands that the remaining 90% of the roof will only take the remaining 50% of the estimated labor hours, clients do not. As a result, the clients believe that we've only completed 10% of the work.
2. On jobs in which a significant portion of the estimated labor will be used to install turn-bar, cut & install edge metal, build curbs, etc., we have a similar problem. We may have completed 99% of the roof's total square footage, but still have 20% of our estimated labor remaining to be completed. In this scenario, it appears to clients that on Day 30, for example, the project is 99% complete. We're on their roof all day on Days 31 through 40, yet the project still appears 99% complete to the clients.
Ideally we would be able to allocate hours used and estimate percentages of completion based on tasks as well as square footage. For example, if we're working on a 100,000 sf roof and expect to use 1000 hours of labor, 200 of which we expect to use installing 1000 linear feet of edge metal, we should be able to identify the 100,000 sf of surface area as 80% of the total job and the 1000 linear feet of edge metal as 20% of the total job, then be able to allocate percentages of completion to each "task."