Free WIP report generator
Drop in your job list, get the WIP schedule your bonding agent and CPA ask for: % complete, earned revenue, over/under billing, projected margin, backlog and loss jobs, with a print-ready report.
- Free
- No signup
- Runs in your browser
- No upload
Your numbers never leave this browser. The file is read on your device and the report is built right here. Nothing is uploaded to any server, nothing is saved, and closing the tab clears it. We only count that the tool was used and roughly how many jobs, never names or amounts.
01 Add your jobs
Columns needed: job, contract, estimated total cost, cost to date, billed to date. Our WIP schedule template (CSV) works as is; other headers can be matched below. Up to 200 jobs.
Column mapping
Tell us which column holds each number. Job # and job name are optional.
02 Report
WIP report
Over billed (liability)Under billed (asset)
At or above portfolio marginBelow portfolioLoss
Flagged jobs
WIP schedule
| Job | Contract | Est. total cost | Cost to date | Billed to date | % complete | Earned revenue | Over / (under) | Proj. GP | Margin | GP to date | Cost to complete | Backlog | Status |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
% complete is cost-to-cost (cost to date ÷ estimated total cost), capped at 100%. Loss jobs show the full projected loss in GP to date. Over/under billing at or above 2% of contract value is flagged.
How this is calculated
A WIP schedule compares what each job has earned with what it has billed. Revenue is recognized as the work gets done (percentage of completion, ASC 606 over time), measured cost-to-cost.
% complete = cost to date ÷ estimated total cost (capped at 100%) Earned revenue = contract value × % complete Over / (under) = billed to date − earned revenue Projected GP = contract value − estimated total cost Margin = projected GP ÷ contract value GP to date = earned revenue − cost to date Cost to complete = estimated total cost − cost to date Backlog = contract value − earned revenue
- Percent complete uses cost, not billing. Billed ÷ contract is a different number and doesn't drive revenue.
- Earned revenue is the revenue you've earned by doing the work, whatever you've invoiced.
- Over billing (billings in excess of costs and estimated earnings) is a liability. Under billing (costs and estimated earnings in excess of billings) is an asset. Balance sheets show them separately, so the report gives both totals as well as the net.
- Loss jobs. When the estimated total cost is more than the contract, the whole projected loss is recognized now, not spread over the remaining work. GP to date shows the full loss, and the loss provision is the part % complete hasn't already booked: projected loss × (1 − % complete).
- Cost to complete drives everything. A stale estimate inflates % complete and earned revenue at the same time. If cost to date is already past the estimate, the job is flagged and % complete is capped at 100%.
- Portfolio totals are sums. Weighted margin is total projected GP ÷ total contract value, so big jobs count more. Over/under billing of 2% of contract value or more goes on the flagged list.
This is a working tool, not accounting advice. Your CPA's WIP may adjust for uninstalled materials, retainage or pending change orders.
Want one job at a time? Try the over/under billing calculator, or see the anatomy of a WIP schedule. Or see one job on the os.construction dashboard.
Stop rebuilding the WIP every month.
WIP in the app is planned; project financials (contracts, change orders, budgets and billing) are live. Get an email when WIP ships.
Email gets you product updates: what shipped and what's next. Start a free trial → Founding program →
You're subscribed.
We'll email you when something ships. The live tools are open now: start a 14-day free trial →
Want a say in what ships? Finish your founding application (2 min) →