Construction site materials representing job costs behind a work in progress schedule
Construction · WIP

AI Agents for Construction Work in Progress Schedules

The WIP schedule is the most important report in a construction business and usually the least automated. It is rebuilt every month, by hand, under time pressure.

Key Takeaways
  • Percentage of completion accounting is only as good as the cost to complete estimate, which is a judgment made by project managers.
  • Over and under billing positions move with every change order, and change orders are frequently performed before they are approved.
  • The schedule is usually rebuilt manually each month, which is why it lands late and rarely gets reviewed properly.
  • Fade and gain analysis is where the real signal is, and most teams never have time to produce it.
  • ChatFin assembles the schedule from job cost and billing data, tests the estimates against actual burn, and drafts the adjustment.

In a construction business the WIP schedule is the financial statement. It determines revenue, it determines margin, and it exposes which jobs are in trouble before anyone admits it.

It is also assembled from inputs that live outside accounting: cost to complete estimates from project managers, change orders in various stages of approval, and committed costs that have not yet been invoiced.

This page covers what makes the schedule fragile, why estimate testing matters more than arithmetic, and how a governed agent can produce it early enough for the conversation it is meant to start.

ConstructionWIPPercentage of CompletionChange OrdersRetentionJob Costing
Diagram of an AI agent layer running work in progress reporting above the ERP
The agent sits above your ERP. the ERP stays where it is.
01

The estimate is the accounting

Revenue under percentage of completion follows cost incurred against total estimated cost. Change the estimate and you change reported revenue and margin, without a single transaction moving.

That makes the cost to complete estimate the most consequential number in the business, and it is provided by people who are measured on the job going well.

Optimism bias: Estimates that hold steady while costs run ahead, deferring the recognition of a loss until it is unavoidable.
Stale estimates: Numbers rolled forward unchanged from the prior month because nobody had time to revisit them.
Committed but uninvoiced costs: Subcontractor commitments and materials received that have not reached the ledger, understating cost incurred.
02

Change orders and the approval gap

Work gets done before paperwork catches up. The cost is incurred and the revenue is not yet contracted, which distorts both the margin and the billing position on that job.

How unapproved change orders are treated is an accounting judgment. What is not a judgment is knowing they exist, and most schedules do not show them clearly.

Tracking them as their own category, with age and status, keeps the exposure visible and gives project teams a reason to close them out.

A finance team working on work in progress reporting
The schedule should start a conversation about specific jobs, not end a month. Photo by kaboompics.com via Pexels
03

Cost in one system, judgment in another

Job cost sits in the construction system, billings sit in the ledger, and the cost to complete estimate sits with a project manager. The schedule joins all three by hand each month, which is why it lands late and rarely gets tested.

Read

What the agent needs to see

Ledger detail from the ERP, plus contract and change order documents taken from the source they arrive in, read through the API surface your ERP already exposes rather than the database.

Write

What it should be allowed to do

Prepare an over and under billing adjustment and leave it for the controller to approve. Reading widely and writing narrowly is the line that keeps this safe.

That division matters more than which model sits underneath. An agent that can read contract and change order documents, job cost detail and billing and retention records while posting only through the validated path a person uses gives you the coverage without handing over the ledger, and ChatFin works that way on every ERP it connects to.

04

What the agent assembles and tests

The agent pulls contract values, approved and pending change orders, cost incurred, committed costs and billings, then builds the schedule and the over and under billing position.

The more useful part is the testing: comparing the burn rate to the estimate, flagging jobs where cost incurred is outpacing the completion assumption, and showing which estimates have not moved in months.

Assemble the inputs

Contract value, change orders by status, cost incurred, open commitments and billings to date per job.

Build the position

Calculate completion, earned revenue and the over or under billing for every job.

Test the estimates

Flag stale estimates, burn rates inconsistent with completion, and jobs trending toward a loss.

Draft the entries

Prepare the adjustment and the schedule with the supporting job detail attached.

Governed agent actions compared with unattended automation for work in progress reporting
Prepared and approved, not posted blind.
05

Fade and gain analysis, monthly

Tracking how each job's estimated margin has moved since it was bid is the most useful analysis available to a construction finance team, and it is usually the first thing dropped when the schedule runs late.

Producing it automatically changes the monthly review from a reporting exercise into an operations conversation about specific jobs.

Standard output

The schedule

Completion, earned revenue and the billing position per job, produced early enough to be reviewed.

Better output

Margin movement

How estimated margin has changed since bid, by job and by project manager, tracked every month.

06

Test the estimate, do not replace it

Cost to complete belongs to the people running the job. ChatFin compares burn rate against the completion assumption and flags estimates that have not moved, so the conversation happens with the project manager rather than being resolved in a spreadsheet.

The record kept against the WIP schedule is deliberately plain: the contract and change order documents the agent read, the reasoning it applied, the draft it produced, what the controller changed, and the moment it posted. That is the trail an auditor asks for, and it is assembled while the work happens rather than reconstructed afterwards.

The wider argument for that design sits in what human in the loop really means and how to test a finance agent before you trust it.


A is prepared, reviewed and approved before it posts, and every step is logged from the source document to the entry.n over and under billing adjustment
07

How ChatFin builds the schedule

Contract values, change orders by status, cost incurred, open commitments and billings are assembled into the schedule and the over and under billing position. The same run produces margin movement since bid, which is the analysis usually dropped when the month runs long.

It connects to the ERP, the job cost system and the project management platform through the interfaces those systems already expose, which keeps the security review short and the setup measured in days rather than quarters.

Assemble job inputs

Contract value, change orders by status, cost incurred, open commitments and billings per job.

Calculate the position

Completion, earned revenue and the over or under billing for every active job.

Test estimates against burn

Stale estimates and jobs trending toward a loss flagged with the cost detail behind them.

Draft entries and fade analysis

Adjustment prepared alongside margin movement since bid by job and manager.

A first run is usually read only against a period you have already closed, so you can compare what the agent found against what your team found before anything is trusted with an over and under billing adjustment.

Nothing here is single purpose. The connection into NetSuite, SAP Business One or Acumatica serves every other agent you switch on later.

"

Change the cost to complete estimate and you change reported revenue, without a single transaction moving.

ChatFin

One connection, one approval pattern, many workflows.

Frequently Asked Questions

Can an agent produce the cost to complete estimate?

It should not. That estimate belongs to the people running the job. What an agent can do is test it: compare burn against the completion assumption, flag estimates that have not moved, and show jobs trending toward a loss so the conversation happens earlier.

How are unapproved change orders handled?

As their own visible category with age and status. Whether and how they are included in the contract value for accounting purposes is a policy decision for your team and your auditors, and the schedule shows the effect either way.

Does this work alongside a construction specific ERP?

Yes. Job cost detail generally lives in the construction system and the ledger lives in the ERP. The agent reads both through their existing interfaces rather than replacing either.

This page is general information about finance operations and software, not legal, accounting, or tax advice. Confirm treatment for your own entity with your advisors.

Get the schedule early enough to act on

Build WIP from job data, and test the estimates behind it.

ChatFin assembles the schedule from contract, change order, cost and billing data, calculates the billing position, and flags the estimates that do not match the burn.

The adjustment is drafted with the job detail attached, and margin movement since bid comes out of the same run.

Book a Demo
See it on your own data

See a WIP schedule built from your own job data.

Bring job cost and billing detail for a handful of active jobs. We will show the schedule, the billing position, and the estimates that do not match the burn.

✓Runs on the ERP you already have, on your current version, with no database credentials
✓Reads through the governed API surface your ERP already exposes and writes back only approved drafts
✓Full audit trail from prompt to prepared payload on every action
Schedule a Demo
Confidential & private

Hero photograph by Kindel Media, free to use under the Pexels License (commercial use permitted, attribution not required). Inline photograph by kaboompics.com under the same licence. Product visuals © ChatFin.