An unpaid invoice does not age like paper. It ages like produce. The longer it sits, the harder it is to collect, and the email you send at each stage decides whether it moves or keeps rotting.
Collections work put me in front of a lot of aged invoices, and the pattern was consistent: people send the wrong email for the age of the debt. They send a timid nudge at 90 days, or a legal threat at 30. Both fail, because the situation at 30 days and the situation at 90 days are different problems that happen to share an invoice number.
Here is what to send at each stage, and why.
Table of contents
Open Table of contents
First, know which problem you have
If the invoice belongs to an active client and is a few days past due, that is not collections. That is routine follow-up inside a working relationship, and it runs on a gentler sequence tied to your service agreement.
This article is about the other problem: an invoice that has gone quiet for 30 days or more, often from a client you are no longer working with. Different situation, different tone, different emails.
30 days past due: assume nothing went wrong on purpose
At 30 days the most likely explanation is dull. Someone approved it and never filed it, or the person who signs off was away that week and it has been sitting in a queue ever since. The email has one job: clear whatever is standing between the client and the payment, so they can settle it without having to admit they dropped it.
Send the invoice as an attachment rather than a link, so nobody has to go digging for it, then keep the message this short:
Subject: [Your business] invoice [number], still open
Hi [name],
Quick one about invoice [number] for [amount]. It went out on [date] and my records still have it open, so I have attached a copy in case the first one went astray.
Two ways this could go. If it has been paid and I have missed it, send me the date it left your side and I will track it down on mine. If it has not, a rough idea of when it will be processed is all I need.
I can send it to a different address or through a portal if that suits your accounts team better.
Thanks, [Your name]
Look at what the message leaves out. There is no apology in it, because opening with “sorry to bother you” tells the client that asking to be paid is an imposition, and they will take you at your word. There is no pressure either. At 30 days pressure spends goodwill you are likely to want later, usually over nothing worse than an email nobody opened. The tone that collects fastest is unbothered: short, friendly, and written as though you expect the whole thing sorted by Friday.
60 days past due: stop pretending, and make yes easy
By 60 days the friendly version has been tried and it did not work, so drop it. Put the age of the debt in the message itself: this invoice is now 60 days past due. Then shrink what you are asking them to agree to. Most people leave the client holding one large decision and then wonder why it never gets made.
Give them a named route out. A date this week that you propose rather than ask for. Or the total broken in two, half on a day they choose and half on a day you choose. The point is to turn a debt they have been avoiding into one short action they can finish today.
One rule holds this stage together: move the dates, never the total. Discount an aged invoice once and you have shown every future client exactly what waiting earns them. What is stuck here is not the sum. It is the act of paying, so make that act as small as you can.
90 days past due: the final notice
At 90 days you are writing a record, not a relationship. The email is short and flat. It states the amount, the original due date, and the follow-ups already sent. It names a final payment date, and it says specifically what happens after that date, whether that is a collections agency, small claims, or writing the debt off and closing the account. Then you do exactly that.
No anger, no long paragraphs. Drama weakens a final notice. What gives it weight is that everything in it is verifiably true and that you follow through.
The part that makes all of this work: seeing the age
None of these emails get sent if you do not know the invoice is aging. That sounds obvious, and it is still the most common failure I saw. Solo business owners hold their receivables in their heads, and heads do not send reminders.
If the aging invoice is the last one you will ever send that client, the timing changes: send it before your access is revoked, not after. That sequence is in firing a client without losing the referral.
The fix is a simple invoice log with a days-past-due column and age buckets at 30, 60, and 90, so that every Monday you can see at a glance which stage each open invoice has reached. The stage tells you which email to send. The system does the remembering.
The scripts, done for you
I wrote the complete version of this system as ready-to-use documents: the full three-stage recovery script pack with email and chat versions for each stage, tone notes, and a worked example carried through all three stages, plus a revenue tracking spreadsheet that calculates days past due and age buckets automatically.
Both are part of the Virtual Assistant Business Owner Full System, twenty-one documents for running a virtual assistant business end to end, delivered as Google Docs and Sheets you copy and edit.
And if your late invoice is from an active client rather than an aged account, that is a different problem with a gentler sequence, run inside the engagement alongside the service agreement that enforces it.
Reliable collections are one of the systems that separate owning a business from owning a job. See scaling a virtual assistant business for the full picture, and how to write SOPs for a virtual assistant business for delegating the rest of the work.