ProBuildermuse Pro is liveMatched bid alerts from $10.99/mo.Get Pro
B
Buildermuse
arrow_backAll Tools

WIP Schedule Calculator

Per-job percent complete, earned revenue, and over/under billing. Multi-job rollup.

JobContractEst. Total CostCost-to-DateBilled-to-Date% CompleteEarned RevenueOver/(Under)
50.0%$90,000($30,000)
75.0%$318,750($68,750)
Portfolio Totals$605,000$460,000$310,000$310,00067.4%$408,750($98,750)

Portfolio Earned

$408,750

Portfolio Billed

$310,000

Net Underbilled

$98,750

Methodology

Percent complete uses the cost-to-cost method: % complete = cost-to-date / estimated total cost. Earned revenue = contract value × % complete. Over/(under) billing = billed-to-date − earned revenue. A positive value means you have billed more than you have earned (a liability); a negative value means you have earned more than you have billed (an asset).

Read the WIP reporting guide →

Estimates only. Not financial or accounting advice. Confirm with your CPA or bonding agent.

Frequently Asked Questions

What is a WIP schedule?

A Work-in-Progress (WIP) schedule is a per-job report that compares contract value, estimated total cost, cost-to-date, and billings. It produces a percent complete figure (cost-to-cost method) and an earned-revenue number, which together reveal whether each job is overbilled (billed ahead of work performed) or underbilled (work performed ahead of billings). Sureties, banks, and CPAs use the WIP to assess contractor financial health.

What is over/under billing?

Overbilled jobs (billed-to-date is greater than earned revenue) appear on the balance sheet as a liability called "billings in excess of costs and estimated earnings." Underbilled jobs are an asset called "costs and estimated earnings in excess of billings." Both are normal in construction, but a chronically underbilled portfolio means you are financing the owner; a chronically overbilled portfolio is borrowing from future profit and can leave you cash-tight at job-end.

When should I run a WIP?

At a minimum, monthly — most CPAs and bonding agents require a month-end WIP. Many growing contractors run weekly WIPs internally so they can catch cost overruns and billing slippage before they compound. If you have bank covenants or a surety program, the required cadence will be in your loan or bond agreement (usually monthly or quarterly).

What is a good percent-complete tolerance for over/under billing?

A common rule of thumb is that over- or under-billing should not exceed roughly 5–10% of contract value on any one job. Bonding agents tend to get nervous when underbillings exceed about 10% of total revenue or when a single job is more than 15% out of balance. Tighten your front-loaded schedule of values or your billing cadence if you see those flags.

Four inputs per job, and where each one comes from

Contract valueis the current contract amount — original sum plus change orders that have actually been approved. Unsigned change orders inflate every downstream number and are the most common way a WIP flatters a job. Estimated total cost is your best current estimate of what the job will cost when it is finished, not the cost you carried at bid. Cost-to-dateis job cost incurred — labor and burden, materials delivered, and subcontractor work performed. Costs incurred are not the same as invoices you have paid, and using the paid figure understates percent complete on every job. Billed-to-date is cumulative amounts invoiced, on a billed basis rather than a cash basis, so it will not match your deposits. All four fields floor at zero.

What the tool computes from them

Percent complete uses the cost-to-cost method: cost-to-date ÷ estimated total cost, clamped between 0 and 100. Earned revenue = contract value × percent complete. Over/(under) billing = billed-to-date − earned revenue. A positive result means you have billed ahead of the work performed; a negative result, shown in parentheses and in red, means you have performed work you have not yet billed. The portfolio row sums each column and computes its own percent complete from aggregate cost-to-date over aggregate estimated cost.

Reading the two default jobs

Smith Residence Remodel carries a $180,000 contract against a $140,000 estimated cost, with $70,000 spent and $60,000 billed. Half the cost is in the ground, so the job reads 50.0% complete and has earned $90,000 — against $60,000 billed, leaving it underbilled by $30,000. Pine Street Office TI is a $425,000 contract with a $320,000 estimated cost, $240,000 spent and $250,000 billed: 75.0% complete, $318,750 earned, underbilled by $68,750 despite having invoiced more than the other job.

The rollup makes the point the individual rows cannot. Across both jobs, $310,000 has been spent and exactly $310,000 has been billed, which looks like a wash — but $408,750 of revenue has been earned, so the portfolio is underbilled by $98,750. That is nearly a hundred thousand dollars of completed work financed out of the contractor’s own pocket, and it is invisible unless someone runs this calculation.

Underbilling is a cash problem before it is an accounting problem

A persistent underbilled position means the work is outrunning the paperwork: pay applications going out late, percentages billed conservatively, or change orders performed before they were approved. The cure is upstream, in the billing cycle — tighten the pay application schedule and make sure every line billed reflects the work actually in place. Chronic overbilling has the opposite failure mode: you have collected money for work still to come, and the back end of the job runs on cash you already spent. Model the timing consequences in the cash flow projector.

What this calculator will not tell you

It does not compute gross profit, estimated cost to complete, or a prior-period comparison, and it keeps no revision history — so it cannot show you the single most diagnostic pattern in a WIP, which is an estimated total cost that has quietly climbed month over month. It also has no visibility into the accuracy of your cost-to-date figures; if job costing is loose, the percentages here are decorative. Feed it from real numbers in the job cost tracker. Revenue recognition is governed by your contracts and by the accounting framework your CPA applies — this tool reproduces the arithmetic, not the standards, and nothing here is accounting advice.

Questions about the numbers

What happens if cost-to-date passes estimated total cost?

Percent complete is clamped to a maximum of 100%, so the job stops earning additional revenue no matter how far costs run over. That is the correct accounting behavior — you cannot earn more than the contract — but it means the schedule will not flag the overrun for you. Compare cost-to-date against estimated total cost directly in the row, and if the first is approaching the second on a job that is not nearly finished, your estimate at completion is wrong.

Which number should I fix first when a job drifts?

Estimated total cost. Contract value is set by the owner, cost-to-date is history, and billed-to-date is whatever you invoiced. Estimated total cost is the only forward-looking input and it drives percent complete, which drives earned revenue, which drives the over/under figure. A stale estimate that has not been revised since buyout will make a losing job look profitable and on schedule all the way to the end.

Why does portfolio contract value times portfolio percent complete not equal portfolio earned revenue?

Because the portfolio percentage is cost-weighted while earned revenue is summed job by job. At the two default jobs, portfolio percent complete is 67.4% and total contract value is $605,000, which multiplies to about $407,717 — but the actual earned revenue total is $408,750. The gap exists because the two jobs carry different margins. Always read the earned revenue total, never the product of the two portfolio figures.

Where does my WIP data live?

In your browser, in local storage on the device you entered it on. Nothing is transmitted to Buildermuse and nothing syncs between machines. Clearing site data will erase your jobs, so use the copy button to pull a text summary out whenever you need a record you can keep.