Chasing money is the part of running a small business nobody enjoys, and the discomfort makes people do it badly — they wait too long, then send something stiff and slightly aggressive. A short, friendly, well-timed text collects faster and costs you nothing in goodwill.
The sequence
- On issue. The invoice exists, here is the amount, here is the link. Not a chase — a delivery.
- Three days before due. A heads-up while there is still time to act. This one prevents most lateness.
- Due date. Neutral, short, still friendly.
- Seven days overdue. Slightly firmer, offers a way out if something is wrong.
- Then stop texting and call. Anything beyond this is a conversation, not a notification.
export const payments = { issued: (c: Ctx) => `${c.business}: invoice ${c.ref} for ${c.amount} is ready, ` + `due ${c.dueDate}. Pay any time: ${c.link}`, upcoming: (c: Ctx) => `${c.business}: quick heads-up — ${c.amount} is due ${c.dueDate}. ` + `${c.link}`, dueToday: (c: Ctx) => `${c.business}: ${c.amount} is due today. ${c.link} ` + `— shout if you need a hand with anything.`, overdue: (c: Ctx) => `Hi ${c.firstName} — ${c.staffName} at ${c.business}. ` + `Invoice ${c.ref} (${c.amount}) is a week past due. ` + `${c.link} — or reply here if there's a problem with it.`,};“Reply here if there's a problem” collects more than pressure does
A meaningful share of overdue invoices are stuck on something — wrong address, a line item they query, a missing PO. Inviting the objection surfaces it. Escalating tone does not, because the person who has a genuine problem just avoids you harder.
What belongs in the message
- Amount, reference and due date in one line. All three questions get asked otherwise.
- One tappable payment link. Removing the 'I'll do it at my desk' delay is the entire mechanism.
- A named person from the fourth message on. Chases from a business feel automated; chases from Sarah get answered.
- Never an account number, a card detail, or a balance beyond this invoice — it appears on a lock screen.
Consent, briefly
Invoice notifications are transactional: the customer bought something and is expecting to pay for it. That is a different consent scope from marketing, and it does not entitle you to send them an offer next month. Keep the scopes separate.
Stop the sequence the instant it is paid
A payment reminder sent to someone who paid yesterday is worse than sending nothing — it says you are not paying attention to their money. Cancel every queued message the moment payment lands, and make that cascade automatic rather than a job someone runs. Scheduling and cancellation.
Tag the payment link and you can see exactly which message in the sequence collects. Most businesses find the three-days-before nudge does more work than every chase after it — which is an argument for sending fewer, earlier. Measuring it.
Next step
Generate a tagged link for whatever you send next with the UTM builder, see what this looks like in your industry, or compare the services that can send it on the providers page.