10/09/2026
WIP schedule reconciles earned revenue to billed revenue job by job. Seven columns, one row per active job, totals at the bottom.
Column 1: Contract value. Original contract plus approved COs.
Column 2: Estimated cost at completion. Updated monthly as scope and conditions change.
Column 3: Estimated gross profit. Contract value minus estimated cost. The job’s expected margin.
Column 4: Cost to date. Total cost incurred through the report date, pulled from the job cost report.
Column 5: Percent complete. Cost to date divided by estimated cost at completion (cost-to-cost method).
Column 6: Earned revenue. Contract value times percent complete. This is what belongs on the P&L for the period, not what you billed.
Column 7: Billed to date. Total invoiced through the report date, including retention.
Over/underbilled. Earned minus billed. Positive = underbilled (contract asset on the balance sheet). Negative = overbilled (contract liability). This is the number bonding looks at hardest because it reveals whether the GC is front-loading billings.
Totals tie to GL. Sum of earned revenue ties to revenue on P&L. Sum of over/underbilled ties to balance sheet contract asset and liability accounts.
THE FIX:
Build the 7-column schedule in Excel from QBO data. QBO can’t produce it natively.
Update estimated cost at completion monthly. Stale estimates break the whole report.
Tie earned revenue total to P&L revenue line. Mismatch = error somewhere.
Tie over/underbilled total to balance sheet contract asset and liability.
Review with CPA and bonding agent quarterly. Both sign off on the format.
We do a free 48-hour audit of your construction books. We review what you’ve got, flag where you’re exposed, and send back what it’s actually costing you, within 48 hours.
Comment “CLEANUP” and we will DM you the details.
This content is for educational purposes only. Every business is different. Before making any changes to your books, reach out to us for guidance specific to your situation.