What to put on a contractor invoice
A contractor invoice has to do more than list a price. Your client wants to see how the final number compares with the estimate they signed, and you want an invoice that holds up if a payment is ever disputed.
- Your license number, if your state or city licenses your trade. Many states require it on contracts and invoices.
- The job address, not just the client's mailing address — they're often different.
- Labor and materials on separate lines. Some states tax materials but not labor, and clients like to see where the money went.
- Subcontractor work as its own lines, so it's clear what you passed through.
- Every change order, with the number and date it was approved.
- Permit and disposal fees, which are easy to forget and hard to bill later.
- The deposit already paid, entered under "Amount already paid", so the balance due is correct.
Example contractor invoice
| Line item | Qty | Rate | Amount |
|---|---|---|---|
| Labor – kitchen remodel, 3 workers × 4 days (96 hrs) | 96 | $55.00 | $5,280.00 |
| Cabinets and countertop (supplier invoice attached) | 1 | $6,850.00 | $6,850.00 |
| Plumbing rough-in and fixture hookup (subcontractor) | 1 | $1,400.00 | $1,400.00 |
| Electrical – 4 new outlets and under-cabinet lighting (subcontractor) | 1 | $1,150.00 | $1,150.00 |
| Change order #1 – relocate sink 3 ft | 1 | $600.00 | $600.00 |
| Building permit fee | 1 | $325.00 | $325.00 |
| Debris haul-away and dumpster | 1 | $450.00 | $450.00 |
| Total | $16,055.00 |
If you took a deposit at the start of the job, enter it under Tax & discounts → Amount already paid. The invoice then shows the total, the deposit and the balance due.
Change orders: bill them the way they were agreed
Most payment disputes on remodels come from extra work that was agreed verbally. Write each change order down before you start it — even a text message with the price helps — and give it a number. On the invoice, put each one on its own line ("Change order #2 – upgrade to quartz countertop") rather than folding it into the labor total. Your client can match every line to something they approved.
Getting paid on bigger jobs
For jobs over a few thousand dollars, many contractors use a payment schedule: a deposit to buy materials, a payment at a milestone such as rough-in, and the balance at completion. Agree on the schedule in your estimate, then send a separate invoice at each stage. If you're billing a larger project in stages with retainage, see the construction invoice template.
Deposit limits for home-improvement work vary by state — some cap the deposit at a fixed amount or a percentage of the contract — so check your state's rules before you ask for one.
Taxes for self-employed contractors
If you work for yourself, nobody withholds tax from your payments. Self-employment tax alone is about 14% of your profit, before income tax. Your truck, tools, insurance, license fees and materials you aren't reimbursed for are business expenses that reduce your profit. Our 1099 tax calculator shows how much of each payment to set aside.
Frequently asked questions
Should I charge sales tax on a contractor invoice?
It depends on your state. Some states tax the materials you install, some tax the whole job, and some treat you as the end consumer of the materials, so you pay tax when you buy them and don't charge it to the client. Check your state's rules for contractors before you add a sales tax rate.
How do I show a deposit on the final invoice?
List the full job as normal, then enter the deposit under "Amount already paid". The invoice shows the total, subtracts the deposit and shows the balance due.
Can I attach supplier receipts?
Our PDF holds the invoice itself. Send supplier receipts as separate attachments in the same email, and note "supplier invoice attached" on the materials line, as in the example.
What if the job cost more than the estimate?
Explain the difference on the invoice: show the original scope, then each approved change order on its own line. If you started from our estimate template, click Convert to invoice and edit only the lines that changed.