Free Handyman Invoice Template (PDF + Editable)
A copy-paste handyman invoice template plus a plain-English breakdown of what to include, what to leave off, and how to actually get paid faster.
· HandyBook Team
A good invoice isn't a piece of art. It's a piece of paper (or PDF, or email) that a customer reads in 20 seconds and pays from. The faster they understand it, the faster you get paid.
Below is a template you can copy, the rules I've learned about what to include, and the small details that make a $300 dishwasher install or a $4,500 bathroom retile get paid this week instead of the week after next.
What a handyman invoice actually needs
A handyman invoice is simpler than most people make it. It needs to answer six questions in the order a customer asks them:
- Who is this from?
- Who is it to?
- What was the job?
- What did each piece cost?
- What's the total?
- How do I pay you, and by when?
Anything beyond those six questions is either compliance (tax info, license number in some states) or polish (logo, thank-you line). Get the six right first.
The template
Copy this. Drop in your business info. The HTML is intentionally plain so it prints cleanly and emails reliably.
<!doctype html>
<html>
<head>
<meta charset="utf-8" />
<title>Invoice #1042</title>
<style>
body { font-family: -apple-system, Helvetica, Arial, sans-serif; color: #111; padding: 32px; max-width: 720px; margin: 0 auto; }
.row { display: flex; justify-content: space-between; }
h1 { font-size: 28px; margin: 0 0 4px; }
table { width: 100%; border-collapse: collapse; margin-top: 24px; }
th, td { text-align: left; padding: 10px; border-bottom: 1px solid #eee; }
th { background: #fafafa; font-weight: 600; }
.right { text-align: right; }
.totals td { border: none; padding: 6px 10px; }
.grand td { font-weight: 700; border-top: 2px solid #111; }
.pay { margin-top: 24px; padding: 16px; background: #f6f6f6; border-radius: 8px; }
.muted { color: #666; font-size: 13px; }
</style>
</head>
<body>
<div class="row">
<div>
<h1>Diaz Handyman Services</h1>
<div class="muted">License #HM-04812 — Insured</div>
<div class="muted">512-555-0177 — billing@diazhandyman.com</div>
</div>
<div class="right">
<strong>Invoice #1042</strong><br />
<span class="muted">Issued May 14, 2026</span><br />
<span class="muted">Due May 28, 2026</span>
</div>
</div>
<div style="margin-top: 24px;">
<strong>Bill to:</strong><br />
Sarah Whitfield<br />
2418 Cedar Bend Dr, Austin TX 78758
</div>
<div style="margin-top: 16px;">
<strong>Job:</strong> Bathroom retile — primary bathroom, 38 sq ft.<br />
<span class="muted">Completed May 13, 2026.</span>
</div>
<table>
<thead>
<tr>
<th>Description</th>
<th class="right">Qty</th>
<th class="right">Rate</th>
<th class="right">Amount</th>
</tr>
</thead>
<tbody>
<tr>
<td>Demo existing tile + haul-away</td>
<td class="right">4 hr</td>
<td class="right">$75</td>
<td class="right">$300</td>
</tr>
<tr>
<td>Install new porcelain tile + grout</td>
<td class="right">14 hr</td>
<td class="right">$75</td>
<td class="right">$1,050</td>
</tr>
<tr>
<td>Porcelain tile (38 sq ft + 10% waste)</td>
<td class="right">42 sf</td>
<td class="right">$6.40</td>
<td class="right">$268.80</td>
</tr>
<tr>
<td>Thinset, grout, spacers, sealer</td>
<td class="right">1</td>
<td class="right">$118</td>
<td class="right">$118</td>
</tr>
<tr>
<td>Disposal fee</td>
<td class="right">1</td>
<td class="right">$45</td>
<td class="right">$45</td>
</tr>
</tbody>
</table>
<table class="totals">
<tr>
<td class="right">Subtotal</td>
<td class="right" style="width: 120px;">$1,781.80</td>
</tr>
<tr>
<td class="right">Sales tax (materials only, 8.25%)</td>
<td class="right">$35.69</td>
</tr>
<tr class="grand">
<td class="right">Total due</td>
<td class="right">$1,817.49</td>
</tr>
<tr>
<td class="right muted">Deposit received May 6</td>
<td class="right muted">-$500.00</td>
</tr>
<tr class="grand">
<td class="right">Balance</td>
<td class="right">$1,317.49</td>
</tr>
</table>
<div class="pay">
<strong>How to pay:</strong> Tap-to-pay link sent by text, Zelle to 512-555-0177, or check made out to Diaz Handyman Services.<br />
<span class="muted">Payment due within 14 days. Thanks, Sarah.</span>
</div>
</body>
</html>
Drop that into any text editor, save as invoice.html, open in a browser, and use File → Print → Save as PDF. Done.
The line-item rules I follow
A few hard-won lessons after a lot of invoices.
Split labor and materials. Always. Customers want to see what they're paying for. A line that says "Bathroom retile — $1,817" gets pushback. The same total broken into demo, install, tile, grout, and disposal doesn't.
Show units for materials. "Tile — $268.80" looks like you made up a number. "42 sf × $6.40 = $268.80" is math. Math doesn't get questioned.
Mark up materials honestly. Most handymen mark materials up 15–25%. Either bake it into your unit price or add a "materials handling" line. Don't hide it as a higher hourly rate and then have the customer notice you billed for 18 hours of tile work.
Tax only what's actually taxable. In most US states, you charge sales tax on materials you resold to the customer, not on labor. Rules vary — check your state. When in doubt, ask an accountant once; it's a 10-minute conversation that pays for itself.
Include a clear due date. "Due upon receipt" is vague and easy to ignore. "Due May 28" is a date on a calendar. Make it 7, 14, or 30 days depending on your relationship. Be consistent.
Payment terms that actually work
Most solo handymen we talk to land on one of three setups:
- Net 14 with a 2% late fee after 30 days. Standard, friendly, gets paid.
- 50% deposit, balance on completion. Works well on jobs over $1,500. You stop fronting materials.
- Card on file, charged when job is done. This is the fastest path to "always paid same day," and it's what modern POS tools enable. No more chasing.
A note on late fees: write them on the quote and the invoice, but only enforce them on a customer who's clearly stringing you along. A two-week-late check from someone who pays you twice a year is not the customer you charge $40 in late fees to. A one-month-late "I'll get to it" from someone you'll never work for again is. Use the policy as leverage, not as a default.
Numbering invoices so you don't lose track
This sounds boring. It matters more than you think.
Pick a format on day one and stick to it. The two that work best for solo handymen:
- Sequential. Invoice #1001, #1002, #1003. Simple. The only downside is anyone who sees an early invoice knows roughly how many customers you've had — not usually a problem, but worth knowing.
- Year-prefixed. Invoice #2026-001, #2026-002. Resets every January. Easier to scan year-over-year ("how many invoices did I send in Q1 last year?").
Don't number by customer (#JONES-01). It looks tidy until you realize a customer paid invoice JONES-03 but never paid JONES-02 and now you're chasing them through a tree of jobs instead of a single number.
Where invoices go wrong
The three reasons invoices sit unpaid:
- Sent on Friday afternoon. It buries in their weekend. Send Monday or Tuesday morning.
- No payment method that takes 30 seconds. If the only way to pay is "mail a check," you'll wait. Tap-to-pay, Zelle, or a payment link cuts collection time in half.
- No follow-up. A friendly text on day 10 — "Hey Sarah, just a heads-up the invoice for the bathroom retile is due Tuesday, no rush, let me know if you need anything" — moves more money than any aggressive collections letter.
Make this less work
You can absolutely run this from a template and a folder of saved PDFs. A lot of handymen do, and there's no shame in it. But once you're doing 8+ invoices a month, the math changes — you spend more time formatting than working.
HandyBook generates this exact invoice from a job's line items in about 15 seconds, sends it by text, and accepts a card from the customer's phone at 2.6% + 10c. The same line items you used in the quote roll into the invoice automatically. No retyping, no copy-paste, no Friday-afternoon-sent invoices.
Try the 14-day free trial and run your next three invoices through it. If it doesn't save you an hour a week, go back to the template above with our blessing. The full feature list is on the features page if you want to see what's included before you sign up.
Ready to put this into practice?
HandyBook handles quoting, invoicing, scheduling, and payments. 14-day free trial.
Start free trial