Construction invoicing guide

Construction and trade billing has to handle things a standard invoice never has to: work spread across months, materials and labor that need separating, a percentage held back until the job's done, and scope that sometimes changes halfway through. Get milestones, retainage, and change orders right, and most of the rest of the invoice takes care of itself.

Work order first, invoice second

On a job of any real size, the work order and the invoice serve different moments and shouldn't be merged into one document. The work order documents what work was authorized — scope, site, who approved it, and any special conditions — usually created before or during the work. The invoice comes after, requesting payment for what the work order authorized, and should reference the work order number rather than re-litigating the scope from scratch. Keeping them separate also protects you: if a dispute comes up later about what was actually agreed, the work order is your record independent of the bill.

Milestone billing, done right

For any project longer than a couple of weeks, billing in milestones beats waiting for full completion — it keeps your cash flow moving and gives the client visibility into progress. The key is specificity: "Milestone 2: Framing complete, per attached photos" reads as verifiable progress; "Milestone 2: $8,000" reads as an arbitrary number the client has no way to confirm. Structure each milestone invoice with:

  • The milestone name and what specifically was completed to trigger it.
  • The amount for this milestone, and — ideally — the total contract value and cumulative amount billed to date, so the client can see the running total against the full scope.
  • Any retainage withheld from this milestone (see below).

Retainage, with a worked example

Retainage is a percentage of each payment withheld until the job is fully complete — a completion guarantee common in construction contracts, typically 5–10%. It's earned income, not a discount, so it should never disappear from the invoice; it should show as a separate withheld line, carried as a running total across the job:

Milestone 3 invoice — Electrical rough-in complete

Milestone amount: $12,000.00

Retainage withheld (10%): −$1,200.00

Payment due this invoice: $10,800.00


Cumulative retainage held to date (milestones 1–3): $3,150.00 — released upon final completion and sign-off.

Showing the cumulative figure, not just this invoice's withholding, matters — on a multi-month job the client's own accounts-payable team is tracking a running total too, and a mismatch is one of the more common sources of payment disputes near project completion.

Change orders: bill them, don't bury them

Scope almost always shifts on a real job — a client adds a fixture, a site condition forces a material substitution, a permit requirement adds work nobody quoted originally. Whenever that happens, document it as a change order (what changed, why, and the added or reduced cost) before doing the work if possible, then bill it as its own clearly labeled line item or its own invoice, referencing the change order number. The mistake to avoid is folding the extra cost silently into an existing line item — a client who sees a materials line suddenly $2,000 higher than the original quote, with no explanation, has every reason to question the whole invoice.

Separate materials from labor

Especially on parts-and-labor trade work (plumbing, electrical, HVAC, general repair), break out material costs from labor hours rather than presenting one blended price. It lets the client see what they're actually paying for, makes any markup on materials transparent rather than hidden, and gives you a cleaner record for your own job-costing. A SKU or part description for material lines, and hours × rate for labor lines, is enough detail for most jobs.

Liens and lien waivers, briefly

A mechanics lien is a legal claim a contractor or supplier can file against a property if they aren't paid for work performed on it — it's a significant tool for getting paid on construction work specifically, and the rules around filing deadlines, notice requirements, and waiver forms vary substantially by jurisdiction. A lien waiver (waiving that right, usually exchanged at the time of payment) is a separate legal document from your invoice, not a replacement for one. This is genuinely something to get right locally — if lien rights matter on a job of meaningful size, talk to a local construction attorney rather than relying on general guidance.

Common mistakes on trade invoices

  • Vague milestone descriptions — "Phase 2" tells the client nothing verifiable; state what was actually completed.
  • Silently folding change-order costs into existing line items — always bill scope changes as their own clearly labeled line.
  • Not separating materials from labor — clients want to see what they're paying for each, especially on larger jobs.
  • Showing retainage as a discount instead of a withheld-but-earned amount — it's owed later, not gone.
  • No job site or project reference — a general contractor juggling several jobs needs it to route the invoice correctly.
  • Inconsistent invoice numbering across a multi-invoice job — keep a clean, sequential trail so both sides can reconcile billed vs. paid at any point.

This isn't legal or lien advice

Lien rights, retainage limits, and required notice periods vary by state, province, and country, and can be time-sensitive. This guide explains invoicing mechanics, not your specific legal obligations on a given job — check local requirements or consult a construction attorney for anything beyond routine billing. See our Disclaimer for more.

Questions contractors ask

What's the difference between a work order and an invoice on a construction job?

A work order authorizes and documents work before or as it happens — scope, site, who approved it — and is often used internally or shared with the client as a record of what was agreed on-site. An invoice is the request for payment that follows, usually referencing the work order rather than repeating all its detail. Treat them as sequential documents, not interchangeable ones.

How do I invoice for a change order?

Bill it as its own clearly labeled line item or, for a larger scope change, its own invoice — referencing the change order number and a brief description of what changed from the original scope. Never fold change-order costs silently into an existing line item; it's the single fastest way to trigger a client dispute, since it looks like the original quote was simply wrong.

Do I need a lien waiver, and is that different from an invoice?

Yes, different documents. A lien waiver is a legal document where a contractor or supplier waives their right to file a mechanics lien against the property, typically exchanged when payment is made or received — it's not a billing document itself. Whether you need one, and what form it must take, depends heavily on your jurisdiction and the size of the job; check local requirements or ask the client's attorney if a specific waiver form is being requested.

Should retainage be shown as a discount or a separate line?

A separate line, not a discount — retainage isn't a price reduction, it's a portion of the earned amount that's being temporarily withheld and owed to you later. Showing it as "Retainage withheld (10%): –$820.00" alongside a running "cumulative retainage held to date" figure keeps the invoice accurate to what's actually happening: you earned the full amount, part of it just isn't payable yet.

How detailed do materials need to be on a trade invoice?

Detailed enough that the client can verify the charge without calling you — a SKU or part description, quantity, and unit cost, rather than a single "materials" lump sum. For larger jobs, separating materials from labor entirely (rather than blending them into one line) also makes it easier to compare against the original estimate line by line.

Bill your next job

Our construction & trade invoice generator has milestone billing, retainage tracking, and work orders built in, plus templates styled for job-site work.

Create a Construction Invoice