Contractors that recognize revenue over time need a measure of progress. The most common is cost-to-cost: percent complete equals cost to date divided by estimated total cost. If a job is expected to cost $10M and $4M has been incurred, it is 40% complete for revenue purposes.
This is not the same as the billing percentage on the pay app. On Riverside Medical Center (sample data) the job is 72.6% complete cost-to-cost but 66.9% billed. Both numbers are legitimate, they answer different questions, and mixing them up is one of the most common WIP errors.
Cost-to-cost is only as good as its two inputs. If the estimated total cost is stale, the percentage is wrong. If costs run over, the overrun pushes percent complete up and makes the job look further along than it is, until the estimate is updated. Large material purchases delivered before installation, or front-loaded costs like mobilization, can also distort it; accounting standards allow adjustments for costs that do not reflect progress.
Treat percent complete as an output of an honest forecast, not as an input you pick.