Progress Invoicing in QuickBooks: Bill a Job in Stages

Convert a PDF bank statement to a QuickBooks file

Drop in a PDF statement and get a QBO (Web Connect) or IIF file you can import into QuickBooks Online or Desktop.

Progress invoicing in QuickBooks means billing one estimate across several invoices as the job moves, instead of sending one bill at the end. You turn it on in Account and settings, build an estimate for the full contract, then convert a slice of that estimate to an invoice each time you hit a milestone. QuickBooks tracks what has been billed and what is left on the estimate, so the last invoice closes the job out to the penny. It is available in QuickBooks Online Plus and Advanced, and in QuickBooks Desktop once you switch on two preferences.

If you run jobs that take longer than a month, waiting until closeout to invoice is what puts you on the line of credit. Contractors, agencies, engineers, and anyone billing against a signed scope run into the same problem: the work is 60 percent done, the money is 0 percent collected, and there is no clean way to bill part of a contract without hand-typing a new invoice and hoping the math still ties out at the end. Progress invoicing is the built-in answer, and most people who have it never turn it on.

What is progress invoicing in QuickBooks?

Progress invoicing is a QuickBooks feature that lets you create multiple partial invoices from a single estimate. The estimate holds the full contract value, and each invoice bills a portion of it, either a percentage of every line, a custom dollar amount per line, or the remaining balance. QuickBooks links every invoice back to the estimate and keeps a running total of what has been billed, so nothing gets double billed and nothing gets missed.

The distinction that matters: the estimate is not an accounting transaction. It does not hit your books, does not create revenue, and does not show in accounts receivable. Only the invoices do. The estimate is a container that remembers the agreed scope and prices, and progress invoicing is the tool that draws from it.

How to turn on progress invoicing in QuickBooks Online

Go to Settings (the gear icon) and select Account and settings, then the Sales tab. Find the Progress Invoicing section, select the pencil to edit, and switch on "Create multiple partial invoices from a single estimate." Select Save, then Done. The feature is part of QuickBooks Online Plus and Advanced; Simple Start and Essentials do not include it.

QuickBooks will offer to update your invoice template to show the estimate summary. Accept it if you want the customer to see the original amount, the amount billed to date, and the balance remaining on each invoice, which cuts down on "what am I paying for again" emails. You can also switch that on later in the invoice customization settings.

How to create a progress invoice in QuickBooks Online

Start from the estimate, never from a blank invoice. Open the estimate, then choose Create invoice (on newer layouts it sits under More actions, Convert to invoice). QuickBooks asks how much of the estimate you want to bill and gives you three choices:

OptionWhat it doesUse it when
Total of all estimate linesBills 100 percent of everything remainingThe final invoice, or a job you decided to bill in full
Percentage of each lineApplies the same percent across every line itemMilestone billing: 30 percent at signing, 40 at rough-in, 30 at completion
Custom amount for each lineYou type a dollar figure per lineBilling actual work in place, where some lines are done and others have not started

Pick one, review the amounts QuickBooks fills in, adjust anything that needs it, and save. Repeat as the job progresses. When you open the estimate later it shows every linked invoice and the balance still to be billed, and the status moves to Closed once the whole estimate has been invoiced.

How do I set up progress invoicing in QuickBooks Desktop?

Sign in as the admin and switch to single-user mode from the File menu. Go to Edit, then Preferences, select Jobs & Estimates on the left, and open the Company Preferences tab. Answer Yes to "Do You Create Estimates?" and Yes to "Do You Do Progress Invoicing?" then select OK. Switch back to multi-user mode if you use it.

To bill, create the estimate against the customer or job, then choose Create Invoices, pick that customer:job, and select the estimate when QuickBooks offers it. You get the same three choices as Online: the remaining amounts, a percentage of the entire estimate, or selected items with your own quantities and amounts. Desktop also lets you show only the lines you are billing on this invoice, which keeps a long scope from printing on every bill.

What is the purpose of progress invoicing in QuickBooks?

Cash flow and accuracy, in that order. Billing in stages moves money in while you are still spending it on labor and materials, which is the difference between funding a job out of retained earnings and funding it out of a credit line at 11 percent. The accuracy half matters just as much: because every invoice draws from one estimate, the sum of your progress invoices can never quietly exceed the contract, and the balance remaining is always visible instead of living in someone's spreadsheet.

There is a reporting benefit too. Run the Estimates & Progress Invoicing Summary by Customer report to see, on one screen, each active estimate, how much has been invoiced, and the percentage complete by dollars. That is your billing backlog, and it is the fastest way to spot a job where the work went out but the invoice never did.

How does progress invoicing work with sales tax and deposits?

Sales tax calculates on each invoice as you create it, on the taxable lines you are billing that time. Watch one detail: the remaining column on the estimate tracks the line amounts, not sales tax, discounts, or shipping. If you have a discount or a freight line on the estimate, confirm how it landed on each invoice rather than assuming QuickBooks split it the way you intended.

Deposits are a separate mechanism. A retainer or deposit collected before work starts is a liability, not revenue, and it should be recorded as such and then applied against an invoice later. If you took money up front on a job you are now progress billing, see how to record a customer prepayment or retainer in QuickBooks so the deposit reduces the right invoice instead of being counted twice. The same care applies when a customer pays only part of a progress invoice, covered in handling a partial payment on an invoice.

Can I edit an estimate after I have already sent progress invoices?

Yes, and you should edit the estimate rather than the invoice when the scope itself changes. Add the change order line to the original estimate, and the new amount becomes available to bill on the next progress invoice. QuickBooks allows this as long as you have not already invoiced the full estimate total; if the estimate is closed, reopen it or add a second estimate for the change order.

Editing an already-sent invoice to reflect a scope change is what breaks the tie-out. The invoice is the record the customer received and, if it has been paid or reconciled, changing it moves numbers in a closed period. Change the estimate, bill the difference going forward.

How do I hold back retainage on a progress invoice?

QuickBooks has no built-in retainage feature, so you add a negative line to each progress invoice that posts to a Retainage Receivable account. The invoice shows the full amount earned this period, then subtracts the 5 or 10 percent holdback, and the customer pays the net. At closeout you invoice the accumulated retainage in one line to release it. The full setup, including the payable side when you hold retainage from your own subs, is in recording retainage in QuickBooks.

Do not simply invoice the net and pretend the holdback does not exist. That understates revenue and, more practically, means nobody is tracking money you are legally owed.

Why don't my progress invoices add up to the estimate?

Almost always one of four things. Someone created an invoice from scratch instead of from the estimate, so it never linked. Someone billed a custom amount that overshot a line. Sales tax, shipping, or a discount is being compared against a remaining column that excludes them. Or the estimate was edited after invoicing and the totals moved.

Open the estimate and look at the linked transactions list first. Every invoice for that job should appear there. Any invoice that does not appear is the culprit: delete it and recreate it from the estimate, or if it has been paid, leave it and adjust the final invoice so the job still closes at the contract amount.

Getting the payments side to match

Progress billing only works if the money coming in gets matched back to the right invoice. On a job billed in four stages you will see four deposits arrive over several months, often net of a processor fee, sometimes combined with a deposit from a different customer, and occasionally as a two-party check that a lender endorses in pieces. If those deposits are keyed in by hand, the AR aging drifts within a quarter.

The clean approach is to work from the bank statement itself. Convert the PDF statement to a QuickBooks file, import it, and match each deposit to the open invoice it pays. Our PDF to QBO converter turns a statement into a QBO (Web Connect) file for QuickBooks Online or Desktop, and for a season of statements at once there is batch conversion of PDF bank statements. Once imported, reviewing imported bank transactions is where each deposit gets matched to its progress invoice rather than posted to income twice.

Trade contractors have an extra layer here. A general contractor usually will not release a draw until the paperwork is current, which means the pay application, the lien waivers for the period, and a valid certificate of insurance naming them as additional insured. Chasing down an expired certificate of insurance from a subcontractor is the single most common reason a progress payment sits unreleased for two weeks, so it is worth tracking expiration dates before you submit the billing, not after. Roofing and restoration crews hit this constantly, which is why the roofing company statement workflow treats insurance draws and supply-house charges as one reconciliation problem.

Is progress invoicing worth setting up for a small shop?

If your average job is under two weeks or you bill on delivery, no. Turn it on when jobs run past a month, when contracts are large enough that carrying the cost hurts, or when a customer asks to be billed against a schedule of values. For a two-person design studio doing 30-60-10 splits on retainer work, the setup takes ten minutes and removes the monthly guessing about what has already been billed.

The one thing to get right before you start is the estimate. Progress invoicing inherits everything from it: line items, prices, taxability, and the customer or job it is attached to. A sloppy estimate produces sloppy invoices for the life of the project, and cleaning that up later means voiding paid invoices. Build the estimate the way the contract reads, then bill against it.