Controller · Job page
WIP schedule and over/under-billing draft
Use an agent to draft the monthly WIP / percentage-of-completion schedule from job-cost exports; the controller owns ECTC, percent complete, and the signature.
ready todayUpdated 2026-09-0212 tools citedMarkdown ↧JSON ↧How we write
The job
The controller at a US general contractor doing about $5–10M a year — often the owner wearing an accounting hat, or one person who also codes AP, runs payroll, deposits checks, and builds the month-end package on a Friday night. There is no FP&A team. There is no WIP clerk whose only job is the schedule. If the WIP gets built at all, it is an Excel workbook the bank or surety asked for, rebuilt from job-cost exports and last month’s rows.
This job is use an agent, not build a model. The controller already has a desk: job-cost reports (costs incurred by job), commitment / buy-out lists, billing logs or G702 packages that went out, an estimate-to-complete habit (even if it lives in a notebook), and Excel. The agent sits in the draft rows and flag mismatches step only. It does not invent remaining cost. It does not swear the schedule is GAAP-clean. It does not email the surety.
This page is not AP invoice coding and matching. That job is the weekly extract-match-propose pass on supplier invoices and sub pay apps. This page is the monthly WIP schedule seat — contract amounts, costs to date, estimated cost to complete, percent complete, earned revenue, billings to date, and the overbilling / underbilling position. It is also not the president’s weekly project-risk digest. That job is a one-page exceptions brief across dailies, cost reports, and minutes. Portfolio risk theater is not a WIP schedule, and a WIP schedule is not a weekly risk digest.
Without an agent the work is still the same: close the month’s job costs, refresh estimates to complete with people who know the jobs, compute percent complete and earned revenue, compare to billings, and produce a schedule someone will sign.
What a WIP schedule is for. On a $5–10M GC it is the monthly (or quarterly) job-level bridge between what you spent, what you billed, and what you earned under percentage-of-completion style accounting. Surety Bond Quarterly (Old Republic Surety underwriting voice): revenue and profits on the income statement are taken from the WIP; the balance sheet shows Costs and Estimated Earnings in Excess of Billings (underbillings) and Billings in Excess of Costs and Estimated Earnings (overbillings) — both taken from the WIP. Underwriters ask for a WIP that goes with the statement because the job-level detail explains whether one bad job dragged gross profit, whether late-stage underbillings look collectible, and whether internally produced statements even tie. NASBP frames the same tool as more than a history lesson: cost-to-cost WIP drives how the financial statement looks, and users of financial information tend to be wary of cash-basis and completed-contract presentations for that purpose.
GAAP frame (Topic 606), without inventing clause theater. FASB Topic 606, Revenue from Contracts with Customers, is the US GAAP revenue model. Official FASB ASU 2016-10 restates the core principle: recognize revenue to depict the transfer of promised goods or services in an amount that reflects the consideration the entity expects to be entitled to, by applying five steps — identify the contract(s); identify the performance obligations; determine the transaction price; allocate the transaction price; recognize revenue when (or as) the entity satisfies a performance obligation. Construction WIP schedules are how many contractors operationalize job-level measurement of that “when or as” for open contracts. FASB’s September 21, 2022 Topic 606 PIR Board meeting handout records surety-user feedback after adoption: underwriters still need to tell how much of contract assets are work performed but not invoiced (often called “under billings”) versus retainage, and presentation of contract assets / liabilities and retainage has been inconsistent across construction companies. This page does not invent ASC paragraph numbers beyond what those primary materials state. It does not treat a fluent AI draft as a Topic 606 memo.
Cost-to-cost percent complete (the usual WIP engine). NASBP: most WIP schedules follow the cost-to-cost method — a percentage-of-completion approach where earned revenue is driven by costs incurred to date divided by estimated total costs at completion. Direct materials, labor, subcontracting, and equipment are the easy costs; insurance, depreciation, and indirect labor are easy to miss — and if indirects are omitted, the “score” is wrong. Critically for this job: what you bill or collect does not determine earned revenue under that cost-to-cost math. Billing is a separate column. Confusing pay-app percent with cost-to-cost percent is how WIP becomes fiction.
Typical columns on a job-level WIP row (shop conventions vary; these are the usual seats, not a statutory form):
- Job / contract ID and short name
- Original contract amount
- Approved change orders (executed only — pending COs sit elsewhere)
- Revised contract amount (original + approved COs)
- Costs incurred to date (from the job-cost ledger you already keep)
- Estimated cost to complete (ECTC) — human judgment
- Estimated total cost (costs to date + ECTC)
- Percent complete (cost-to-cost: costs to date ÷ estimated total cost)
- Earned revenue (percent complete × revised contract amount, under the shop’s POC habit)
- Billings to date (gross billed, including approved CO billings — from your billing log / G702 history)
- Overbilling / underbilling (billings vs earned)
Overbilling vs underbilling (verified naming). NASBP / Old Republic Surety: underbillings are costs and earned profit in excess of billings; overbillings are billings in excess of costs and earned profits. Classic balance-sheet labels match Surety Bond Quarterly: underbillings as an asset, overbillings as a liability — with the underwriting caveat that an asset is not always “good” and a liability is not always “bad.” Late-stage underbillings on loss-making jobs are a red flag for collectibility and for overstated working capital. The agent can flag a large late-stage underbilling. It cannot decide the job will collect.
Estimated cost to complete is a human seat. ECTC is the judgment that drives percent complete, earned revenue, estimated gross profit, and over/under. Field PMs, supers, and the controller own remaining cost — remaining buy-out, labor to finish, open claims risk, known rework, indirects the shop allocates. An agent that invents ECTC from a photo gallery or from last month’s row without a human refresh is forging the schedule. Leave ECTC blank in the draft until a person fills it, or carry last month’s ECTC only as a flagged starting point the controller must overwrite.
Billings vs earned — do not mix with pay-app theater. Owner and sub progress billings often ride AIA G702–1992 plus G703–1992: contract sum to date, work completed and stored, retainage, prior payments, change-order summary, current amount due — with G703 breaking the sum into SOV portions. Official AIA counsel on A201–2017 § 9.2 / § 9.3: the schedule of values allocates the Contract Sum and is the basis for reviewing Applications for Payment. That SOV / G702 percent is billing documentation. It is related to, and must reconcile with, WIP billings-to-date — but it is not a substitute for cost-to-cost earned revenue. The controller invoices page already covers coding those pay apps into commitments. This page uses the billing totals those packages produced, not the weekly coding pass.
GAAP books vs tax books (careful, no invented thresholds for 2026). Financial-statement WIP and tax accounting for long-term contracts are related and often different. The IRS Construction Industry Audit Technique Guide (examiner guide — not an official pronouncement of law) explains IRC §460’s general push toward percentage-of-completion / cost-to-cost for many long-term construction contracts, discusses completed-contract and other methods for exempt contracts, and has a chapter on financial accounting versus tax accounting — including sample contracts-in-process schedules. IRS Instructions for Form 8697 (12/2025): look-back interest under §460(b) reallocates income on completed long-term contracts using actual contract price and costs instead of estimates; a small-contractor exception applies when the job was estimated to finish within two years and average annual gross receipts for the prior three years do not exceed an inflation-adjusted amount ($31 million for contracts entered into in tax years beginning in 2025; for later years the instructions point you to the applicable return instructions / IRS.gov/InflationAdjustment). IRS look-back procedures stress that look-back is hypothetical — it does not amend prior-year tax returns by itself. A $5–10M GC is typically under that gross-receipts test, but method elections, AMT history, and Form 8697 are CPA / tax-counsel seats. The agent does not choose your tax method. Do not paste a GAAP WIP draft into a tax return as if they were the same book.
Why a $5–10M GC still builds the schedule. Many lenders and sureties request a WIP with (or instead of) internal financials — Surety Bond Quarterly and NASBP both treat WIP as a first-order underwriting document. There is one controller. Month-end is typing and reconciling. Expected shape of the gain: less time assembling rows from exports you already have, more time on ECTC and exceptions. There is no published, independent hours-saved or accuracy number for a $5–10M GC WIP agent that this page will invent. Time one of your month-ends (export + draft + your edit vs building cold) before you change anything you pay for.
Use
This is a use workflow. You do not train a model. You do not ask it to invent ECTC, invent percent complete from photos, invent a change order, or declare the company “GAAP compliant.” You export what you already keep, you get a draft schedule, a human owns the judgments and the signature.
- Close (or soft-close) job cost for the WIP date. Costs incurred to date must come from the ledger you already trust for that as-of date — not from a chat summary of what someone thinks was spent.
- Export the inputs you already keep. Minimum set: job roster with original contract and approved change orders; job-cost totals (and preferably major cost code rolls) to date; billings to date by job (from your billing log or posted G702 history); last signed WIP if you have one; open commitment / remaining buy-out export if you use it for ECTC support. Excel exports are fine.
- Collect human ECTC inputs before or during the draft. Short notes from the PM / super / owner per open job: remaining cost to finish, known pending issues, whether last month’s ECTC still holds. If nobody refreshed ECTC, the agent must not invent one. Carry prior ECTC only as a flagged placeholder.
- Feed the agent only those files plus your WIP column template. Prompt shape: build one row per open job from the exports; compute revised contract, estimated total cost, cost-to-cost % complete, earned revenue, and over/under only where ECTC and costs are present; flag jobs missing ECTC, costs that do not tie to the export totals, billings that do not tie to the billing log, revised contract that includes unapproved COs, large late-stage underbillings, and prior-month vs current swings; leave a field blank rather than guess; do not invent a job, CO, cost, billing, or ECTC; do not say the schedule is approved, bonded, or “surety-ready.”
- Human edit — this is the real job. Rewrite every ECTC. Sanity-check % complete against field reality (NASBP’s point: cost-to-cost can be mathematically tidy and still miss indirects or a dying job). Confirm approved COs only. Confirm billings-to-date against the pay-app / invoice log — G702 theater belongs on the invoices desk for coding, and here only as a billing total. Strike any fluent story the model added about “why” a job is underbilled unless that story was in your notes.
- Reconcile totals. WIP earned revenue and over/under totals should be something you can explain next to the books you keep. Surety Bond Quarterly: when CPA-prepared statements show over/under that match the WIP, underwriters trust the package more; internally produced statements that do not tie raise questions about the whole file. The agent does not post the journal entries. The controller (or CPA) does.
- Human signs. Name, date, as-of date. The schedule is not “the WIP” until a person who owns the books accepts it.
- File it where you already look. Keep the signed workbook in Excel (or drop approved numbers into the construction-accounting package you already pay for). Send to bank / surety / owner only the signed package under your existing process. Do not forward raw model output. Do not stand up a new WIP vendor for this job.
- Keep sibling seats separate. Coding this month’s sub G702s is controller invoices. The owner’s weekly “what’s on fire” brief is president risk-digest. A one-line pointer between files is fine. Do not collapse three jobs into one prompt.
Expected shape of the gain: faster assembly of the arithmetic rows when the exports already exist. That is not “the model closed the books” and not “the model bonded the job.”
Build
This job does not require training a model or standing up a new vendor. Use the model you already have access to with the prompt shape above, your existing WIP column layout, and only the job-cost, billing, and ECTC notes you collected.
Expected shape of the gain: faster assembly of the arithmetic rows when the exports already exist. That is not “the model closed the books” and not “the model bonded the job.”
Deploy
What “good” looks like
- A named human owns every ECTC and signs every schedule before it leaves the office.
- Cost-to-cost math uses costs and total estimated cost from sources you can open; billings come from the billing log, not from a model’s memory of last quarter.
- Approved change orders only in revised contract. Pending / verbal COs are flags, not contract value.
- Over/under labels match the shop’s presentation (classic “costs and estimated earnings in excess of billings” / “billings in excess of costs and estimated earnings,” or Topic 606 contract asset / contract liability language your CPA already uses). Do not invent a third vocabulary mid-year.
- Raw model text is never the package emailed to a surety, bank, owner, or CPA as the official WIP.
- GAAP WIP and tax method / Form 8697 questions stay with the controller and tax counsel. The agent does not pick §460 elections.
- If you already have construction accounting software that prints a WIP, the agent drafts against that export or into your Excel bridge. This page does not sell a new one.
Manage
Who owns the seat
The controller / owner-bookkeeper owns the WIP schedule on a $5–10M GC. PMs and supers feed ECTC and field percent reality. The president may read the roll-up and ask about exceptions — that read is closer to risk-digest than to signing the schedule. An agent does not become the signer for the bank or the surety.
When to skip the agent
- You have no job-cost export and no billing log for the as-of date. Do not ask a model to invent a WIP from pay-app PDFs alone.
- You expect the model to set ECTC or percent complete from site photos or a daily-report gallery. That is judgment. Skip.
- Year-end audited / reviewed statements are in the CPA’s shop and they already produce the WIP. Do not run a parallel AI schedule that disagrees with the engagement unless the CPA asked for a client-prepared draft under their process.
- Tax method changes, look-back (Form 8697), or “should we be on completed contract for tax?” — CPA / counsel. Not this workflow.
- You were about to email an unsigned draft to a surety underwriter because the due date is tomorrow. Sign first, or ask for more time.
- The WIP habit is already a clean monthly Excel and typing is not the bottleneck. Leave it.
How to stand it up this quarter
Use the model you already have access to. Take last month’s signed WIP (if any), this month’s job-cost export, billing totals, and a one-page ECTC note per open job. Run the draft into your existing column layout. Edit every ECTC. Sign only if you would still send it. Repeat on the next month-end. Keep the workflow only if the signed schedule is still something you would put in the bank / surety file. Do not buy a WIP product to complete this job.
Citations
Tools are citations, not new brand pages. Do not invent vendor homepages. This page does not create a Procore, Sage, Foundation, QuickBooks, Viewpoint, or other accounting-vendor listing.
- FASB ASU 2016-10 / Topic 606 — core principle and five steps; recognize revenue when (or as) performance obligations are satisfied.
- FASB Topic 606 PIR handout (Sept 21, 2022) — construction contract assets/liabilities; surety users on underbillings vs retainage presentation after Topic 606.
- NASBP — WIP as strategic tool — cost-to-cost; billings do not drive earned revenue; completed-contract / cash often tax-facing; users wary of those for financial-statement strength.
- NASBP — surety perspective on underbilling — underbillings vs overbillings definitions; late-stage underbilling / profit-fade risk; WIP compared to subsequent statements.
- Surety Bond Quarterly — why WIP matters — WIP feeds P&L and balance-sheet over/under; underwriters request WIP with statements; tie-out to internal financials.
- IRS Construction Industry ATG — §460 long-term contracts; cost-to-cost PCM; financial vs tax chapter (guide for examiners; not cited as law).
- IRS Form 8697 instructions (12/2025) / look-back procedures — look-back on actual vs estimated contract price/costs; small-contractor exception and inflation-adjusted receipts test.
- AIA G702 / G703 / overview / SOV / A201 § 9.2–9.3 — progress billing and SOV as the payment application basis; billings input to WIP, not a replacement for earned revenue.
- Excel, job-cost export, email — assemble and sign. If they already have construction accounting software, the agent drafts into that. No new vendor page on this site.
Watch-outs
- Invented ECTC. Models write fluent “remaining cost $184,500” citations that were never in the export or the PM note. Same failure mode as legal citation hallucination: Dahl, Magesh, Suzgun & Ho, Large Legal Fictions, 16 J. Legal Analysis 64 (2024) (arXiv:2401.01301, doi:10.1093/jla/laae003) — public LLMs on verifiable federal-case questions hallucinated often and could not reliably tell. Those percentages are legal-case questions, not WIP accuracy; do not import them as a construction schedule rate. Do import the habit: every ECTC in the draft is unverified until a human who knows the job owns it. Blank is honest; a confident fake remaining cost is not.
- Percent complete from photos or pay-app theater. Cost-to-cost is costs ÷ estimated total cost (NASBP). A G702 SOV percent (AIA) is how you billed. A drone shot is not either one. Mixing the three invents earned revenue.
- Unapproved change orders in revised contract. Pending COs inflate contract value and earned revenue. Put them in a flag column until executed (same discipline as the invoices page: match the executed change, do not invent one so the math “fits”).
- Forwarding the raw draft to a surety or bank. Underwriters treat WIP as a window into working capital and net worth (Surety Bond Quarterly; NASBP). An unsigned AI schedule that does not tie to the books is worse than a late human schedule.
- GAAP revenue confused with cash. Cost-to-cost earned revenue is not deposits, not draws collected, and not “we’re fine because the checking account is up.” NASBP’s own WIP piece calls out the trap: jobs “making 15%” on a WIP that ignored indirects while the bank account shrinks.
- Tax method cosplay. §460, completed-contract eligibility, and Form 8697 look-back are not prompt outputs. Cite the ATG and Form 8697 instructions only to keep GAAP vs tax distinct; call your CPA for the election.
- Collapsing sibling jobs. Do not turn this into AP coding or the president risk digest. Different seats, different outputs, different signers.
- Do not replace the controller. The agent drafts arithmetic rows and flags. The controller still owns ECTC, the schedule, the tie-out, and the signature.
Verdict
Yes — a $5–10M US GC should run this job this quarter if they already export job cost and billings, the bottleneck is assembling the monthly WIP rows, and a person will still own every estimate to complete and sign before bank / surety / owner review. Use an agent to draft WIP rows and flags from exports you already keep; the controller owns ECTC, percent-complete judgment, and the signed schedule. Skip this quarter if you expected the model to invent remaining cost, set % complete from photos, choose a tax method, or email an unsigned draft to a surety; if typing the schedule is not the bottleneck; or if your CPA already produces the only WIP that matters for the engagement. Do not publish this page as a vendor listing.
6Tools cited
- FASB ASU 2016-10 (Topic 606 core principle) — Topic 606 five-step model — recognize revenue when (or as) performance obligations are satisfied
- FASB Topic 606 PIR Board meeting handout (Sept 21, 2022) — Construction contract assets/liabilities; surety users on underbillings vs retainage under Topic 606
- NASBP — WIP as strategic tool — Cost-to-cost % complete; billings do not drive earned revenue; completed-contract mainly tax
- NASBP — surety view of underbilling — Underbillings = costs and earned profit in excess of billings; overbillings = billings in excess of costs and earned profits
- Surety Bond Quarterly — why underwriters ask for WIP — WIP feeds income statement and balance sheet; underbillings / overbillings naming; sureties request WIP with statements
- IRS Construction Industry Audit Technique Guide — IRC §460 long-term contracts; cost-to-cost PCM for tax; financial vs tax accounting caution (examiner guide, not law)
- IRS Instructions for Form 8697 (12/2025) — Look-back interest; small-contractor exception (inflation-adjusted gross receipts; $31M for tax years beginning in 2025)
- IRS look-back interest procedures — How look-back reallocates PCM income using actual vs estimated contract price/costs
- AIA G702 / G703 instructions — Progress billing application — contract sum, work completed/stored, retainage, change orders, current payment
- AIA G702 / G703 overview — Pay apps execute A101/A201 payment; SOV, % complete on the bill, stored materials, retainage
- AIA schedule of values (A201 § 9.2 / § 9.3) — SOV allocates Contract Sum; Applications for Payment follow it — billing theater, not the WIP earning calc
- Excel — WIP schedule workbook (desk tool they already have)
7Changelog
- 2026-09-02
- Published from Scout’s job playbook.