Back online
← Construction Project Controls

Construction finance:cost to cash

The bank balance lies. The money flow does not.

You have spent $4.5M and billed $5.6M on a $10M job. Are you ahead, or quietly $600K in the hole? The answer is not on the bank statement. It is in the circuit that runs from the cost the work has consumed, through the progress the field can prove, to the revenue you have earned and the cash you have billed. This guide walks that circuit once, on one job, with every number tied to the next.

$10.0M
Contract value
Why it matters

What the owner will pay in full. Earned revenue is a share of this.

$4.5M
Incurred cost
Why it matters

Paid $3.2M plus AP $0.9M plus accruals $0.4M. Only $3.2M has left the bank.

0.94
CPI
Why it matters

Earned $4.25M against $4.5M spent. Every dollar is buying 94 cents of work.

$0.6M
Over-billed
Why it matters

Billed $5.6M, earned $5.0M. A contract liability until the work catches up.

Five numbers, one circuit

Construction money moves in a loop. Cost is consumed as crews work and material lands. Progress converts that cost into something earned, both as earned value against the budget and as earned revenue against the contract. Pay applications bill the owner, usually on a different rhythm from the earning. The gap between earned and billed settles on the WIP schedule as a contract asset or a contract liability, and the cash that finally arrives is smaller still, because retainage holds part of it back.

Most teams keep each link in a different report: the cost ledger, the schedule, the earned value summary, the billing log, the month-end WIP. Each one is right on its own. The surprises come from the joints between them, where a cost that was never accrued, a percent complete that was really a spend ratio, or a billing that ran ahead of the work can all hide for a quarter. Reading the five numbers as one circuit is how the joints get checked.

Link one: incurred cost is paid plus payable plus accrued

The circuit starts with what the work has consumed, and that is larger than what has been paid. On the example job $3.2M has cleared the bank, $0.9M of approved invoices is waiting out its terms, and $0.4M of work received at month end has no invoice yet. Incurred cost is all three: $4.5M. Open purchase orders for work not yet done are committed, not incurred, and wait outside.

LayerWhat it isEvidenceIn incurred cost?
PaidInvoices already settledCleared paymentYes
Accounts payableApproved invoices inside their termsApproved invoiceYes
Unbilled accrualsWork or material received, no invoice yetDelivery ticket, timesheet, estimateYes
Open commitmentsSigned POs for work not yet donePurchase orderNo

Each layer has its own glossary entry: incurred cost, accounts payable, and unbilled accruals. The open commitments are covered under budget vs committed.

Link two: progress, and the two ways to measure it

Percent complete is the valve in the circuit. It decides how much of the budget counts as earned value and how much of the contract counts as earned revenue. There are two ways to set it, and they disagree whenever a job is off plan.

Cost-to-cost is the accounting default: divide incurred cost by the total estimated cost and call the ratio progress. It is quick, it is what most revenue recognition rests on, and it carries a quiet assumption that every dollar spent bought a dollar of work. Physical progress measures the work itself: quantities installed, milestones verified, line items on the schedule of values signed off. On this job cost-to-cost says 52.9 percent and the field says 50. The difference is $0.25M of spend that bought no progress, and under cost-to-cost it would have been booked as $294K of revenue.

Cost-to-costPhysical progress
FormulaIncurred cost divided by total estimated costWork in place divided by total scope
On the example job$4.5M / $8.5M = 52.9%Verified quantities and milestones = 50%
Hidden assumptionEvery dollar spent bought a dollar of progressNone: it measures the work itself
When overspend happensProgress and revenue rise with itCPI falls; the overspend shows as cost, not progress
Where it is usedRevenue recognition, the WIP scheduleEarned value, CPI, SPI, the forecast

Both have a place. Cost-to-cost is what the percentage-of-completion method and the WIP schedule are built on. Physical progress is what keeps the performance read honest, and it is the basis POD uses for earned value. When the two diverge, the divergence itself is the finding.

Links three and four: earned, billed, and the WIP position

Apply 50 percent to the $8.5M budget and the job has earned $4.25M of value against $4.5M of cost: a CPI of 0.94, with the finish now forecast at $9.0M. Apply the same 50 percent to the $10.0M contract and the job has earned $5.0M of revenue. That second figure is the one the billing is judged against.

The pay applications have billed $5.6M. Earned minus billed is negative $0.6M, so the job is over-billed, and the balance sheet carries that $0.6M as a contract liability: billings in excess of costs and estimated earnings. The cash is in the account, but the owner has paid for work that is not yet in the ground. The reverse case, earning ahead of billing, is a contract asset, cash the contractor is owed and has not yet asked for.

Neither direction is wrong in a small amount. A modest early over-billing funds mobilization; a modest under-billing is just the lag between work and invoice. The danger is scale and habit. Lean on over-billing across several jobs and the next pay application is paying for the last one, and that works only until the pipeline slows. The WIP schedule is where this is struck job by job; over- and under-billing has its own definition. Retainage then widens the gap between earned and cash in hand, which is the subject of the retainage guide.

The money-flow circuit

Dollars enter from three pools and merge into incurred cost. The progress gate lets through only what the field can verify, which converts the flow into earned revenue. Pay applications arrive from below as billings. Where earned and billed meet, the beam tips toward the heavier side: billed outweighs earned by $0.6M, and the node reads contract liability.

Cost poolsIncurredProgressEarned vs billedWIPPaid $3.2MAP $0.9MAccruals $0.4MIncurred cost$4.5M50%Physical progressmeasured, not spentPay applicationsEarned revenue$5.0MEV $4.25M against the budgetBilled to date$5.6MOver-billed $0.6Mcontract liabilitySpent $4.5M. Earned $5.0M. Billed $5.6M.$0.6M in the bank is still owed in work.
The performance read: are you over budget, behind schedule, or both?

The same job, read through its two indices. CPI 0.94 says each dollar of incurred cost is earning 94 cents of budgeted work. SPI 0.97 says the work in place is slightly behind the 51.5 percent that was planned for this period. Together they turn the circuit into a forecast: hold this performance and the $8.5M budget lands at $9.0M.

Earned Value Performance

Cost Performance
0.80.91.01.11.20.00CPI
Critical
0.00CPI × SPI
Schedule Performance
0.80.91.01.11.20.00SPI
Critical

Both cost and schedule under pressure

CPI
0.00
SPI
0.00

Variance

-100.0%
Cost Var
-100.0%
Sched Var
0.000
Composite
100.000
EAC Factor

Status

Over Budget
Budget
Behind
Schedule
Action Needed
Health

The whole circuit on one job

Every number on this page comes from the same illustrative project, so each line below follows from the one above it. Change any input and the rest moves; the finance calculator lets you do exactly that.

FigureValueHow it is derived
Contract value$10.0MSigned agreement plus approved client change orders
Budget at completion (BAC)$8.5MThe cost baseline
Incurred cost (AC)$4.5MPaid $3.2M + AP $0.9M + accruals $0.4M
Physical percent complete50%Measured work in place
Earned value (EV)$4.25M50% x $8.5M
Planned value (PV)$4.38M51.5% planned x $8.5M
CPI / SPI0.94 / 0.97EV / AC and EV / PV
Estimate at completion$9.0MBAC / CPI, a $0.5M overrun forecast
Earned revenue$5.0M50% x $10.0M
Billed to date$5.6MPay applications against the schedule of values
WIP positionOver-billed $0.6MEarned $5.0M minus billed $5.6M, a contract liability

Five reports in a folder vs one live circuit

The joints between the links are where the quarter-end surprises live. The difference between a platform that stores each report and one that reads them is whether those joints are checked when the file lands or when the auditor asks.

Stored and reconciled later
  • ·Cost, progress, earned value, and billing each live in a separate file
  • ·Percent complete is whatever the last spreadsheet said, often a spend ratio
  • ·Billed-ahead and earned-behind meet only at the month-end WIP
  • ·A committed cost quietly counted as actual is found at audit, if at all
Read and kept in step
  • ·POD derives EV, CPI, SPI, EAC, ETC, and VAC from progress your team has confirmed
  • ·The budget at completion and the baseline carry every approved client change order
  • ·Committed cost stays separate from actual cost; retainage is carried on every billing
  • ·Billed-to-date comes from the pay applications, so a billing drifting from earned progress is flagged

Two honest limits. POD does not book a dollar earned-revenue figure or strike the WIP asset or liability for you; that stays with your accountant and the WIP schedule, with POD supplying current inputs. And POD does not split your ledger into paid, payable, and accrued; that is your accounting system. What POD removes is the lag: the progress is confirmed in the field, the pay app is read when it lands, and the performance read follows the same day rather than a quarter later.

Each link in depth

The construction finance library

Construction finance questions

What is the money flow on a construction project?▾

It is the chain that connects what a job has consumed to what it has earned to what it has billed. Incurred cost (paid invoices plus accounts payable plus accruals) is measured first. Progress converts that into earned value for performance and earned revenue for the books. Earned revenue is then set against what the pay applications have actually billed, and the difference lands on the WIP schedule as a contract asset or a contract liability. Each link is a separate report on most jobs; reading them as one circuit is what shows whether a healthy bank balance is real or borrowed.

What is incurred cost, and how is it different from what you have paid?▾

Paid is only the cash that has left the account. Incurred cost adds the approved invoices still waiting on their payment terms and the accrued estimate for work or materials received that nobody has invoiced yet. On the example in this guide the job has paid $3.2M but incurred $4.5M, because $0.9M sits in accounts payable and $0.4M is accrued. The $4.5M is the actual cost that earned value, CPI, and cost-based percent complete all use. Working from the $3.2M would make the job look $1.3M cheaper than it is.

What is the difference between cost-to-cost and physical percent complete?▾

Cost-to-cost divides incurred cost by the total estimated cost: spend $4.5M of an $8.5M budget and you are 52.9 percent complete. It is the accounting default for revenue recognition and it is easy to compute, but it assumes every dollar spent bought a dollar of progress. Physical percent complete measures the work in place: quantities installed, milestones hit, line items on the schedule of values verified. On the example job the field says 50 percent. The 2.9-point gap is overspend that cost-to-cost would have booked as revenue.

What is the difference between earned value and earned revenue?▾

Both are percent complete multiplied by a total, but the totals differ. Earned value multiplies progress by the cost budget (BAC), so it is comparable to actual cost and gives you CPI, cost variance, and the estimate at completion. Earned revenue multiplies progress by the contract value, so it is comparable to what you have billed and gives you the over- or under-billed position. On the example, 50 percent of an $8.5M budget is $4.25M earned value, and 50 percent of a $10.0M contract is $5.0M earned revenue. Same progress, two lenses.

What does it mean to be over-billed or under-billed?▾

Over-billed means the pay applications have billed more than the work has earned, which the balance sheet carries as a contract liability (billings in excess of costs and estimated earnings) because that cash is still owed in work. Under-billed is the reverse, a contract asset (costs and estimated earnings in excess of billings), where the contractor has earned revenue it has not yet invoiced. The example job has billed $5.6M against $5.0M earned, so it is over-billed by $0.6M. A modest early over-billing funds the job; a large one is cash borrowed from the next pay app.

How does POD read the money flow?▾

POD derives earned value, CPI, SPI, and the estimate, variance, and cost to complete from progress your team has confirmed, holds the budget at completion and the baseline through every approved client change order, keeps committed cost apart from actual cost, carries retainage, and takes billed-to-date from the pay applications, so it can flag when billing and earned progress are drifting apart. It does not book a dollar earned-revenue figure or a WIP reconciliation for you, and it does not split your ledger into paid, payable, and accrued. Those remain accounting work; what POD removes is the lag between the field and the numbers that work depends on.

Earned, billed, and spent on the same page

POD reads the circuit as the files land

Try the calculator with your own figures first. Then let POD read the pay applications, budget, and progress your jobs already produce, so the performance read is current when the question is asked.

Key terms in this guide

Each link of the circuit has a standalone definition, with its own example and diagram.

Last updated: October 2026 · all figures illustrative · KPI component shown is live, fed the same example values