Why Contractor Billing Is a Cash Flow Crisis Waiting to Happen
Construction and trades contractors face a unique billing problem: jobs are big, timelines are long, and payment terms are often unclear. A kitchen remodel might take 6 weeks, but if you invoice at the end, you're essentially financing the entire project out of your own pocket.
Then there's the chasing. Most contractors are too busy on the job to follow up on invoices, so overdue balances accumulate. The awkward phone call gets put off. The client "forgot." Suddenly you're 60 days past due on a $12,000 invoice.
Automation solves both problems. Progress billing keeps money flowing in during the job. Automatic reminders mean you never have to personally chase a payment, the software does it for you, politely and consistently. See our complete guide to invoice automation for small businesses to understand the full picture.
Best Invoicing Tools for Contractors
Our recommendation: Start with Wave (free) if you're solo or just getting started. Upgrade to FreshBooks when you need project-level tracking, progress billing, and more automation. Try FreshBooks free for 30 days →
Progress Billing: The Contractor's Secret to Healthy Cash Flow
Progress billing (also called milestone billing) means invoicing the client in stages as work advances, not one giant invoice at the end. For any job over $5,000, this is the standard. Here's a 4-stage structure that works for most residential contractors:
Deposit
25–30%
Signed contract + before any work starts
Rough-in / Midpoint
25–30%
Framing, rough electrical/plumbing done
Substantial Completion
25–30%
Work is 90%+ done, client can use the space
Final Payment
10–20%
Punch list complete, final walkthrough passed
In FreshBooks, you can create a project, set the total amount, and schedule each milestone invoice to send automatically when you mark that stage complete. No manual invoicing required, just update the job status and the invoice goes out.
⚠️ Lien Waiver Reminder
In most states, you have a limited window (often 60–90 days from last work performed) to file a mechanics lien if you don't get paid. Set a reminder in your invoicing system: if any invoice hits 30 days overdue, flag it immediately so you don't miss the filing window. A preliminary lien notice often triggers immediate payment, clients don't want a lien on their property title.
Step-by-Step Setup (5 Steps, ~2 Hours)
01
Create Your Contractor Invoice Templates
In FreshBooks or Wave, create a custom invoice template with:
- Your company logo, license number, and contact info
- Standard payment terms: "Net 10" or "Due upon receipt" (not Net 30, the faster you set the expectation, the faster you get paid)
- Standard line items: Labor (per hour or lump sum), Materials, Subcontractor work, Markup (clearly labeled)
- Payment instructions: bank transfer, check payable to, and your online payment link
- Late fee language: "A 1.5% monthly late fee applies to balances over 30 days", this alone speeds up payment
Save this as your master template. All future invoices start from here.
02
Build Your Progress Billing Schedule in FreshBooks
For each new project over $5,000, set up progress billing in FreshBooks:
- Create a new Project in FreshBooks with the client name and total contract value
- Click "Bill by Project" → "Milestone Billing"
- Add 4 milestones with the amounts and names from your contract (Deposit, Rough-in, Substantial Completion, Final)
- Set each to send automatically when you mark it "Complete" in the project dashboard
- The invoice goes to the client's email the moment you click, no manual invoice creation needed
For Wave users: Wave doesn't have native milestone billing, so use recurring invoices with fixed amounts. Create 4 separate invoices, then delete the ones that aren't applicable. Or upgrade to FreshBooks for this feature alone, it's worth the $19/month.
03
Activate Automatic Payment Reminders
This is the single most valuable automation for contractors. In FreshBooks or Wave, turn on automatic reminders:
-3 days
Before due date
Friendly heads-up: "Your invoice is due in 3 days. Pay online here: [link]"
Day 0
Due date
Reminder: "Invoice #[X] for $[amount] is due today. Pay online here: [link]"
+7 days
Overdue
Firm reminder: "Invoice #[X] is 7 days overdue. Please pay today to avoid late fees."
In FreshBooks: go to Settings → Invoice Reminders → enable and set the schedule. In Wave: go to Sales → Invoices → Settings → Reminders. Both send these automatically, you set it once and never think about it again.
Key stat: Contractors using automated reminders recover 60% of late payments without ever making a personal call. The other 40% require a personal follow-up, but at least the automated reminders have already done 3 attempts for you.
04
Enable Online Payment (Credit Card + ACH)
Contractors who accept online payments get paid an average of 14 days faster than those who only accept checks. In FreshBooks, turn on FreshBooks Payments (powered by Stripe) or connect your existing Stripe account:
- Go to Settings → Payments → Enable FreshBooks Payments
- Every invoice will now include a blue "Pay Now" button
- Clients can pay by credit card (2.9% + 30¢), debit card (1%), or bank transfer/ACH (1%, capped at $10)
- For large payments ($5,000+), ACH bank transfer is the cheapest option for both parties
Fee concern? Add a "convenience fee" line item on the invoice, or build the processing cost into your quoted rates. Most clients are happy to pay a small fee to avoid writing a check and mailing it.
05
Set Up Your 30-Day Overdue Alert System
Any invoice that hits 30 days overdue needs a human touch, and a lien waiver check. Here's how to set it up:
- In FreshBooks: go to Reports → Accounts Receivable Aging. Review this every Monday morning (takes 3 minutes).
- Set a FreshBooks Alert to email you when any invoice hits 30 days overdue
- When that alert fires: send a personal email (see template below) and check your state's mechanics lien window
- For Wave users: set a recurring weekly calendar reminder to check Wave's "Overdue Invoices" tab
The goal is: nothing stays over 30 days overdue without you knowing about it and taking action. Most disputes can be resolved at 30 days. At 60–90 days, you may need legal options.
3 Copy-Paste Templates for Contractor Billing
Template 1, Progress Invoice Email (Milestone Hit)
Subject: Invoice #[NUM], [Project Name] Milestone Complete
Hi [Client Name],
Great news, we've completed the [milestone name, e.g., "rough-in phase"] on your [project description, e.g., "kitchen remodel"]. Everything is on schedule and looking great.
Per our contract, the next payment of $[amount] is now due. I've attached Invoice #[NUM] for your records.
The easiest way to pay is online, just click the "Pay Now" button on the invoice. I also accept check payable to [Company Name] if you prefer.
Payment is due within 10 days. Once received, we'll schedule the next phase to begin.
Thank you for trusting us with this project, the finished product is going to look incredible.
[Your Name]
[Company Name] | [Phone] | [License #]
Template 2, 7-Day Overdue Reminder (Auto-Send)
Subject: Invoice #[NUM], 7 Days Overdue, $[Amount]
Hi [Client Name],
Just following up on Invoice #[NUM] for $[amount], which was due on [due date].
I want to make sure this didn't get lost in the shuffle. You can pay online in 2 minutes here: [payment link]
If there's an issue with the invoice or you have questions about the work completed, please let me know and we can sort it out quickly.
A 1.5% monthly late fee will apply to balances beyond 30 days per our contract.
Thanks so much, just want to keep things on track for both of us.
[Your Name]
[Company Name] | [Phone]
Template 3, 30-Day Overdue Personal Email
Subject: [Project Name] Invoice, Personal Follow-Up
Hi [Client Name],
I'm reaching out personally about Invoice #[NUM] for $[amount], now 30 days past due.
I've sent a couple of reminders and haven't heard back. I want to make sure everything is okay on your end.
If there's a concern about the work, I want to address it immediately. If it's a cash flow issue, let me know, I'm open to discussing a brief payment plan.
I need to resolve this by [date 7 days from now]. If I don't hear from you by then, I'll need to begin the lien process to protect my business, which I genuinely don't want to do.
Please reply to this email or call me at [phone]. I'd much rather resolve this with a quick conversation.
Thank you,
[Your Name]
[Company Name] | [Phone]
Case Study, Real Result
How Jake's Remodeling in Austin Cut Late Payments by 71% and Saved 7 Hours a Week on Billing
Jake runs a 4-person residential remodeling crew in Austin. Before automation, he was spending Sunday evenings chasing payments and had $22,000 in outstanding receivables. He set up FreshBooks with progress billing and automated reminders in early 2025. Within 90 days, the results were dramatic.
71%
Reduction in late payments
$22K→$6K
Outstanding receivables reduced
7 hrs
Saved per week on billing admin
"The progress billing was the game changer. Instead of one big invoice at the end that clients sometimes pushed back on, I'm getting 4 smaller payments throughout the job. Cash flow is steady now, I'm not financing jobs out of my own pocket, and the automated reminders mean I never have to make an awkward call about money."
Frequently Asked Questions
What is progress billing and should contractors use it?
Progress billing (also called milestone billing) means invoicing the client in stages as the project advances rather than sending one large invoice at the end. For any job over $5,000, progress billing is strongly recommended. It protects your cash flow, you're not financing the entire job out of pocket, and it reduces client sticker shock on final invoices. Most residential clients expect the standard structure: 25-30% deposit upfront, 25-30% at rough-in or midpoint, and the balance upon completion.
How do I handle a client who won't pay their invoice?
Start with the automated reminder sequence (3 days before, on the due date, 7 days overdue). If they still haven't paid after 14 days, send a personal email referencing the project and the amount. After 30 days, it's time to consider a mechanics lien, this is a legal claim against the property that must be filed within a specific window (varies by state, typically 60-90 days from last work performed). Filing a preliminary lien notice often triggers immediate payment. For amounts under $5,000–$10,000, small claims court is your next option.
What's the best invoicing software for small contractors?
For solo contractors and small crews (1-5 people), Wave (free) or FreshBooks ($19/mo) are the top choices. Wave is excellent for basic invoicing and expense tracking at zero cost. FreshBooks adds project tracking, time tracking, and better automation features that pay off as your volume grows. Jobber ($49-$199/mo) is the go-to option for service contractors who also need scheduling, dispatch, and CRM in one system.
Ready to Stop Chasing Payments?
Find the exact invoicing setup for your contracting business in 2 minutes, free tool recommendation.
Find My Billing Tools →
What to Automate Next →
Keep building your contractor automation stack