Invoicing

Progress Billing for Contractors: The Complete Guide

Progress billing — collecting payment at defined milestones throughout a project rather than all at once — is the standard billing model for medium and large contracting jobs. Here's how to set it up, present it to customers, and manage it efficiently.

What Is Progress Billing?

Progress billing is a billing method where the total contract value is divided into multiple payment milestones, each triggered when a specific phase of work is completed. Rather than waiting until the end of a 3-month project to send a single invoice, you collect a deposit, one or more midpoint payments, and a final payment on completion.

Progress billing protects both parties: the contractor gets paid as work is completed (not 90 days after), and the customer only pays for work that's been done.

For any job that spans more than a week or involves significant upfront material costs, progress billing isn't just recommended — it's essential to keeping your business cash-flow positive. A contractor running three $50,000 jobs simultaneously, all billing at completion, could carry $150,000 in out-of-pocket costs for months. Progress billing eliminates that risk.

Progress Billing vs. Lump Sum: A Cash Flow Comparison

On a $60,000 project with a 10-week timeline, here's what cash flow looks like under each model:

Period
Lump Sum at Completion
33/33/33 Progress Billing
Week 1–2
Spent ~$18,000 on materials
+$20,000 deposit received
Week 3–5
Spent ~$12,000 more on labor
Cash positive — labor covered
Week 6–7
Spent ~$8,000 more on labor/subs
+$20,000 midpoint received
Week 8–10
Spent ~$5,000 finishing
Cash very positive
Completion
+$60,000 (if customer pays)
+$20,000 final payment
Total carried
~$43,000 out of pocket for 10 weeks
Never negative

With lump-sum billing, you're essentially financing the customer's project for 10 weeks. If they pay late — or not at all — you've absorbed all those costs with no recourse until the final invoice. Progress billing eliminates this exposure entirely.

Common Progress Billing Structures by Trade

Roofing

50% — Before work starts (covers materials: shingles, underlayment, flashing)

40% — Upon tear-off completion / when new field is installed

10% — On final inspection / gutters and cleanup complete

General Contracting / Remodeling

33% — Signed contract / mobilization

33% — Rough-in complete / framing / drywall hung

33% — Final completion and punch list

Electrical

50% — Deposit (covers panel, wire, materials)

40% — Rough-in inspection passed

10% — Final inspection passed / devices installed

HVAC (Large System Installation)

50% — Deposit (covers equipment cost)

50% — On completion and system startup

Large Multi-Phase Projects (new construction, additions)

25% — Foundation / slab complete

25% — Framing / roof sheathed

25% — Rough-in complete (electrical, plumbing, HVAC)

25% — Final completion

How to Define Milestone Triggers

Each payment milestone must have a clear, objective trigger — not "when I think it's done" but a verifiable, agreed-upon completion point. Good milestone triggers:

  • • Permit issuance date
  • • Inspection passing (rough-in, framing, etc.)
  • • Specific work completion (tear-off complete, foundation poured, etc.)
  • • Equipment delivery and installation (HVAC unit, windows, appliances)
  • • Customer walkthrough and sign-off on phase

Avoid triggers that are ambiguous or customer-subjective ("when the customer is happy with the phase"). Tie payments to objective, verifiable events. The more specific the trigger, the less room for dispute when the invoice is sent.

How to Present Progress Billing to Customers

Most customers — especially homeowners — are unfamiliar with contractor billing practices. How you frame it matters:

  • Frame it as protection for both parties. "We structure payments this way so you only pay for completed work, and we can keep the project moving without interruption." This is true and positions it as customer-friendly.
  • Include it in the written estimate. Don't bring up payment structure verbally after the customer has already committed. Put the schedule in the estimate so they see it as standard from the start.
  • Specify dollar amounts, not just percentages. "40% due at rough-in" is less clear than "$8,400 due when rough-in inspection passes." Customers respond better to concrete numbers.
  • Explain what each payment covers. "The initial 50% covers all materials and equipment we need to order before starting." This makes the deposit feel reasonable rather than arbitrary.

How to Handle Disputes on Progress Invoices

The most common dispute: a customer wants to hold a milestone payment because they have punch list items they want completed first. Best practices:

  • Separate punch list items from milestone completion. If the framing is complete but there are three small items to address, invoice for the framing milestone and address the punch list simultaneously — don't let minor items hold up a payment for a completed major phase.
  • Document every milestone with photos. When you complete a phase, photograph the work. This creates objective evidence of completion that you can reference in any dispute.
  • Get written sign-off when possible. A text or email from the customer acknowledging a phase is complete is valuable if payment is later disputed.
  • Include a work stoppage clause. State in your contract that work may pause if a milestone payment is not received within 5 days of invoice. This gives you leverage without having to threaten it verbally.

Invoicing Efficiently at Each Milestone

The most common mistake with progress billing: completing a milestone and then waiting days or weeks to send the invoice. Send it the same day. Delays in invoicing create delays in payment, which undermines the entire cash-flow benefit of progress billing.

Best practice workflow:

  1. Complete the milestone
  2. Take photos documenting completion
  3. Send the milestone invoice immediately (from your phone if possible)
  4. Follow up if not paid within 3 days
  5. Do not start the next phase until the milestone payment is received (per your contract)

Contractors who use mobile invoicing apps can send phase invoices within minutes of completing a milestone — often before they've even left the job site. This speed of invoicing is directly correlated with speed of payment.

Progress Billing on Commercial vs. Residential Jobs

Commercial progress billing often follows AIA (American Institute of Architects) billing formats — specifically the G702 Application for Payment form, which breaks down work completed by line item as a percentage of the total contract. General contractors and project owners on commercial jobs typically require this format.

For residential work, a simpler format works fine: a clear invoice showing the milestone, the amount due, and the total contract value with running balance. Customers don't need AIA-format billing — they need clarity.

If you're moving from residential to commercial work, be prepared to adopt AIA billing formats and understand that commercial payment cycles are typically longer (30–60 days is common, sometimes 90). Build this into your cash flow planning.

Retainage: When Customers Hold Back a Percentage

On commercial and government projects, customers often withhold a percentage of each invoice — typically 5–10% — until the project is substantially complete. This is called retainage or retention.

Retainage protects the project owner but creates cash flow challenges for contractors, particularly when subcontractors are involved. Best practices:

  • • Understand retainage terms before signing a commercial contract
  • • Flow retainage down to subcontractors on the same terms you receive it
  • • Negotiate retainage release tied to specific milestones, not just final completion
  • • Track retainage receivable separately in your accounting so you know exactly what's owed

Progress Billing Built Into CogniFlow Books

Create custom payment schedules on every estimate — 50/40/10, custom splits, custom phase names. Each phase generates its own invoice automatically when it's time to collect. Accept online payments directly from the invoice. No manual math, no re-entering data, no chasing customers for checks.

Try It Free