Guides › How to invoice

Progress billing for contractors

By Abrar · Updated · 6 min read

Progress billing means sending several invoices during one job, each for the work done so far. It keeps cash coming in on long jobs, and it keeps the client aware of how the job is going.

1Agree the stages first

Write the stages and the amount for each in the estimate. Typical stages are a deposit, a start, a mid-point and the finish. The client then knows what to expect.

2Show what was billed before

On each invoice, show the full job price, what was already billed and what is billed now. Then the balance left is always clear.

3Handle changes in writing

If the job changes, write down the change and its price and get it approved before you do the work. Show it as its own line on the next invoice.

4Some contracts hold back part of each payment

Some larger contracts keep back a share of each payment until the job is finished. If yours does, say so on the invoice.

Make one now

Fill it in and download the PDF. No sign-up.

Open the generator

Questions people ask

How big should the deposit be?

It varies by trade and by state. Many contractors ask for enough to cover the first materials. Check any local limit on deposits.

Do I send an invoice for each stage?

Yes. One per stage, each with its own number.

Take this job further in InvoiceWren

Put this guide to work. Send estimates, approve changes, and track invoices and payments in one app, from the first estimate to the final payment.

Get the app

Cookie settings

You choose what this site may store on your device. You can change this at any time with “Cookie settings” in the footer.

Your choice Remembers your answer so we do not ask again. It stays in this browser, it is not a cookie, and it is never sent to us or to Google.
Always on
Google Analytics counts visits, the pages people use and downloads. It sets the cookie _ga and a second one that starts with _ga_, kept for up to 13 months. What you type into an invoice is never sent.

Turning analytics off stops new counting and removes its cookies from this browser. It does not delete counts we already have. More in the privacy policy and the cookie policy.