Blog · Territory, capacity and quota planning · Construction
Build a construction project cash schedule from progress billings, retainage and payment exports. Work through the receipts, outflows and funding gap, with spreadsheet formulas and reconciliation checks.
Cash flow for a construction project is cash received from the customer minus cash paid to deliver the job, organized by payment date. A project can produce a positive final cash result and still need funding while progress bills await approval or retainage remains unpaid. Build the schedule around those dates before deciding how much cash the job needs.
Collect the billing register, receivables aging, subcontractor commitments, accounts payable schedule and payroll calendar. Add the contract's billing milestones and retainage conditions. A job cost report tells you what the project has incurred; it does not establish when those costs leave the bank.
Keep one row for each expected receipt or payment. Use project ID, source document ID, event type, expected cash date, amount and status. Split a progress bill into its ordinary collection and retained amount. Split a subcontract invoice if its regular payment and retained balance have different dates.
Approval matters. For federal fixed-price construction, FAR 52.232-5 ties progress payments to approved work estimates and supporting information. Private contracts have their own terms. Read the applicable contract rather than assuming every invoice becomes collectible as soon as it is entered.
Use the general cash flow forecast for the company-wide schedule; this project view supplies the job's dated receipts and payments.
Consider an illustrative US contractor completing a warehouse fit-out. The contract bills total $1,000,000. This example assumes 10% retainage, ordinary collections in the month after billing, and collection of all retainage in June after acceptance. These are assumptions for this job, not industry-wide payment rules.
| Billing month | Gross progress bill (USD) | Retainage withheld (USD) | Ordinary receipt (USD) | Expected ordinary receipt month |
|---|---|---|---|---|
| January | 200,000 | 20,000 | 180,000 | February |
| February | 300,000 | 30,000 | 270,000 | March |
| March | 400,000 | 40,000 | 360,000 | April |
| April | 100,000 | 10,000 | 90,000 | May |
| Total | 1,000,000 | 100,000 | 900,000 |
Each ordinary receipt equals the gross bill minus retainage. The separate June receipt is $100,000, so ordinary collections plus retained collections equal the contract billings: $900,000 + $100,000 = $1,000,000.
Record the date a proper payment request reaches the customer and any outstanding approval. Federal construction rules distinguish progress, retained and final payments in FAR 52.232-27. The practical lesson for a schedule is to attach the expected receipt to the required approval event, then confirm the date with the person responsible.
On a sheet named Events, put project ID in column A, document ID in B, type in C, cash date in D and a positive amount in E. Use Receipt and Payment as the type values. Include either an actual payment or its remaining forecast amount; never keep both as separate cash events.
On the summary sheet, column A contains month-start dates, B receipts, C payments, D net cash, E opening cash and F closing cash. Put the project ID in H1. In B2, use:
=SUMIFS(Events!E:E,Events!A:A,$H$1,Events!C:C,"Receipt",Events!D:D,">="&A2,Events!D:D,"<"&EDATE(A2,1))
In C2, use:
=SUMIFS(Events!E:E,Events!A:A,$H$1,Events!C:C,"Payment",Events!D:D,">="&A2,Events!D:D,"<"&EDATE(A2,1))
Enter the cash calculations and carry the balance forward:
D2=B2-C2
F2=E2+D2
E3=F2
Copy the formulas down, with the opening balance supplied only for the first month. Here the contractor allocates $100,000 of existing cash to the job. Payments below include the job's labor, materials, subcontractors and allocated cash overhead; borrowing, financing costs and income taxes are excluded.
| Month | Receipts (USD) | Payments (USD) | Net cash (USD) | Opening cash (USD) | Closing cash before new funding (USD) |
|---|---|---|---|---|---|
| January | 0 | 200,000 | -200,000 | 100,000 | -100,000 |
| February | 180,000 | 250,000 | -70,000 | -100,000 | -170,000 |
| March | 270,000 | 220,000 | 50,000 | -170,000 | -120,000 |
| April | 360,000 | 100,000 | 260,000 | -120,000 | 140,000 |
| May | 90,000 | 30,000 | 60,000 | 140,000 | 200,000 |
| June | 100,000 | 0 | 100,000 | 200,000 | 300,000 |
| Total flows | 1,000,000 | 800,000 | 200,000 |
All amounts are whole dollars; no rounding is required. Negative balances represent unfunded needs, not permission to overdraw a bank account.
The lowest closing balance is negative $170,000. The month-end schedule therefore requires at least $170,000 beyond the opening allocation:
=MAX(0,-MIN(F2:F7))
Check daily or weekly payment order before choosing a facility amount. A payroll payment before a large receipt can make the actual gap deeper than the monthly closing balance shows. Financing costs and a management cash buffer must be added separately.
The closing identity is $100,000 + $1,000,000 - $800,000 = $300,000. Reconcile receipts to the billing and retainage registers and payments to the job's payment records. Explain every remaining unpaid balance rather than forcing it into the final month.
The project cash flow guide covers broader project comparisons. For an owner constructing an asset, construction in progress on the cash flow statement explains the separate accounting reconciliation.
Bring your progress billing, retainage and payment workbook to Covirage. Covirage maps the columns, and its tools compute receipts, outflows and cash balances and check their totals; the external AI model explains the results with every figure traced to its rows. Create a free Covirage account and bring a sample of your own data.
See project cost control for the related work on project budgets and actual costs.
Labor, materials and subcontractors may need payment before the customer pays a progress bill. Retainage delays another part of the contract price. A positive final project result therefore does not prove that cash will cover obligations during construction.
Yes, but place it on its expected release and collection date. Keep the amount separate from ordinary progress receipts and record the approval conditions. Do the same for amounts withheld from subcontractors, using their actual contractual payment conditions.
Update it when actual receipts, payment commitments or project milestones change. Use monthly periods for the overall project and a dated weekly view around tight cash periods. Keep the original assumptions so finance can explain differences between expected and actual cash.