CON-310 · Lesson 11 of 12 · 25 min

Cash flow, progress billing and payment law

A contractor can make a profit on paper and still run out of cash. On a building project, the contractor pays its workers weekly, its suppliers within 30 days and its subcontractors when it is paid, while the owner pays monthly in arrears and withholds part of every payment until the end. The gap between money going out and money coming in has to be financed, and the cost of that financing comes out of the fee. This lesson covers the progress billing cycle from the contractor's side, how holdback or retainage and payment timing shape the project's cash flow curve, how to forecast and finance the gap, and the prompt payment laws that now set the timetable on many projects. The legal rules on progress payments, holdback, liens and adjudication are explained fully in CON-220 Lessons 5 to 7; the accounting of billings and revenue in CON-320.

The schedule of values and the pay application

Progress billing starts with the schedule of values: the breakdown of the contract price into line items, agreed with the owner's payment certifier at the start of the job. Each month the contractor submits a progress claim (or pay application) showing, for each line, the value of work completed to date, materials stored on site where the contract allows, and the totals. The owner withholds holdback or retainage and deducts previous payments to find the amount due.

In the United States, pay applications are often prepared on the AIA G702 and G703 forms or an owner's equivalent and certified by the architect, and the owner withholds retainage set by the contract and, on public work, limited by statute. Sales tax treatment depends on the state; on many projects tax is part of the contractor's material cost rather than added to the bill (CON-300 Lesson 9).

# Progress claim for Riverbend Commons, month 8 (amounts $, before sales tax)
sov = [  # line, scheduled value, percent complete to date, materials stored on site
    ("General conditions",          1_995_000, 0.50,      0),
    ("Site work and foundations",   1_484_000, 1.00,      0),
    ("Structure",                   3_302_000, 0.88,      0),
    ("Envelope",                    2_863_000, 0.50, 62_000),
    ("Mechanical",                  2_311_000, 0.38, 48_000),
    ("Electrical",                  1_148_000, 0.35,      0),
    ("Interiors and finishes",      3_010_000, 0.06,      0),
    ("Site works and close-out",      737_000, 0.00,      0),
]
holdback_rate = 0.10
done = sum(v * p for _, v, p, _ in sov)
stored = sum(m for *_, m in sov)
gross = done + stored
holdback = gross * holdback_rate
previous = 6_820_000          # net amount certified in months 1 to 7
due = gross - holdback - previous
print(f"Contract value {sum(v for _, v, _, _ in sov):,}")
print(f"Work completed {done:,.0f} + stored {stored:,} = {gross:,.0f}")
print(f"Less holdback {holdback:,.0f}, less previous {previous:,} -> due this month {due:,.0f}")
Output
Contract value 16,850,000
Work completed 8,279,340 + stored 110,000 = 8,389,340
Less holdback 838,934, less previous 6,820,000 -> due this month 730,406

The contract value sums to $16,850,000. Work completed and stored to date is about $8.39 million, of which about $839,000 is held back. After deducting earlier payments, about $730,000 is due for month 8. Note that billing is based on the schedule of values at contract prices, so it includes the fee; it is a different curve from the cost-based planned value of Lesson 3.

Checking the claim before it goes out

The pay application is a commercial document, and errors in it cost money in both directions. Overclaiming invites rejection and harms trust with the certifier; underclaiming finances the owner's project with the contractor's cash. Before submitting, the project manager should check the claimed percentages against measured progress (Lesson 4), confirm that stored materials meet the contract's conditions (insurance, protection, title, invoices), include approved change orders as separate lines, and make sure subcontractor billings for the same period are consistent with what is being claimed from the owner.

Checks on a progress claim before submission.
CheckWhy
Percentages match measured progressAvoids rejection and keeps billing defensible
Stored materials meet contract conditionsOwners pay for stored materials only under defined terms
Approved change orders added as linesEnsures agreed extra work is billed
Subcontractor claims for the period received and verifiedThe contractor's claim includes their work
Statutory declarations or lien waivers attached as requiredMany owners will not pay without them
Correct tax and holdback or retainage calculationErrors delay payment

Billing position: over and under billing

Comparing what has been billed with the value earned shows whether the contractor is overbilled (billed ahead of work done, which helps cash) or underbilled (billed behind, which hurts it). On a lump sum job, the earned contract value is percent complete multiplied by contract value; comparing it with billings to date gives the billing position. Persistent underbilling usually means claims are not being submitted promptly or changes are not being billed; persistent overbilling may mean front-loading, which owners resist and which leaves too little contract value to finish the work. CON-320 explains how the billing position appears in the contractor's financial statements.

The project cash flow curve

Project cash flow is the difference over time between cash paid out (wages, suppliers, subcontractors, equipment, overheads) and cash received from the owner. Three effects make the contractor's cash position negative for much of the job: payment lag, because the owner pays some weeks after the month in which the work is done; holdback or retainage, which is withheld until near the end; and the timing mismatch between paying wages weekly and receiving payment monthly. Subcontract payment terms soften the effect, because subcontractors are usually paid only when the contractor is paid, and they bear their own holdback.

Chart for Riverbend Commons with cumulative cash out as a stepped line rising each month and cumulative cash in as a lower stepped line lagging behind by about two months and short by the holdback; the shaded gap between them is labeled net cash requirement, peaking in the middle of the project, with holdback release shown as a final step near the end.
Cash out, cash in and the contractor's net cash requirement over the project.
# Monthly cash flow for Riverbend Commons (amounts $1000; illustrative)
cost = [592, 593, 1_224, 751, 1_082, 1_630, 1_630, 1_358, 1_358, 1_358, 810, 810, 810, 1_047, 715, 356]
fee = 0.045
holdback = 0.10
lag = 2                     # months from end of work month to receipt of payment
sub_share = 0.70            # share of cost paid to subcontractors, paid when the owner pays (pay-when-paid terms)
months = len(cost) + 4
out = [0.0] * months; inn = [0.0] * months
for m, c in enumerate(cost):
    out[m] += c * (1 - sub_share)                         # own costs paid in the month
    out[m + lag] += c * sub_share * (1 - holdback)        # subs paid when we are paid, less their holdback
    inn[m + lag] += c * (1 + fee) * (1 - holdback)        # owner pays work less holdback
release = len(cost) + 2                                   # holdback released after completion
inn[release] += sum(cost) * (1 + fee) * holdback
out[release] += sum(cost) * sub_share * holdback
cum = 0; worst = 0
for m in range(months):
    cum += inn[m] - out[m]
    worst = min(worst, cum)
    print(f"Month {m + 1:>2}: out {out[m]:7,.0f}  in {inn[m]:7,.0f}  cumulative {cum:8,.0f}")
print(f"Peak cash requirement {-worst:,.0f}; final cash position {cum:,.0f}")
Output
Month  1: out     178  in       0  cumulative     -178
Month  2: out     178  in       0  cumulative     -356
Month  3: out     740  in     557  cumulative     -539
Month  4: out     599  in     558  cumulative     -580
Month  5: out   1,096  in   1,151  cumulative     -525
Month  6: out     962  in     706  cumulative     -780
Month  7: out   1,171  in   1,018  cumulative     -933
Month  8: out   1,434  in   1,533  cumulative     -835
Month  9: out   1,434  in   1,533  cumulative     -736
Month 10: out   1,263  in   1,277  cumulative     -722
Month 11: out   1,099  in   1,277  cumulative     -543
Month 12: out   1,099  in   1,277  cumulative     -364
Month 13: out     753  in     762  cumulative     -356
Month 14: out     824  in     762  cumulative     -419
Month 15: out     725  in     762  cumulative     -382
Month 16: out     766  in     985  cumulative     -163
Month 17: out     450  in     672  cumulative       59
Month 18: out     224  in     335  cumulative      169
Month 19: out   1,129  in   1,685  cumulative      726
Month 20: out       0  in       0  cumulative      726
Peak cash requirement 933; final cash position 726

Under these assumptions the contractor needs to finance about $930,000 at the worst point, in month 7, and stays cash-negative until month 17, even though the project is profitable; the final cash position equals the fee only after holdback is released. The peak would be far higher without pay-when-paid subcontract terms, and lower if the owner paid faster or released holdback earlier. These are exactly the levers that prompt payment laws and annual holdback release are designed to move.

Financing cost

The net cash requirement is usually funded from the contractor's working capital or a bank line of credit. Either way it has a cost: interest on borrowed money, or the return the contractor could have earned on its own capital. The financing cost is the average negative cash balance multiplied by the interest rate and the time. On a thin margin it is significant.

\[\text{Financing cost} \approx \sum_{m} \max(0,\,-\text{cumulative cash}_m) \times \frac{i}{12}\]

Worked problem

Financing the cash gap

Over the 16 months in which Riverbend Commons is cash-negative, the average negative balance is about $590,000. Northline's line of credit costs 7.5 % a year. What is the financing cost, and how does it compare with the fee?

Show solution
  1. Monthly rate: 7.5 % ÷ 12 = 0.625 %.
  2. Cost: 590,000 × 0.00625 × 16 = $59,000.
  3. Fee bid: about $726,000; financing cost is about 8 % of it.

Answer: About $59,000, or roughly 8 % of the fee. Billing late by one month or letting holdback release slip would add tens of thousands more.

Prompt payment and holdback law

For decades, slow payment through the construction chain was a chronic problem: owners paid late, contractors waited, and subcontractors at the bottom of the chain waited longest. Prompt payment laws now set deadlines for payment at each tier on many projects, and some provide fast adjudication when payments are disputed. For cost control and cash planning, the main effect is a more predictable payment lag.

In the United States, the federal Prompt Payment Act requires agencies to pay construction progress payments within 14 days of receiving a proper payment request (final payment within 30 days), with interest penalties for late payment, and requires prime contractors to pay subcontractors within seven days of receiving payment for their work. On federal contracts, the FAR allows retainage only when progress is not satisfactory, generally up to 10 %, and it must be released when the work is substantially complete. Most states have their own prompt payment statutes for public work and many for private work, and many states cap retainage on public projects, often at 5 % or allow reduction once the job is half complete. The rules differ by state and contract, so check the statute that applies to each project (CON-220 Lessons 5 and 6).

Levers that change the contractor's cash position.
LeverEffect on contractor cash
Faster owner payment (shorter lag)Reduces peak cash requirement and financing cost
Retainage reduction or early releaseReturns withheld money during the job instead of at the end
Pay-when-paid subcontract termsShift part of the lag to subcontractors (limited by law in some places)
Prompt, accurate monthly claimsAvoids self-inflicted lag
Billing approved changes immediatelyConverts change work into cash sooner

Cash flow forecasting in the cost report

A cash flow forecast is a natural companion to the cost forecast. Using the cost-loaded schedule (Lesson 3), the forecast cost to complete (Lesson 6), the billing schedule of values and the payment terms, the contractor can project net cash month by month for the rest of the job. Many contractors review this forecast at the company level each month, because the sum of all projects' cash needs determines how much credit the company requires. A project whose cash position is much worse than forecast is often signaling something else: claims not submitted, changes not billed, a dispute with the certifier, or costs running ahead of progress.

Common mistakes

  • MistakeComparing billings with the cost-based planned value.

    InsteadBilling follows the schedule of values at contract prices; compare billings with earned contract value.

  • MistakeSubmitting progress claims late or incomplete.

    InsteadSubmit accurate, complete claims on time; delay finances the owner with the contractor's cash.

  • MistakeIgnoring holdback or retainage in cash planning.

    InsteadForecast holdback withheld and its release date; it is often the largest single receivable at the end.

  • MistakeTreating financing cost as overhead unrelated to the project.

    InsteadEstimate the project's financing cost from its cash curve; on thin margins it matters.

  • MistakeAssuming the same payment rules on every project.

    InsteadCheck the prompt payment and holdback or retainage statute and contract for each project.

  • MistakeForgetting to bill approved changes promptly.

    InsteadAdd approved changes to the schedule of values and bill them in the next claim.

Summary and key terms

  • Progress billing applies percent complete to the schedule of values, adds stored materials, and deducts holdback or retainage and previous payments.
  • Claims should be checked against measured progress, contract conditions for stored materials and subcontractor billings.
  • Billing position compares billings with earned contract value to show over or under billing.
  • Payment lag, holdback or retainage and timing mismatches make contractor cash negative for much of a job.
  • Financing the cash gap has a real cost that can consume a significant share of the fee.
  • Prompt payment laws, such as Ontario's and the federal Canadian Act or the US Prompt Payment Act, set payment deadlines at each tier.
  • Cash flow should be forecast alongside cost, and unexpected cash shortfalls investigated.
Schedule of values
The breakdown of the contract price into lines used for progress billing.
Progress claim
The monthly request for payment for work done; also called a pay application.
Holdback
The share of each payment withheld under Canadian lien and construction legislation.
Retainage
The share of each payment withheld under a US contract or statute.
Stored materials
Materials delivered to site or another approved location and billed before installation.
Billing position
Billings to date compared with earned contract value.
Payment lag
The time between doing work and receiving payment for it.
Net cash requirement
Cumulative cash paid out minus cash received, when negative.
Prompt payment legislation
Laws that set deadlines for payment at each tier of the construction chain.
Pay-when-paid
A subcontract term making payment to the subcontractor due when the contractor is paid.

Practice problems

Work each problem on paper first, then reveal the answer to check.

  1. Work completed is $2,400,000, stored materials $100,000, holdback 10 %, previous payments $1,800,000. What is due?

    Show answer

    2,500,000 − 250,000 − 1,800,000 = $450,000.

  2. Why does billing differ from cost-based planned value?

    Show answer

    Billing uses contract prices including fee and follows the schedule of values.

  3. Name three checks on a progress claim.

    Show answer

    Percentages match progress, stored material conditions met, changes included, sub claims verified, declarations attached, tax and holdback correct.

  4. What does persistent underbilling suggest?

    Show answer

    Claims or changes are not being billed promptly.

  5. Name three reasons contractor cash is negative for much of a job.

    Show answer

    Payment lag, holdback or retainage, weekly wages against monthly receipts.

  6. An average negative balance of $500,000 lasts 12 months at 8 % a year. Estimate the financing cost.

    Show answer

    500,000 × 0.08 = $40,000.

  7. How do pay-when-paid terms affect the contractor's cash?

    Show answer

    They shift part of the payment lag to subcontractors.

  8. Within how many days must a US federal agency make a construction progress payment?

    Show answer

    14 days after receiving a proper payment request.

  9. When may retainage be withheld on US federal construction contracts?

    Show answer

    Generally only when progress is unsatisfactory, up to 10 %.

  10. Why review cash flow at company level?

    Show answer

    The sum of project cash needs determines the credit the company requires.

Lesson quiz · 5 questions

Score 60% or more to complete this lesson.

Take the quiz