<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>WIP Schedule | Construction Metrics</title><link>https://constructionmetrics.com/tag/wip-schedule/</link><description>WIP Schedule on Construction Metrics</description><language>en-us</language><atom:link href="https://constructionmetrics.com/tag/wip-schedule/index.xml" rel="self" type="application/rss+xml"/><lastBuildDate>Sat, 26 Sep 2026 11:34:53 -0400</lastBuildDate><item><title>How to build a work-in-progress schedule from job cost data, column by column</title><link>https://constructionmetrics.com/2026/09/26/build-work-in-progress-schedule-job-cost/</link><pubDate>Sat, 26 Sep 2026 11:34:53 -0400</pubDate><guid isPermaLink="true">https://constructionmetrics.com/2026/09/26/build-work-in-progress-schedule-job-cost/</guid><category>Data</category><description>A WIP schedule needs four inputs per job. Here is how each column is calculated and what it tells a CFO, with a four-job worked example.</description><content:encoded>&lt;p&gt;The work-in-progress schedule, or WIP, is the monthly report that lists every open job on one row and compares what each job has earned with what it has billed. A controller or project accountant usually builds it at month end from the job cost ledger, with estimates from the project managers.&lt;/p&gt;
&lt;p&gt;People outside the company read it as well. CFMA&amp;rsquo;s self-study course on the WIP names sureties, banks and CPAs as third-party users whose reading of the schedule can affect the business.&lt;/p&gt;
&lt;p&gt;This post walks through the columns in the order you calculate them, then runs four example jobs through the math. It builds on two older posts on this site, &lt;a href="https://constructionmetrics.com/2017/07/25/construction-accounting-overbilling/"&gt;overbilling&lt;/a&gt; and &lt;a href="https://constructionmetrics.com/2017/07/28/construction-accounting-unberbilling/"&gt;underbilling&lt;/a&gt;, which define the two terms the schedule ends on.&lt;/p&gt;
&lt;h2 id="what-goes-in"&gt;What goes in&lt;/h2&gt;
&lt;p&gt;Foundation Software&amp;rsquo;s guide to WIP reports says the schedule is built from four numbers per job. Accounting supplies costs to date and billings to date. Project managers supply the contract amount and the estimated total cost, both including approved change orders.&lt;/p&gt;
&lt;p&gt;Everything else on the schedule is arithmetic on those four inputs. Foundation&amp;rsquo;s guide also points out that there is no single standard layout, so firms add columns such as backlog or remaining profit.&lt;/p&gt;
&lt;h2 id="the-columns"&gt;The columns&lt;/h2&gt;
&lt;p&gt;The method below is cost-to-cost, which CFMA teaches alongside the percentage-of-completion method. Cost-to-cost measures progress as the share of estimated cost already spent. Here is the order of calculation, using Foundation&amp;rsquo;s sample report as the template:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Contract: the revised contract value with approved change orders.&lt;/li&gt;
&lt;li&gt;Estimated total cost: the current estimate at completion, also including approved change orders.&lt;/li&gt;
&lt;li&gt;Estimated gross profit: contract minus estimated total cost.&lt;/li&gt;
&lt;li&gt;Cost to date, from the job cost ledger.&lt;/li&gt;
&lt;li&gt;Percent complete: cost to date divided by estimated total cost.&lt;/li&gt;
&lt;li&gt;Earned revenue: contract times percent complete. Foundation describes this as the amount that should be billable.&lt;/li&gt;
&lt;li&gt;Billed to date, from accounts receivable.&lt;/li&gt;
&lt;li&gt;Over (under) billing: billed to date minus earned revenue. A positive result is an overbilling, which Foundation also calls billings in excess of costs. A negative result is an underbilling, or costs in excess of billings.&lt;/li&gt;
&lt;li&gt;Cost to complete: estimated total cost minus cost to date.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Gross profit to date comes from the same numbers: earned revenue minus cost to date.&lt;/p&gt;
&lt;aside class="note"&gt;Foundation&amp;rsquo;s guide notes that percent complete can also come from quantities installed or a project manager&amp;rsquo;s estimate. Whichever method you use, keep it the same from month to month so the columns compare.&lt;/aside&gt;
&lt;h2 id="a-worked-example"&gt;A worked example&lt;/h2&gt;
&lt;p&gt;The table below is an example with round numbers. It shows four jobs at one month end.&lt;/p&gt;
&lt;figure class="table-figure"&gt;
&lt;div class="table-container"&gt;
&lt;table class="table data-table"&gt;
&lt;caption&gt;Example WIP schedule, four jobs at one month end (illustrative figures)&lt;/caption&gt;
&lt;thead&gt;&lt;tr&gt;&lt;th&gt;Job&lt;/th&gt;&lt;th class="num"&gt;Contract&lt;/th&gt;&lt;th class="num"&gt;Est. total cost&lt;/th&gt;&lt;th class="num"&gt;Est. gross profit&lt;/th&gt;&lt;th class="num"&gt;Cost to date&lt;/th&gt;&lt;th class="num"&gt;% complete&lt;/th&gt;&lt;th class="num"&gt;Earned revenue&lt;/th&gt;&lt;th class="num"&gt;Billed to date&lt;/th&gt;&lt;th class="num"&gt;Over (under) billing&lt;/th&gt;&lt;th class="num"&gt;Cost to complete&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;&lt;td&gt;Job A&lt;/td&gt;&lt;td class="num"&gt;$2,000,000&lt;/td&gt;&lt;td class="num"&gt;$1,700,000&lt;/td&gt;&lt;td class="num"&gt;$300,000&lt;/td&gt;&lt;td class="num"&gt;$850,000&lt;/td&gt;&lt;td class="num"&gt;50%&lt;/td&gt;&lt;td class="num"&gt;$1,000,000&lt;/td&gt;&lt;td class="num"&gt;$1,100,000&lt;/td&gt;&lt;td class="num"&gt;$100,000&lt;/td&gt;&lt;td class="num"&gt;$850,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Job B&lt;/td&gt;&lt;td class="num"&gt;$1,000,000&lt;/td&gt;&lt;td class="num"&gt;$900,000&lt;/td&gt;&lt;td class="num"&gt;$100,000&lt;/td&gt;&lt;td class="num"&gt;$720,000&lt;/td&gt;&lt;td class="num"&gt;80%&lt;/td&gt;&lt;td class="num"&gt;$800,000&lt;/td&gt;&lt;td class="num"&gt;$700,000&lt;/td&gt;&lt;td class="num"&gt;-$100,000&lt;/td&gt;&lt;td class="num"&gt;$180,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Job C&lt;/td&gt;&lt;td class="num"&gt;$500,000&lt;/td&gt;&lt;td class="num"&gt;$400,000&lt;/td&gt;&lt;td class="num"&gt;$100,000&lt;/td&gt;&lt;td class="num"&gt;$100,000&lt;/td&gt;&lt;td class="num"&gt;25%&lt;/td&gt;&lt;td class="num"&gt;$125,000&lt;/td&gt;&lt;td class="num"&gt;$125,000&lt;/td&gt;&lt;td class="num"&gt;$0&lt;/td&gt;&lt;td class="num"&gt;$300,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Job D&lt;/td&gt;&lt;td class="num"&gt;$3,000,000&lt;/td&gt;&lt;td class="num"&gt;$2,700,000&lt;/td&gt;&lt;td class="num"&gt;$300,000&lt;/td&gt;&lt;td class="num"&gt;$1,080,000&lt;/td&gt;&lt;td class="num"&gt;40%&lt;/td&gt;&lt;td class="num"&gt;$1,200,000&lt;/td&gt;&lt;td class="num"&gt;$1,350,000&lt;/td&gt;&lt;td class="num"&gt;$150,000&lt;/td&gt;&lt;td class="num"&gt;$1,620,000&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;&lt;td&gt;Total&lt;/td&gt;&lt;td class="num"&gt;$6,500,000&lt;/td&gt;&lt;td class="num"&gt;$5,700,000&lt;/td&gt;&lt;td class="num"&gt;$800,000&lt;/td&gt;&lt;td class="num"&gt;$2,750,000&lt;/td&gt;&lt;td class="num"&gt;&lt;/td&gt;&lt;td class="num"&gt;$3,125,000&lt;/td&gt;&lt;td class="num"&gt;$3,275,000&lt;/td&gt;&lt;td class="num"&gt;$150,000&lt;/td&gt;&lt;td class="num"&gt;$2,950,000&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/div&gt;
&lt;/figure&gt;
&lt;p&gt;Job A has spent $850,000 of a $1,700,000 estimate, so it is 50% complete and has earned $1,000,000 of its $2,000,000 contract. It has billed $1,100,000, which puts it $100,000 overbilled.&lt;/p&gt;
&lt;p&gt;Job B is 80% complete and has earned $800,000 but billed only $700,000. That $100,000 underbilling is the row a CFO should ask about first.&lt;/p&gt;
&lt;p&gt;Across all four jobs the company is overbilled by a net $150,000. That net figure combines $250,000 of overbilling on Jobs A and D with $100,000 of underbilling on Job B. Gross profit to date across the four jobs is $375,000, and $3,375,000 of contract revenue remains to be earned.&lt;/p&gt;
&lt;h2 id="what-each-column-tells-a-cfo"&gt;What each column tells a CFO&lt;/h2&gt;
&lt;h3 id="estimated-gross-profit"&gt;Estimated gross profit&lt;/h3&gt;
&lt;p&gt;This column shows margin fade, the drop in expected profit on a job between the bid and the current estimate. Robert Mercado, a construction assurance partner at Marcum LLP, writes in a guide CMAA republished that gain and fade analysis should be done monthly at a minimum. He adds that sureties run the same analysis on each job, and that a contractor who fades consistently will likely get unfavorable decisions from sureties and lenders.&lt;/p&gt;
&lt;h3 id="percent-complete"&gt;Percent complete&lt;/h3&gt;
&lt;p&gt;Percent complete depends on the cost estimate under it. Suppose the project manager on Job B raises the estimated total cost from $900,000 to $1,000,000 after costs reach $800,000. Percent complete stays at 80%, earned revenue stays at $800,000, and the job&amp;rsquo;s expected gross profit drops from $100,000 to zero. The $80,000 of profit the schedule showed last month has to come back out of this month&amp;rsquo;s income statement.&lt;/p&gt;
&lt;h3 id="over-and-under-billings"&gt;Over and under billings&lt;/h3&gt;
&lt;p&gt;Mercado writes that underbillings are not common and are a cause for concern when they show up, since a contractor should be able to bill for all work performed. He lists legitimate causes too, such as billing milestones not yet reached and change orders approved for scope before their price is settled. Foundation&amp;rsquo;s guide adds that unreported change orders make a job look underbilled, which overstates income.&lt;/p&gt;
&lt;p&gt;Mercado writes that an overbilling shifts the financing of a job to the owner. He cautions that overbilled cash spent on another job can leave the first job short at the end, and he says any overbilling should be matched by cash in the bank.&lt;/p&gt;
&lt;h3 id="cost-to-complete"&gt;Cost to complete&lt;/h3&gt;
&lt;p&gt;Foundation&amp;rsquo;s guide singles out cost to complete as the number that has to be accurate. If it is wrong, percent complete, earned revenue and the billing position are all wrong with it.&lt;/p&gt;
&lt;h2 id="adding-a-cash-view"&gt;Adding a cash view&lt;/h2&gt;
&lt;p&gt;Mercado describes a per-job cash check that fits as two extra columns. Cash received is billed to date minus accounts receivable, with retainage counted in receivables. Cash paid is cost to date minus accounts payable. A job where cash paid exceeds cash received is one the contractor is financing.&lt;/p&gt;
&lt;h2 id="how-to-build-it-from-your-job-cost-data"&gt;How to build it from your job cost data&lt;/h2&gt;
&lt;p&gt;Cost to date and billed to date already sit in the accounting system by job number. The estimates take more work, because project managers own them.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Export cost to date and billed to date by job number as of month end, after the month&amp;rsquo;s AP and billing are posted.&lt;/li&gt;
&lt;li&gt;Pull the revised contract value and approved change orders for each job.&lt;/li&gt;
&lt;li&gt;Collect an updated estimate at completion from each project manager. A budget minus cost to date is a starting point, and Foundation&amp;rsquo;s guide says the number has to match field conditions, including pending change orders.&lt;/li&gt;
&lt;li&gt;Calculate the columns in the order above in Excel or Power BI, keyed on job number.&lt;/li&gt;
&lt;li&gt;Save each month&amp;rsquo;s schedule as a separate snapshot. Fade analysis needs last month&amp;rsquo;s estimated gross profit next to this month&amp;rsquo;s.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Foundation&amp;rsquo;s guide suggests reviewing the schedule in a meeting with project managers. Its checklist for that meeting includes any underbilling, unsigned change orders on completed work, overdue receivables, and any large gap between the field&amp;rsquo;s and accounting&amp;rsquo;s percent complete.&lt;/p&gt;
&lt;h2 id="how-to-track-this-on-your-jobs"&gt;How to track this on your jobs&lt;/h2&gt;
&lt;p&gt;Start with the four inputs for your five largest open jobs and build the schedule by hand once. Then compare each job&amp;rsquo;s estimated gross profit with the figure in the original estimate. That comparison is the first fade report, and it tells you which project managers need to update their estimates before the next month end.&lt;/p&gt;</content:encoded></item></channel></rss>