Build Flows

Playbooks · October 10, 2026 · 9 min read

Month-End Close Checklist for Construction Controllers

The nine-step month-end close in the order that keeps the WIP from being rebuilt, who owns each step, what done looks like, and which parts to automate first.

By Charley Forey, founder of Build Flows

Key takeaways

  • Close in the order the WIP needs: cutoff, AP and AR, accruals, change orders and job cost review before the WIP is calculated.
  • Give every step exactly one named owner; a step owned by a department is a step nobody chases.
  • Use one cutoff date for cost and billing, or over/under billing swings every month for no real reason.
  • Tie the over and under billing GL balances to the WIP gross columns every month, and snapshot the schedule as issued.
  • Automate the checks and arithmetic first; keep EACs, change order judgment and sign-off with people.

Short answer: A construction month-end close runs in a fixed order because each step feeds the next. Cut off cost and billing on the same date, post AP and AR, book accruals for work received but not invoiced, settle which change orders are approved, review job cost and update each job's estimate at completion (EAC), then calculate the WIP schedule and book the over/under billing entry. Reconcile retainage on both sides, and finish with a review, a sign-off and a snapshot that never changes. Give every step one named owner. When you start automating, automate the checks and the arithmetic first, and leave forecasts and judgment calls with the people accountable for them.

This checklist is for controllers, CFOs and project accountants at general and specialty contractors. It sets out the nine steps, who owns each one, what "done" looks like, and which parts are worth automating first. It assumes you already produce a WIP schedule; if you want a refresher on the math, read over/under billing explained first.

Why the order matters

Most close problems in construction are sequencing problems. The WIP schedule depends on four inputs per job: revised contract, EAC, cost to date and billed to date. If any one of those changes after the WIP is calculated, the over/under figure, the gross profit and the journal entry are all wrong, and someone has to redo them.

So the checklist is built backwards from the WIP:

  • Cost to date has to include AP posted through the cutoff and accruals for work already received.
  • Revised contract has to include every owner-approved change order, and nothing that is still pending.
  • EAC has to be reviewed after cost is final, not before.
  • Billed to date has to match the pay applications actually issued for the period.

Steps 1 to 5 fix those inputs. Steps 6 and 7 calculate. Steps 8 and 9 check and lock the month.

Month-end close sequence in nine steps: cutoff, AP and AR, accruals, change orders, job cost review, WIP schedule, over/under entry, retainage and sign-off, each with an ownerNine steps, one owner each. The order is what keeps the WIP from being rebuilt.

The nine-step checklist, with owners

#StepOwnerDone when
1CutoffControllerCost and billing cutoff date set and communicated; late items go to next month
2AP and ARAP lead (AR lead posts pay apps and cash)Vendor invoices through the cutoff posted to jobs; owner pay apps posted; cash applied
3AccrualsController (PMs list received-not-invoiced items)Received-not-invoiced costs listed per job and accrued
4Change ordersProject manager (one per job)Every change order is approved, pending or rejected, with dates and amounts
5Job cost reviewProject accountant (PMs review their jobs and EACs)Miscodes fixed; every open job has a current EAC
6WIP scheduleProject accountantEarned revenue and over/under calculated job by job; exceptions listed
7Over/under entryControllerEntry posted; GL over and under billing balances tie to the WIP gross columns
8RetainageAR lead (AP lead reconciles retainage payable)Retainage receivable and payable reconciled to pay apps and the GL
9Sign-offCFO (controller where there is no CFO)Reviewed, snapshot saved, reports issued

Your titles may differ. What matters is that each row has exactly one accountable name next to it; the people in brackets help but do not own the step. A step owned by "accounting" or "the PMs" is a step nobody is chasing.

Step by step

1. Cutoff

Pick one date for cost and billing and hold to it. If cost is cut off on the 31st and billing on the 25th, every job looks under billed by six days of work, and the WIP swings month to month for no real reason. Write the cutoff into the close calendar, send it to PMs and AP, and decide in advance what happens to an invoice that arrives late: it either waits for next month or gets accrued in step 3, never quietly added after the WIP is run.

2. AP and AR

Post vendor and subcontractor invoices dated through the cutoff, coded to the right job and cost code. Post owner pay applications issued for the period, and apply cash received. Two checks catch most problems here:

  • Invoices with no job, or with a job or cost code that does not exist in the job master.
  • Identical lines that look like the same batch posted twice.

The free construction data quality checker covers the mechanical part against an AP or job cost export in a couple of minutes: blank job numbers, invalid dates, duplicate lines and the same job written different ways. Checks against your job master need a second source, so the checker cannot tell you a job number does not exist; that comparison is part of the mapping and reconciliation we build into WIP reporting.

3. Accruals

Cost to date should include work received but not yet invoiced: materials delivered, equipment rented, subcontractor work in place with no pay app yet. Ask each PM for a short list, or build it from commitments where work is reported in place but not billed. Book the accrual against the job so that it moves percent complete, and reverse it next month when the invoice arrives. Missing accruals make jobs look less complete than they are, which understates earned revenue.

4. Change orders

Revised contract includes owner-approved change orders only. Pending and draft change orders are exposure, not contract, and they belong on a separate line. In this step the PM confirms the status, approval date and amount of every change order on their jobs, and the change order status in the PM system matches the ERP. Two classic errors: an approved change order with a blank amount, which understates revised contract, and a pending change order already added to the contract, which overstates it. Our guide to change order aging covers how to track the pending ones.

5. Job cost review

With cost final, each PM reviews their jobs: cost posted to the wrong job or code, commitments not yet entered, and the EAC. The EAC is the single most important number in the close. If it is stale, percent complete is wrong, and so is everything downstream of it. Two rules worth enforcing:

  • Any job where cost to date is above EAC needs a re-forecast before the WIP is final.
  • A job with no EAC is labeled "No forecast" and excluded from earned revenue, not treated as zero cost to complete.

6. WIP schedule

Now calculate. For each job: percent complete is cost to date ÷ EAC, earned revenue is revised contract × percent complete, and over or under billing is billed to date minus earned revenue. Calculate job by job and then sum; never apply a portfolio percent complete to the portfolio contract. The WIP and over/under billing calculator will run the math on a pasted schedule and flag fades and large under billings, which is a useful second check on a spreadsheet.

Produce an exceptions list alongside the schedule: jobs with no forecast, cost over EAC, large swings from last month, and jobs missing from the schedule entirely. A missing job looks exactly like a job with no activity.

7. Over/under entry and tie-out

Book the WIP adjustment so that revenue on the income statement equals earned revenue, with over billings in current liabilities and under billings in current assets. Then tie the general ledger balances to the WIP schedule's gross over and under columns. That tie-out is the most useful single check in the close. If it does not tie, something changed after step 6. The journal entries are worked through in over/under billing explained.

8. Retainage

Reconcile retainage receivable (held by owners on your billings) and retainage payable (held by you on subcontractors) to the latest pay applications and to the GL. Retainage columns on pay apps are running balances, so take the latest issued or approved pay app per contract, never a sum across periods. Flag jobs that are substantially complete or closed out with retainage still held. Retainage tracking has a reconciliation checklist and a report layout.

9. Review, sign-off and snapshot

The CFO or controller reviews the WIP, the exceptions list and the month-over-month changes, then signs off. Save the final schedule and the reports exactly as issued. Next month's fade and gain are measured against this snapshot, and a board pack should never change after it is sent. If you want to see what a finished month-end pack looks like with every number traced to its source, open the interactive sample report.

What to automate first

Not every step should be automated, and the ones that should are not always the ones that take the longest. A useful rule: automate the checks and the arithmetic, keep the forecasts and judgment calls with people.

Three columns: automate first (data checks, cutoff snapshot, WIP calculation, exceptions, aging, GL tie-out), automate next (accruals, change order sync, fade, board pack), keep with people (EAC, pending change order judgment, loss provisions, sign-off)Automate the checks and arithmetic first. Forecasts and sign-off stay with people.

Automate first:

  1. Data checks before the WIP runs. Blank job numbers, orphan cost codes, duplicate lines, approved change orders with no amount. These are mechanical, they recur every month, and catching them early saves a re-run. See construction data quality rules for the checks we build in.
  2. The cutoff snapshot. Freeze cost and billing as of the cutoff so a late posting cannot move a number after review.
  3. The WIP calculation and exceptions list. Once the inputs are clean, the math is deterministic and should never be retyped.
  4. Retainage and change order aging. Both are lists that are easy to generate and tedious to build by hand.
  5. The GL tie-out. A check that the over and under billing accounts equal the WIP gross columns, run automatically after the entry is posted.

Automate next: the accrual list from received-not-invoiced commitments, change order status sync between the PM system and the ERP, month-over-month fade and gain, and refreshing the board pack from the signed-off snapshot.

Keep with people: the EAC for each job, judgment on whether a pending change order will be approved, loss provisions (with your CPA), and the final review. Software can flag a stale EAC. It should not write one.

If the WIP is still a spreadsheet, the WIP schedule template is a reasonable halfway step: the formulas are fixed and the exceptions are highlighted, so the close stops depending on who built the file. Our guide to construction WIP reporting in Power BI covers the next step, with a project crosswalk, a data quality gate and month-end snapshots.

Common close problems and where they start

SymptomUsually starts atFix
Over/under swings every month on steady jobsStep 1: different cost and billing cutoffsOne cutoff date for both
Job looks under billed and very profitableStep 5: EAC set too lowRe-forecast; watch for fade
Revised contract does not match the PM systemStep 4: change order status out of syncReconcile status and amounts before the WIP
GL does not tie to the WIPStep 7: posting after the WIP was runLock the cutoff; re-run, never patch
Board pack changes after it was sentStep 9: no snapshotSave the schedule as issued
Retainage balance looks doubledStep 8: summing running balancesUse the latest pay app per contract

Where to go next

Frequently asked questions

What are the steps in a construction month-end close?

Set one cutoff for cost and billing, post AP and AR, book accruals, confirm change order status, review job cost and update each EAC, calculate the WIP schedule, book the over/under billing entry and tie it to the GL, reconcile retainage, then review, sign off and snapshot. Each step feeds the next, so the order matters.

Who should own each step of the close?

Typically the controller owns the cutoff, accruals and the over/under entry; AP and AR leads own posting and retainage; project managers own change order status and EACs; the project accountant owns the WIP schedule; and the CFO or controller signs off. Titles vary, but each step needs one named owner.

Why should change orders be reviewed before the WIP schedule?

Revised contract on the WIP includes owner-approved change orders only. If change order status changes after the WIP is calculated, earned revenue, over/under billing and the journal entry are all wrong and have to be redone.

What should a contractor automate first in month-end close?

Start with data checks before the WIP runs, a cutoff snapshot, the WIP and over/under calculation with an exceptions list, retainage and change order aging, and the GL tie-out. Leave estimates at completion, judgment on pending change orders and final sign-off with people.

How long should a construction month-end close take?

It depends on job count, systems and how clean the data is, so there is no single benchmark worth quoting. The fastest gains usually come from a fixed cutoff, catching data problems before the WIP runs, and never rebuilding the WIP after review.

Next step

Want help running this playbook?

Bring the report or workflow. We'll help map the work behind it.

Prefer email? charley@buildflows.ai

Keep learning