Construction Progress Billing (Explained)
Progress billing is billing over time as work is completed — usually driven by a Schedule of Values (SOV) so each line item rolls forward month-to-month. Retainage is the withheld percentage that must stay consistent across periods. Most billing problems are really rollforward problems involving previous, this period, and to-date totals.
If you’ve ever heard “your totals don’t roll” or “this doesn’t match prior billing,” you’ve already seen how progress billing can go sideways. This guide explains how it works, what reviewers expect, and where the math usually breaks.
This is the plain-English hub for how progress billing works. For QBO-specific workflow questions, see Progress Billing in QuickBooks Online, Retainage in QuickBooks Online, and Does QuickBooks Do AIA Billing (G702/G703)?.
What progress billing actually is
In construction, progress billing usually means you are not sending a one-time invoice for the whole job. You are billing for pieces of the job over time using a structure that lets reviewers see what was billed before, what is being billed now, and what the totals are to date.
- Contract value per line item
- Work completed this period
- Work completed to date
- Retainage withheld
- Balance to finish
When people say “AIA billing,” they are often talking about a common presentation format for progress billing using a summary page and a continuation sheet so the rollforward is easier to review.
QBO can handle accounting and invoicing, but the progress billing rollforward is where many teams add a separate pay app workflow.
Why progress billing is different from a normal invoice
A regular invoice usually answers one question: what are you charging today?
Progress billing answers a harder question: how does today’s billing fit into the contract and everything billed before it?
That is why construction billing relies on recurring structures like the Schedule of Values, not just an invoice total.
| Normal invoice | Progress billing |
|---|---|
| One-time charge request | Recurring billing across the life of the job |
| Usually focused on the current amount | Focused on previous, current, and to-date totals |
| May not need line-by-line contract tracking | Usually tied to line-item contract values |
| Less dependent on prior billing history | Breaks fast if prior billing does not match current totals |
| Good for standard AR | Good for contract-based construction review and approval |
The rollforward math: why month two is where it breaks
Progress billing is not difficult because of this month’s numbers. It becomes difficult because this month must agree with last month. The usual rollforward pattern is:
- Previous work from the last approved pay app
- + This period new progress
- + Stored materials if allowed and backed up
- = To date completed and stored to date
- − Retainage per contract rules
If “previous” does not equal last month’s approved “to date,” reviewers start questioning the whole package.
| Scheduled value | $50,000 |
| Previous | $20,000 |
| This period | $10,000 |
| Stored materials | $5,000 |
| To date | $35,000 |
| Balance to finish | $15,000 |
How a typical progress billing month works
The cleanest workflows usually follow the same pattern every month.
1) Update job progress
Update each SOV line with work completed this period, stored materials if applicable, and any approved contract changes.
2) Check retainage + totals
Make sure retainage treatment is consistent and that previous, current, and to-date amounts all roll properly.
3) Build the review package
Generate the pay app package with the continuation sheet, summary, and backup that the reviewer expects to see.
4) Mirror approved totals
Once approved, mirror the approved amount into accounting so AR reflects what was actually accepted.
What reviewers expect and what gets you paid faster
Reviewers like progress billing when it is consistent and auditable. Faster approvals usually happen when your package includes:
- A stable Schedule of Values that matches the current contract sum
- Clear previous / this period / to date / balance totals
- Retainage applied consistently every month
- Stored material backup when you bill it
- Change orders reflected the same way in the SOV and contract total
If you want a fuller view of what belongs in a reviewer-ready package, including retainage, stored materials, change orders, and waivers, see Construction Payment Applications: Contractor Guide.
These are the mistakes that trigger rejections most often.
Why progress billing breaks and how to stop it
Most billing problems are consistency problems across time.
Mistake #1: Treating it like a normal invoice
Standard invoicing answers “what am I billing today?” Progress billing answers “how does today roll forward from prior approved billing?”
Mistake #2: Retainage handled differently month to month
When retainage treatment changes without a clear contract reason, the summary and line-item math stop reconciling. See what retainage is and how to calculate retainage.
Mistake #3: Change orders handled somewhere else
If the contract sum changes but your billing structure does not, totals drift even when each month looks reasonable on its own.
Mistake #4: Stored materials billed without a consistent workflow
Stored materials can be valid, but they need consistent line treatment and proper backup. Related: how to bill stored materials.
A simpler workflow that keeps everything aligned
For many teams, the lowest-friction approach is:
- Manage rollforward billing in a pay app workflow using SOV, retainage, and prior periods.
- Generate the review package in a format the GC, owner, architect, or lender can actually review.
- Mirror the approved total into accounting so AR matches what was approved instead of what was drafted.
That separation reduces revise-and-resubmit loops and helps keep accounting aligned. If you are doing this with QBO, see progress billing in QuickBooks Online and retainage in QuickBooks Online.
FAQ: Construction Progress Billing
Quick answers to the questions that come up right before billing day.
Progress billing is billing over time as work is completed. It typically uses a Schedule of Values (SOV) so each line item rolls forward across billing periods with previous, current, and to-date totals.
Retainage is a percentage withheld from each billing period. In many AIA-style workflows it’s applied at the line-item level so totals roll up cleanly and reconcile month-to-month.
Drift usually comes from inconsistent line-item tracking, retainage handled differently across tools, change orders not reflected consistently, and rollforward math errors that compound over time.
Progress billing is the concept of billing as work is completed. AIA-style billing is a common format used to present progress billing for review, often using G702/G703-style structures.
QuickBooks Online can support parts of progress billing and retainage for accounting, but it doesn’t generate a reviewer-ready AIA-style pay application package. Many teams use QBO for accounting and a separate pay app workflow for the submission package.
Make progress billing predictable again
Build AIA-style pay apps with clean rollforward and retainage, then keep accounting aligned without spreadsheet chaos.
Related guides
- Construction Payment Applications: Contractor Guide
- What Is a Schedule of Values (SOV)?
- How to Fill Out AIA-Style G702 & G703 Pay Applications
- Common G702 & G703 Errors (and How to Avoid Them)
- What Is Retainage in Construction?
- How to Calculate Retainage
- How to Bill Stored Materials on G702/G703
- Progress Billing in QuickBooks Online
- Retainage in QuickBooks Online
- Does QuickBooks Do AIA Billing (G702/G703)?
- Construction Billing Software Overview
- QuickBooks Online Integration for AIA Billing