How Do I Invoice a Construction Job?
Learn how to invoice a construction job, reconcile progress billing, prior payments, and retainage, then send a clear invoice with the correct balance due.
For a staged construction job, identify the billing event first, then reconcile the project ledger before creating the customer invoice. The bill should name the project, contract or PO, milestone or period, current work, approved changes, previous billing, payments received, retainage, due date, and payment instructions.
The common mistake is treating “previously billed” and “already paid” as the same number. They are not. Mixing them can hide an old balance or deduct the same payment twice.
Last verified: August 24, 2026 (United States).
Start with the billing stage
| Billing stage | Use it when |
|---|---|
| Deposit | The request is authorized by the agreement and the rules governing the job. Record the payment separately when it arrives. |
| Progress payment | A defined milestone or work period has reached its billing trigger. Bill the current eligible work, not the remaining contract balance. |
| Approved change order | The change was already approved and can be tied to its reference. The invoice does not create that approval. |
| Final invoice | Prior invoices, payments, credits, retainage, and remaining approved work have all been reconciled. |
The agreement decides whether a deposit or retainage applies. The invoice records those terms; it does not invent them.
Keep four project numbers separate
| Project record | What it means |
|---|---|
| Previous billing | Gross amounts already invoiced on earlier invoice numbers. |
| Payments received | Money that actually arrived and the invoice to which it was applied. |
| Current charges | Base-scope work and already-approved change-order work eligible for this invoice. |
| Retainage | Money withheld or released under the agreement, tracked separately from invoices and receipts. |
For each staged invoice, record the project address, contract or PO, invoice number, billing period or milestone, prior invoice references, payments and allocations, current base work, approved changes, current retainage, and retainage released now.
An unallocated receipt or unexplained retainage difference means the numbers are not ready for a customer invoice.
That short check is easier than explaining a customer balance that changes after the invoice is sent.
Calculate the current invoice, then cross-check the project
First calculate only the bill being issued:
Current amount due = current gross charges - current retainage withheld + retainage released now - payments or credits allocated to this invoice
Then check the project position through this invoice:
Retainage held to date = prior retainage held + current retainage withheld - retainage released now
Cumulative unpaid balance = previous gross billing + current gross charges - retainage held to date - payments received to date - cumulative credits
When earlier net invoices were paid, the cumulative unpaid balance should equal the current amount due. If it does not, identify the prior unpaid balance or posting error separately instead of burying it in current work.
Add tax only after confirming its treatment for the actual job.
Construction progress invoice example
These fictional figures are example inputs, not recommended terms.
| Entry | Amount |
|---|---|
| Previous gross billing | $18,400 |
| Prior retainage held | $1,840 |
| Prior net invoice, paid | $16,560 |
| Current milestone work | $8,400 |
| Approved change order CO-003 | $1,200 |
| Current gross charges | $9,600 |
| Current retainage withheld | $960 |
The current invoice is:
$9,600 - $960 = $8,640 due
Retainage held to date is $1,840 + $960 = $2,800. The cumulative check is:
$18,400 + $9,600 - $2,800 - $16,560 = $8,640 unpaid
Both calculations return $8,640 because the prior net invoice was paid. The 10% retainage in this example comes from a fictional contract; it is not a default or legal recommendation.
What the customer should see
On the current invoice, include the site, contract or PO, billing stage, and covered milestone or period. Show CO-003 beside its charge rather than folding it into an unexplained total.
Itemize current labor, materials, equipment, subcontractor work, permits or fees, and cleanup at the level the project record requires. Leave payroll rates, markup, and internal job-cost allocations off the customer document.
Show previous gross billing and its status, current retainage, any separately identified old balance, the current amount due, a specific due date, and usable payment instructions.
Do not send the invoice while a payment lacks an allocation, a change is unapproved, retainage differs across records, the milestone has not reached its trigger, or the final balance does not match the ledger.
After the numbers agree, the ShiftFlow Construction Invoice Generator can format the project details, billing stage, line items, previous billing, retainage, amount paid, terms, and PDF. Enter only payments or credits that belong against the invoice being generated; cumulative receipts should not be deducted from current charges a second time.
Keep the sent invoice with the contract or PO, milestone evidence, prior invoices, approved changes, and receipts. The customer should be able to see what is being billed now, distinguish it from earlier project money, and reproduce the current balance.
Frequently asked questions
Should I collect a deposit before invoicing a construction job?
That decision comes from the governing agreement and applicable rules, not from the invoice. Once a deposit is authorized, keep the amount requested and the payment actually received as separate records.
What should I do if a construction invoice is unpaid?
Verify the customer, delivery, due date, payment instructions, and ledger balance. Keep later progress work separate from the unpaid invoice rather than rolling both into one unexplained total.
Sources
- IRS Publication 583: Starting a Business and Keeping Records, Internal Revenue Service.
- ShiftFlow Construction Invoice Generator, product capabilities verified August 24, 2026.
- pricing
- how-to-invoice-construction-job
- how-to-invoice-a-construction-job
- construction-invoice
- construction-progress-invoice
- construction-progress-billing
- construction-billing-reconciliation