Skip to content

Workbook Construction finance

the construction WIP schedule, explained simply

A WIP schedule answers one question: you are halfway through a job — how much have you actually earned? Get it right and your bank, your bonding agent and your accountant all trust your numbers. Get it wrong and you find out in the worst possible month.

$119 one-off 8 tabs Excel + Google Sheets 12 sample jobs Ties to your P&L
the construction WIP schedule, explained simply — Excel and Google Sheets workbook
The short answer

A WIP (work-in-progress) schedule works out how much of each job you have earned so far, which is almost never the same as how much you have billed. You divide what a job has cost you so far by what you expect it to cost in total. That gives you a percent. You have earned that percent of the contract.

The one place it stops being simple: if a job is going to lose money, you must record the whole loss straight away — not the share of it matching your progress. This workbook does that, and it checks that its own totals match your profit and loss statement.

What a WIP schedule is, in plain words

Imagine you agree to paint a fence for $100. You think it will cost you $60 in paint and time. You are halfway done and you have spent $30.

How much have you earned? Not $100 — you have not finished. Not $0 — you have done real work. You have spent half of what you expected to spend, so you are half done, so you have earned $50.

That is the whole idea. Cost is the measuring stick, because cost is the thing you can count. Now do it for twelve jobs at once, every month, with money going out and invoices going in at different times, and you need a schedule instead of a paragraph.

The second thing it tells you is whether you have billed ahead of the work or behind it. If you have earned $50 and billed $70, you are over-billed by $20 — that $20 is not profit, it is money you owe in work. If you billed $40, you are under-billed by $10, and you have quietly lent the customer $10.

Cost to datewhat you have spentPercent completecost ÷ estimated costEarned revenuecontract × percentGross profitearned − cost
The cost-to-cost method. Every step is arithmetic until the last one, where a loss job needs a different rule and most templates do not have it.

The mistake that costs the most

One job in the sample data is going to lose money. Harbor Point Parking Deck: the contract is worth $3,480,000, and it is now going to cost $3,595,000. That is a $115,000 loss, and the job is 88% complete.

Almost every free seven-column template will spread that loss across the job like it spreads profit — 88% of it now, the rest later. That is the wrong rule. The moment you can see a job will lose money, the entire loss belongs in this period.

Harbor Point Parking Deck — the same job, two rules
Loss recognised nowStill to comeIs it right?
The rule: full loss immediately−$115,000$0Correct. You know about the loss now, so you report it now.
What a prorated template does−$101,200−$13,800Wrong. It hides $13,800 of a loss you already know about.
Overstatement, one job$13,800On a portfolio of 12 jobs

$13,800 on one job sounds survivable. The problem is what it does to everything downstream: your gross profit is too high, so your income statement is too high, so the bonding capacity you calculate off that equity is too high — and you bid work on the strength of a number that was never real.

Why this one rule is the whole product

The arithmetic in a WIP schedule is genuinely easy. Divide, multiply, subtract. If that were all of it, a free template would be fine and this page would not exist.

What is hard is that a loss job follows a different rule from a profitable one, and a spreadsheet has to decide which is which on every job, every month, without you remembering to check. That is the branch below, and it is the thing a seven-column template does not have.

Each job, every monthprofitable, or heading for a loss?Profitable jobrecognise profit in proportion to progressLoss jobrecognise the FULL estimated loss now, not a share of it
The one rule the seven-column templates miss. A profitable job earns profit gradually; a loss job takes the whole loss the moment you see it.

How to build a WIP schedule that reconciles

1

Write down what each job is worth now

Original contract, plus every approved change order. Not the ones you have asked for — the ones that have been signed. That total is the revised contract, and everything else on the schedule is measured against it.

2

Write down two cost estimates, not one

This is the step people skip, and it is the one that pays for the workbook. Keep the estimate at award in its own column and never overwrite it. Keep your estimate now beside it.

If you only keep one, you have thrown away the only record of what you believed when you signed, and you can never see a job slowly getting worse.

3

Work out how far along each job is

Cost to date ÷ estimated cost now = percent complete.

Cap it at 100%. If a job has spent 108% of its estimate, that does not mean it is 108% built. It means the estimate is stale. The workbook caps it and the Fade Analysis tab is where that stale estimate shows up.

4

Turn the percent into earned revenue, then check for a loss

Revised contract × percent complete = earned revenue. Earned revenue − cost to date = gross profit.

Then the test that matters: is estimated cost now greater than the revised contract? If yes, this job is in a loss position, and the full loss goes in this period. The workbook applies that automatically and counts the loss jobs at the top of the schedule so you cannot miss one.

5

Make it tie to your profit and loss statement

A WIP that produces plausible numbers and does not reconcile is worth nothing. The Tie-Out tab compares period revenue and period cost against your P&L and refuses to print “reconciled” unless both variances are under $1. If they are not, it names the three usual causes rather than leaving you to hunt.

What is inside the file

Eight tabs. You type into two of them. The sample data is a realistic twelve-job contractor — $55.2M of revised contracts, $30.3M earned, $24.9M of backlog — so you can see every tab working before you put your own jobs in.

All 8 tabs in Construction WIP Schedule Template
TabWhat it does
Start HereWhat to fill in, in what order, and how to import the file into Google Sheets.
ContractsYour job list. Contract value, change orders, both cost estimates, cost to date, billed to date. This is the tab you type into.
WIP ScheduleThe schedule itself. Percent complete, earned revenue, gross profit, and the over-billed and under-billed split for every job.
Roll-ForwardThis month against last month, so you can see what actually moved rather than just where things stand.
Fade AnalysisCompares the gross profit you expected at award with what you expect now, job by job. This is where a job going quietly wrong becomes visible.
Tie-OutChecks the schedule against your income statement and refuses to say reconciled if either variance is over $1.
BondingWorking capital and equity, and the indicative multiples a surety looks at.
How It WorksEvery formula on the schedule, written out and explained.
The WIP Schedule tab showing twelve construction jobs with percent complete, earned revenue, over-billed and under-billed columns
The WIP Schedule tab of the workbook you download, with the sample data it ships with. Harbor Point Parking Deck is the loss job — its gross profit shows the full −$115,000, and the panel on the right counts it.

Opening it in Excel, Google Sheets or Numbers

It is one .xlsx file. There are no macros, no add-ins and nothing to install, which is what makes it portable — a macro-driven template would be Excel-only.

Where the file opens, and how
AppHow to open it
Microsoft ExcelDouble-click the file. Excel 2016 and later, and Microsoft 365, on Windows or Mac. Nothing to enable and nothing to install.
Google SheetsGo to Google Drive, click New → File upload and pick the .xlsx. Then double-click it in Drive and choose Open with → Google Sheets. To keep a native copy, use File → Save as Google Sheets. Formatting and formulas both carry over.
Apple Numbers (Mac, iPad, iPhone)Numbers opens .xlsx directly — double-click it, or in Numbers use File → Open and select the file. Numbers converts it on open and will list anything it changed. To send a copy back to someone on Excel, use File → Export To → Excel.
LibreOffice CalcFree, and opens the file as-is on Windows, Mac and Linux. This is what I use to recalculate every workbook when I check the maths, so it is the app these files are tested hardest in.

Every formula in this workbook uses ordinary functions — SUM, IF, INDEX, MATCH and their relatives. Nothing here is Excel-only.

Get the workbook

$119 one-off · no subscription

  • One .xlsx file, eight tabs, works in Excel, Google Sheets, Numbers and LibreOffice
  • Twelve jobs of realistic sample data so you can see it working before you touch it
  • Loss jobs handled correctly and counted for you
  • A tie-out that will not lie to you about reconciling
  • Free lifetime updates
Get it on Gumroad →

Instant download from Gumroad. No subscription, no account, no macros.

Below here is the arithmetic

The arithmetic, written out

Five lines. Written out so you can check the workbook rather than trust it.

percent complete   = MIN(1, cost to date / estimated cost now)
earned revenue     = revised contract * percent complete
gross profit       = earned revenue - cost to date
over-billed        = MAX(0, billed to date - earned revenue)
under-billed       = MAX(0, earned revenue - billed to date)

And the rule that is not in that list, because it is a condition rather than a formula:

if estimated cost now > revised contract:
    gross profit = revised contract - estimated cost now     # the FULL loss, now

Two details worth naming. Over-billed and under-billed are never netted at job level — they are two different lines on a balance sheet, one a liability and one an asset, so every job shows a figure in one column and a zero in the other. And percent complete is capped, which is the MIN(1, …) above.

How I know the numbers are right

I do not trust a spreadsheet because it looks right. Every workbook in this line has a checker next to it that reimplements the whole thing from scratch in Python, recalculates the real file in LibreOffice, and compares the two. For this one it also asserts eight identities — things that must be true of any correct WIP, and that would be false of a broken one:

Last run: 0 numeric mismatches, 0 property failures, 0 formula errors. The sample portfolio fades 2.5 points, from 17.33% gross margin at award to 14.81% now, across 8 of the 12 jobs — enough to trip the workbook's systematic-fade verdict, which is the point of shipping data that is not tidy.

Compared with the alternatives

What else you could do instead
CostLoss jobsTies to the P&LFade analysis
This workbook$119Full loss, automaticallyYes, refuses to fake itYes
A free seven-column template$0Prorated — wrongNoNo
Construction accounting software$200–$600 / monthCorrectYesUsually
Your accountant builds it$1,500–$5,000 onceCorrectYesIf you ask

Questions people ask before buying

What is a WIP schedule in simple terms?

It is a table that works out how much of each job you have actually earned so far, based on how much of the expected cost you have spent. It also shows whether you have invoiced more than you have earned, or less.

Why does a loss job get treated differently?

Because a loss is not something you earn gradually. As soon as you can see that a job will cost more than it pays, that whole loss is a fact you already know, so accounting rules say you report all of it now. Profit is different: you only earn that as you do the work.

Does this reproduce a specific accounting form?

No. It produces the figures a WIP schedule needs, in the layout a surety and a bank expect to see. It is not a facsimile of any copyrighted form.

Will it work in Google Sheets?

Yes. Upload the .xlsx to Google Drive and open it with Google Sheets. Every formula in this workbook uses ordinary functions, so nothing is lost in the conversion.

Can I use it on a Mac without Excel?

Yes. Apple Numbers opens the .xlsx directly, and LibreOffice Calc is free and opens it too. LibreOffice is what I use to recalculate the file when I check the maths.

How many jobs does it handle?

It ships sized for a contractor running a couple of dozen jobs at once, with twelve filled in as an example. You add rows the normal way; the formulas copy down.

Do I need to know accounting to use it?

You need to know your own job costs. The workbook explains every rule it applies on the How It Works tab, in the same plain terms as this page.

What are the bonding multiples?

Indicative planning figures — roughly 10 times working capital for a single job and 20 times in aggregate. They are labelled as indicative everywhere they appear. Your surety sets your real capacity, not a spreadsheet.

Related spreadsheets

Ready to stop doing this by hand?

$119 one-off · no subscription

  • One .xlsx file, eight tabs, works in Excel, Google Sheets, Numbers and LibreOffice
  • Twelve jobs of realistic sample data so you can see it working before you touch it
  • Loss jobs handled correctly and counted for you
  • A tie-out that will not lie to you about reconciling
  • Free lifetime updates
Get it on Gumroad →

Instant download from Gumroad. No subscription, no account, no macros.