Treadstone Associates
Article · 9 min read

Preparing a WIP schedule every month

Standard contract terms assume it. Lenders and sureties ask for it. And most of what goes wrong on a construction job's numbers shows up here first, before it shows up anywhere else.

Treadstone Associates · Updated 2026

Key takeaways

  • • Monthly progress billing is the assumption baked into standard construction contracts — a WIP schedule run on the same monthly cycle is what keeps billing honest against actual job status.
  • • The core mechanic compares costs incurred to date, and billings to date, against the total contract value and the percent of work actually complete — that comparison is what surfaces overbilling or underbilling.
  • • The federal record-keeping baseline — six years from the end of the relevant tax year — applies to the job-cost records a WIP schedule is built from, the same as any other business record.
  • • A WIP schedule run monthly is the same file a bank covenant test and a surety's bonding review both draw on — keeping it current does triple duty.
  • • Industry-wide, building construction investment moves by billions of dollars month over month, which is the scale of activity that monthly progress billing exists to keep pace with.

Why the schedule runs monthly, not quarterly

The cadence isn't arbitrary. Standard construction contracts are built around monthly billing as a baseline assumption — “the CCDC 2 assumes monthly progress payments and makes reference to provincial payment legislations where applicable.” A WIP schedule that only gets updated quarterly is running a full cycle behind the billing rhythm the contract itself assumes.

The industry's own scale of activity moves on a similar monthly rhythm: total investment in building construction was reported at $23.4 billion in May 2026 (released 2026-07-20, Table 34-10-0293-01) and $22.6 billion in March 2026 in an earlier month — multi-billion-dollar, month-over-month swings at the national level. A single contractor's own job costs move in that same rhythm, just at a much smaller scale, which is exactly why a snapshot taken once a quarter misses too much.

What actually goes on the schedule

At its core, a WIP schedule is a simple comparison run job by job: total contract value, costs incurred to date, an estimate of percent complete, and billings issued to date. From those four figures, the schedule shows whether each job is overbilled — billed ahead of the work actually done — or underbilled, where completed work hasn't yet made it onto an invoice.

Overbilling isn't automatically a problem — a contractor billing ahead of costs is effectively financing the job with the client's money instead of its own, which is a normal and often healthy position. Underbilling is the one worth catching immediately: it means cash the business has already earned is sitting unclaimed, quietly understating both revenue and the job's own margin until someone notices.

Where holdback and change orders fit on the schedule

Holdback needs its own line, tracked separately from ordinary billings, because the GST/HST on it runs on a different clock than the rest of the invoice — a WIP schedule that lumps holdback in with regular billed-and-collected amounts will misstate the job's actual cash position.

Change orders belong on the schedule the moment work starts, not the moment they're formally signed — work performed but not yet priced and billed is exactly the underbilling pattern that margin fade traces back to most often. A schedule that only picks up a change order once the paperwork is finalized is, in effect, hiding its own leak until the job closes.

What the schedule needs to reconcile against

A WIP schedule that doesn't tie back to the general ledger isn't actually useful — costs incurred to date on the schedule should match job-cost postings in the accounting system, and billings to date should match what's actually been invoiced, not what was planned to be invoiced. A schedule built from memory or from a separate spreadsheet that drifts from the books is worse than no schedule, because it creates false confidence.

This is also the file a lender or surety asks for first, which is why a covenant test and a bonding application both come back to the same document: a current, reconciled WIP schedule that reflects what's actually happening on every open job, not what was budgeted at bid time.

Keeping the records the schedule is built from

The underlying job-cost records — invoices, timesheets, subcontractor billings — that a WIP schedule draws from carry the same retention obligation as any other business record. Under the Income Tax Act, records generally have to be kept “until the expiration of six years from the end of the last taxation year … to which the records and books of account relate.” and the GST/HST equivalent runs on the same six-year clock.

That retention requirement is a good discipline check on the WIP process itself: if the source documents behind a given month's schedule can't be produced on request, the schedule is running ahead of what the books can actually support.

Who actually looks at this file besides the owner

A WIP schedule built for internal use tends to get treated casually — updated when there's time, skipped when there isn't. That changes the moment it's also the document a lender reviews for a covenant test or a surety reviews for a bonding decision: at that point it's an external-facing file, and the discipline of keeping it current stops being optional.

Treating it as an internal-only tool until the day it's suddenly needed for a bank renewal or a tender deadline is how a contractor ends up reconstructing months of job status under time pressure, instead of simply pulling a file that was already current.

A worked example

A $500,000.00 job is 60% complete by cost — $240,000.00 of a $400,000.00 budgeted cost incurred — but only $260,000.00 has been billed to date, against a percent-complete-based earned value of $300,000.00 (60% of the $500,000.00 contract). That's a $40,000.00 underbilling: work has been performed and earned but not yet invoiced.

Caught on the monthly schedule, the fix is a progress bill for the $40,000.00 shortfall on the next billing cycle. Missed until year-end, the same $40,000.00 shows up instead as a surprise in the annual numbers, with no month-by-month record of when the gap opened or which job caused it — the difference between a routine catch-up invoice and a number nobody can explain.

Common questions

Is a WIP schedule the same thing as a job cost report?

Related but not identical. A job cost report typically shows costs against budget for a single job; a WIP schedule adds the billing side and the percent-complete calculation across all open jobs at once, which is what makes overbilling and underbilling visible in the first place.

How is percent complete actually estimated if the job isn't a simple unit-count?

Cost-to-cost is the most common practical method — costs incurred to date divided by total estimated costs — because it uses numbers the job-cost system already tracks. It's an estimate, not an exact measurement, which is exactly why it needs revisiting monthly rather than set once and left.

Does every job need its own line on the schedule, even small ones?

In principle yes, though in practice many contractors set a dollar threshold below which a job is tracked more loosely — the schedule's value comes from catching drift on the jobs large enough for a gap to matter, and a very small job rarely moves the overall picture much either way.

What's the single most common mistake in a first attempt at a WIP schedule?

Treating it as a one-time snapshot rather than a recurring monthly process, and letting the percent-complete estimates get stale between updates. A schedule is only as useful as how current its inputs are.

See where AI pays off first in your business.

A 30-minute call is enough to tell you whether AI pays for itself here.