On the eighth of the month the controller at a sixty-person mechanical contractor has the financial statements ready and one thing missing: the work-in-progress schedule. The bank wants it with the statements. The surety will want it at renewal. It needs one number for each of eleven open jobs, the estimated cost to finish, from the project managers who run them. Six are in, and two of those are last month's number sent back unchanged. The PM with the other five is on a roof and will call back.
The schedule is mostly arithmetic and one guess
For each open job, the WIP schedule needs four numbers and some arithmetic.
The contract value, including change orders. Mostly a lookup, with one judgment hidden inside it: which change orders count. Signed ones, certainly. The one the GC agreed to on the phone is a decision somebody has to make on purpose.
Billed to date and cost to date. Both lookups from the books, and both only as good as the job coding. A pallet of copper charged to the wrong job makes two jobs wrong.
Estimated cost to complete. This is the one that is not in any system. It is the project manager's judgment about what is left: labor not yet spent, material not yet bought, the problem nobody has priced yet.
Then the arithmetic, which is the easy part. Take a $500,000 contract with $240,000 spent and a PM who says $160,000 to go. Estimated total cost is $400,000, so the job is sixty percent complete and has earned $300,000. If you have billed $340,000, you are overbilled by $40,000, which is money collected ahead of the work: a liability, not profit.
Three of the four inputs are lookups, one of them with a judgment hidden inside. The fourth is pure judgment. The schedule is late every month because of the one, and because nobody owns getting it in.
What Microsoft shipped, and what it leaves alone
Microsoft's roadmap lists a Business Central feature that lets you define report packs containing multiple financial reports, then run them immediately or schedule delivery to report inboxes or by email. As of October 2026 its status reads "Launched", with rollout starting October 2026 and release phase "General Availability". Microsoft says existing online customers can schedule the update that carries it, version 29.0, at any point up to February 2027, so it may not be in your system yet. Yun Zhu, a Business Central specialist who tested it in the public preview and wrote it up on the Dynamics 365 Lab blog on September 10, 2026, says it combines the reports into a single PDF, and that scheduling several financial reports by email previously meant configuring each one separately. So this extends emailing of single financial reports, which already existed, to a bundle. Zhu also notes that recipients need an email address in the system's user setup, or Business Central shows an error when the schedule is set up.
That is genuinely useful for the statements. It does nothing for the WIP schedule, for a plain reason: the pack bundles reports the accounting system already holds, and the cost-to-complete estimate is not in the accounting system. In our experience, the WIP schedule is a spreadsheet built beside the books, and it gets attached to the pack by hand.
What would have to be built
In our experience, construction accounting suites can calculate WIP, if every job's estimate is kept current inside them. The calculation was never the hard part. What we have not found off the shelf, for a contractor running general-purpose accounting and spreadsheet estimates, is the piece that gets the one human number in on time and checks it.
The thing to build has four parts. First, at month end it pulls each open job's contract value, approved change orders, billed to date and cost to date from the books, by job number. Second, it sends each project manager one short request per open job, showing last month's estimate, the cost booked since, and a box for the new cost to complete. Third, it chases the ones who have not answered, and it flags any job where the new estimate moves the expected margin by more than an amount you set, asking the PM for one sentence on why. Fourth, it assembles the schedule, does the arithmetic, and hands the controller a draft with the flagged jobs on top.
The judgment to encode is small and specific: which change orders count, and how much margin movement deserves a sentence. The data that has to move is per job: three numbers out of the books (contract value with approved change orders, billed to date, cost to date) and one in from the field. The record it assembles is the one the controller now rebuilds from emails, texts and memory.
Who will resist, and why they are right
Project managers. A monthly cost-to-complete on a job in the middle of a dispute is a guess, and a system that flags every movement teaches them to stop moving the number. They will send last month's figure back unchanged, or work backward to whatever number keeps the margin flat, because admitting fade in month four gets them a meeting. They are right that the number is soft. That is why the flag should ask for a sentence, not an explanation in front of the owner.
The controller. They adjust the estimates by experience: one PM is always light, another pads. They will keep their own copy of the schedule with those adjustments, and they are right to, because that is real knowledge. Any build has to keep their override visible next to the PM's number, not replace it.
When not to build it
The honest no: if you carry fewer than ten open jobs at a time, do not build this. One person can update the spreadsheet and make the calls in an afternoon.
If job costs are not coded to jobs consistently in the books, do not build this either. The schedule will be wrong however neatly it is assembled. Fix the coding first: every invoice and every timecard carries a job number, and someone looks at the unassigned pile every week.
And if nobody outside the company asks for the schedule and nobody inside reads it, the problem is not assembly. Start reading it. Fade caught in month four is a conversation; caught at closeout it is a loss.
If this is your Thursday afternoon, the ten agent roles are in the Library.