Start with what your invoicing tool already does for free
Before you build anything, check whether the tool you already pay for is chasing invoices for you. Most aren't, out of the box, because reminders default to off.
In QuickBooks Online: gear icon (top right) > Account and settings > Sales > Reminders. Turn on Automatic invoice reminders and stack multiple rules: 3 days before due, on the due date, and again at 7 and 30 days late. Each rule gets its own subject line and message, and it pulls in the invoice number and amount automatically.
In Wave: Settings > Automations (older accounts: the invoice editor's Reminders tab). Turn it on and set how many days before or after the due date each reminder fires. This is on Wave's free plan, no upgrade needed.
Housecall Pro, Jobber, and ServiceTitan have the same feature, usually under Settings > Invoicing or Settings > Notifications. Look for "reminders" specifically, not "notifications," which is often a separate setting for your team, not your customers.
Turn this on even if you plan to build the Make automation below. It's the floor everyone should have, and it costs you nothing you're not already paying for.
Write reminders that stay friendly even at day 30
The mistake most people make is starting polite and ending furious. That's backwards. Start neutral (people forget, that's normal) and only firm up the tone once you've genuinely tried a few times.
Day 3 before due (a heads-up, not a chase): "Hi [Name], just a reminder that invoice #[number] for $[amount] is due [date]. Let me know if you have any questions. Thanks for the work!"
Due date: "Hi [Name], invoice #[number] for $[amount] is due today. Here's the link to pay: [link]. Let me know if anything's off."
7 days late: "Hi [Name], checking in on invoice #[number] for $[amount], which was due [date]. If you already sent payment, ignore this. Otherwise, here's the link again: [link]."
30 days late: "Hi [Name], invoice #[number] for $[amount] is now a month past due. I want to get this squared away for both of us, if there's an issue with the invoice or you need a payment plan, just call or text me at [number] and we'll sort it out."
Notice the day-30 message still isn't a threat. It names the number, offers a way to talk, and leaves the door open. Most late payers aren't dodging you, they're disorganized, and a message that assumes good faith gets paid faster than one that assumes the worst. Save your firmer language (late fees, collections, pausing future work) for a phone call, not an automated text.
Where the built-in reminders fall short
QuickBooks and Wave both handle the basic email cadence fine. Where they run out of road: they only email, most homeowners respond faster to a text; they can't loop in a teammate when an invoice crosses 30 or 60 days late; and they can't post an update anywhere else, like a shared spreadsheet or a Slack channel, when a payment finally clears.
If email-only reminders are getting you paid, stop here. Nothing below is required. But if you're the type who wants a text sent automatically, or you want someone to know when an invoice goes stale, keep going.
Build the Make recipe for the stubborn cases
Make (formerly Integromat) connects QuickBooks or Wave to text messaging without code. As of mid-2026 its free tier runs about 1,000 operations a month, plenty for a small shop's invoice volume.
1. Create a free account at make.com and click Create a new scenario.
2. Search for the QuickBooks Online (or Wave) module as your trigger. Pick "Watch Invoices" and connect your accounting account when prompted, it's an OAuth login, same as signing into QuickBooks normally.
3. Add a Filter after the trigger so the scenario only fires on invoices that are unpaid and past a due-date threshold you set, for example "Due date is more than 7 days ago." Make's filter menu lets you pick date fields and comparisons without formulas.
4. Add an action module for SMS. Twilio is the most common choice and connects directly inside Make; if you already have a Twilio number for other texting (see the guide on missed-call text-back at /guides/missed-call-text-back), reuse that same number here instead of buying a second one. Twilio SMS costs roughly a penny per text as of mid-2026, so this costs pennies a month for a small invoice list.
5. Map the invoice's customer phone number, amount, and invoice number into your day-7 or day-30 message template from the section above.
6. Add a second action, a Slack or email notification to yourself, so you (or whoever chases money) see a note the moment an invoice crosses 30 days late. This is the piece QuickBooks can't do on its own: a human getting pinged, not just the customer.
7. Set the scenario's schedule (top left clock icon) to run once a day. Save, then click Run once to test it against a real overdue invoice before turning on the schedule.
A lighter option, or checking what's actually working
If a Make scenario sounds like more setup than the problem is worth, Zapier's free tier does the same QuickBooks-to-text connection with a simpler interface, though it caps at 100 tasks a month. Or skip software entirely: once a week, filter your invoice list by "overdue" and text anyone past 14 days using the templates above. Slower, but free, and worth trying by hand for a month before you automate anything.
Either way, check your accounts receivable aging report monthly (QuickBooks: Reports > Accounts receivable aging summary; Wave: Reports > Aged receivables) and watch the 30-plus and 60-plus day buckets. If reminders are working, those buckets shrink. If they're not moving, the problem usually isn't the wording, it's a handful of chronically late customers who need a phone call instead of a text.