Construction

WIP Schedule Explained: A Construction Bookkeeper's Complete Guide

Written by Mubashar Hassan, CPA

A Work-in-Progress (WIP) schedule is the most critical financial report in construction accounting. It shows the relationship between costs incurred, revenue earned, and the remaining work to complete β€” giving you a real-time picture of project profitability before the job is finished.

What Is a WIP Schedule?

A WIP schedule lists every active project and shows, for each one: the contract value, costs incurred to date, percentage complete, revenue earned to date (which may differ from what has been billed), and the over/under billing position. The key insight a WIP schedule provides is whether you are overbilling or underbilling on each project β€” both of which can cause serious cash flow problems.

Over-Billing vs Under-Billing

Over-billing (billing more than you have earned) creates a deferred revenue liability on your balance sheet. It feels good in the short term because cash is coming in β€” but it means you have obligations you have not yet fulfilled. Under-billing (billing less than you have earned) is a receivable β€” money you have earned but not yet invoiced. It ties up cash in work-in-progress and can signal collection risk.

How to Build a WIP Schedule

For each active project: 1) Determine the total estimated cost to complete. 2) Calculate percentage complete = costs to date Γ· total estimated cost. 3) Calculate earned revenue = contract value Γ— percentage complete. 4) Compare earned revenue to actual billings to date. The difference is your over or underbilling position.

Why Monthly WIP Reports Matter

A WIP schedule produced once a year at tax time is useless. Produced monthly, it tells you which projects are heading toward a loss while there is still time to act. It is also required by many lenders and bonding companies β€” construction firms that provide clean monthly WIPs get better terms.

Need expert help with this?

Our ex-Big 4 CPA team handles this for US clients remotely. Book a free 30-minute consultation.

Book a Free Call β†’

Frequently Asked Questions

What is a WIP schedule in construction accounting?
A WIP (Work-in-Progress) schedule is a financial report that tracks the cost, billing, and earned revenue status of every active construction project. It shows whether you are over-billed or under-billed on each job and is used by contractors, lenders, and bonding companies to assess financial health.
How often should a construction company prepare a WIP schedule?
Monthly. A WIP schedule prepared annually at tax time provides no operational value. Monthly WIP reporting lets you identify problem projects early, manage cash flow proactively, and provide lenders and bonding companies with current financial data.
What does over-billing mean in a WIP schedule?
Over-billing means you have invoiced the client for more than you have actually earned based on percentage of completion. It appears as a liability on your balance sheet (deferred revenue or billings in excess of costs). While it improves short-term cash flow, it represents work you still owe.
What does under-billing mean in construction accounting?
Under-billing means you have earned more revenue (based on work completed) than you have invoiced. It appears as an asset on your balance sheet (costs and estimated earnings in excess of billings). It indicates cash tied up in work that has been done but not yet billed, which can create cash flow strain.
Can QuickBooks Online produce a WIP schedule?
QuickBooks Online does not have a native WIP schedule report. You need to either build one in Excel using data exported from QBO, use a construction-specific software like Buildertrend or Procore that integrates with QBO, or have your bookkeeper maintain a separate WIP tracking workbook updated monthly from QBO data.

About the Author

Mubashar Hassan, CPA
Mubashar Hassan, CPACPA | Construction & CFO Specialist
View full profile β†’

Work With Our Team

Ex-Big 4 CPAs serving US clients remotely. Free consultation.

Book Free Call β†’
← Back to Blog