Writing a payment reminder message to a client is rarely about what to say. It is about not sounding desperate, rude, or like you are begging for money you already earned. Most Indian freelancers solve this by waiting. The invoice was due on the 5th, it is now the 19th, and the message still isn't sent because every draft reads wrong.
Here is the thing nobody says out loud: the tone problem gets worse the longer you wait. A nudge on day 2 can be casual. The same nudge on day 40 cannot. So the fix isn't finding the perfect words. It is having a script ready for each stage, so you send on time and the tone matches the timing.
These are the exact WhatsApp messages I send. Copy them, change the names, send them.
Why WhatsApp and not email
In India, the invoice goes by email and the reminder goes by WhatsApp. That is just how it works. Your client's inbox has 200 unread messages. Their WhatsApp has a blue tick.
WhatsApp also changes the register. Email reminders drift formal, which makes a 3-day nudge feel like a legal notice. WhatsApp lets you stay human without losing the point.
One rule before the scripts: never send a reminder without the invoice number and the amount in the message. "Just following up on the invoice" makes your client go hunting. "INV26-014, ₹45,000" lets them forward it to their accounts person in one tap.
Stage 1: three days before the due date
This is the message almost nobody sends, and it is the one that does the most work. It is not a reminder. It is a heads-up, and it reframes everything that follows. If you have to escalate later, you are following up on a conversation instead of starting one.
Hey Rahul, quick heads-up. INV26-014 for ₹45,000 is due this Friday the 21st. Payment details are on the invoice, UPI link included if that's easier. Let me know if you need anything from my side to process it.
Note the last line. It shifts the frame from "pay me" to "is anything blocking you". Nine times out of ten the answer is no. The tenth time you find out they needed a PO number two weeks ago and nobody told you.
Stage 2: the due date
Short. Neutral. No apology, no urgency.
Hi Rahul, INV26-014 (₹45,000) is due today. Sharing the invoice again here for easy reference.
Attach the PDF. Do not write a paragraph explaining that you understand they are busy. You are not asking for a favour.
Stage 3: three days overdue
The first genuinely overdue message. Stay warm, but name the date.
Hi Rahul, checking in on INV26-014 for ₹45,000, which was due on the 21st. Has it gone into your payment run yet? Happy to resend anything you need.
"Payment run" is doing deliberate work. It gives the client a face-saving explanation and it signals you know how companies actually pay. Most Indian agencies and startups run payments weekly or fortnightly, so this question often gets you a real date instead of a vague "will check".
Stage 4: one week overdue
The tone shifts here. Still polite, but you stop offering flexibility and start asking for a date.
Hi Rahul, INV26-014 (₹45,000) is now a week past due. Could you share when I can expect the payment? If there's a delay on your end that's fine, I just need a date I can plan around.
That last sentence is the whole message. You are not accusing anyone. You are asking for information you legitimately need to run your business. A client who has the money will pay. A client who doesn't will tell you, which is also useful.
Stage 5: two weeks overdue
Move to a channel with a paper trail, and say so.
Hi Rahul, following up again on INV26-014, ₹45,000, now 14 days overdue. I've sent this to your email as well so it's on record. Could you confirm a payment date by Friday?
Two changes: a deadline for the reply (not the payment), and an explicit mention that you have created a record. Neither is a threat. Both signal that this has moved from casual to tracked.
Stage 6: thirty days overdue
At 30 days you stop being flexible and start stating consequences you are actually willing to act on. Only write what you will follow through on.
Hi Rahul, INV26-014 for ₹45,000 is now 30 days overdue and I haven't had a payment date. I'm pausing further work on the project until this is cleared. Let me know if there's a problem I should know about, otherwise I'd appreciate settling this week.
If you are not willing to pause work, do not write that you will. An empty threat leaves you weaker than no threat at all.
Past 30 days the scripts stop being the tool. What comes next, from an email paper trail to a formal notice and the MSME Samadhaan route, is in the late payment escalation ladder.
The scripts nobody needs but everybody wants
When the client says "I'll pay next week" and doesn't:
Hi Rahul, you'd mentioned last week for INV26-014. Has something changed on the timeline? Just want to update my own planning.
When the client goes fully silent:
Hi Rahul, I've not heard back on INV26-014 (₹45,000, due 21 August). If there's an issue with the work or the invoice, tell me and I'll sort it. If it's a cash flow thing, tell me that too and we'll work out a timeline. Either way I need to hear from you this week.
Offering two named explanations makes replying easier than continuing to ignore you. Silence usually means avoidance, not refusal.
When you're invoicing a client you like and it feels awkward:
Send the stage 1 message. That is the entire answer. Sending early is what makes it not awkward, and that awkwardness has a name and a fix.
What to do before any of this
Half of late payments are structural, not behavioural. Before you blame the client, check whether your invoice gave them what they needed: a clear due date, correct payment details, a UPI link, and payment terms agreed before the work started. If your invoice says "due on receipt" and nothing else, the ambiguity is yours.
If your terms aren't written down anywhere, start with payment terms for Indian freelance invoices. If a client is disputing rather than delaying, that is a different problem with a different first response.
How I actually run this now
I don't send most of these by hand any more. Riffit sends an automatic email reminder on the due date on the free plan. On Pro, it runs the whole schedule for you: before the due date, on it, and after, on both email and WhatsApp, and you can set how far out it goes. Those arrive as standard Riffit reminders carrying the invoice number, the amount and a link, not as the scripts above sent from your own chat.
What it does not do is tell you the money arrived. Nothing does, honestly. Riffit gives your client a UPI link and QR on the invoice so they pay you directly, and it pings you when your client opens the invoice, but you still mark it paid yourself once the money is in your account. Any tool claiming to detect the payment automatically is describing something a UPI deep link cannot do.
The scripts above still matter for everything outside the schedule: the awkward ones, the silent ones, the ones where you need a human sentence.
FAQ
Include the invoice number, the exact amount, and the due date in the first line. For example: INV26-014 for ₹45,000 was due on 21 August. Then ask one specific question, such as when you can expect payment. Vague follow-ups like just checking on the invoice force the client to go looking, which delays you further.
If you want the wording done for you, the payment reminder generator is free and needs no signup. Pick the stage, pick the tone, copy the message.