Guide · Finance

How to Automate Debt Collection on WhatsApp — SA Business Guide

📅 March 2026 ⏱ 12 min read ✍️ NanoLeap Team

South African SMEs are owed billions of rands in overdue invoices right now. The problem is almost never the client refusing to pay — it's that nobody followed up consistently enough, early enough, in the right channel.

Phone calls go unanswered. Emails land in junk folders or get buried in busy inboxes. But WhatsApp? WhatsApp messages have a 94% open rate in South Africa. Most are read within 4 minutes.

This guide shows you exactly how to build a WhatsApp debt collection automation system — the message sequences, the timing, the tone, and the technical setup. You can implement the basics yourself for free. For the full production system with PDF generation and payment confirmation logging, NanoLeap builds it in 5 days.

Why most SME debt collection fails

Before building a solution, it's worth understanding why manual collections underperform so consistently:

Automation fixes all four problems simultaneously. Every client gets the same structured sequence. It runs on WhatsApp. It starts the day after the due date. And the tone systematically escalates with each step.

The 5-step WhatsApp collection sequence

This is the sequence NanoLeap deploys for clients. The exact wording depends on your industry and client relationships, but the structure is consistent.

Step 1: Invoice day — send professionally, immediately

The collection process starts when the invoice is sent — not when it becomes overdue. A professional, well-formatted WhatsApp message with a PDF attachment on invoice day sets the expectation immediately.

Hi [Client Name] 👋 Your invoice for [Month] services is attached: 📄 Invoice #[Number] — R[Amount] Due date: [Date] Payment details: Bank: [Bank] Account: [Account number] Reference: [Invoice number] Thank you for your continued business. — [Your Company]

Note: include every payment detail in the first message. Clients who want to pay immediately shouldn't have to ask for banking details.

Step 2: Day 3 post-due — friendly check-in

Hi [Client Name], Just checking in — Invoice #[Number] for R[Amount] was due on [Date]. If you've already paid, please ignore this message and send us your proof of payment so we can update our records. If you need to arrange payment, please let us know and we'll work with you. Thank you 🙏

The tone here is warm and assumes good faith. Many clients have genuinely forgotten or missed the original message. This step alone recovers 40–50% of overdue invoices.

Step 3: Day 7 — direct reminder with re-attached invoice

Hi [Client Name], A reminder that Invoice #[Number] for R[Amount] is now 7 days overdue. 📄 Invoice re-attached for your convenience. Please arrange payment at your earliest convenience and send us your proof of payment. If you have a query about this invoice, please reply to this message and we'll resolve it promptly. [Your Company]

Re-attaching the invoice is important — "I never received it" is a common response, and this pre-empts it. The query option gives clients a face-saving exit if they have a genuine dispute.

Step 4: Day 14 — formal notice, owner copied

Dear [Client Name], Invoice #[Number] for R[Amount] is now 14 days overdue despite previous reminders. We kindly request that payment be made within 5 business days to avoid further action. If payment is not received by [Date], this matter will be escalated to our legal recovery process. Please contact [Owner Name] directly at [Phone] to resolve this matter. [Your Company]

The tone shift here is deliberate. "Dear" instead of "Hi". Reference to legal process. A specific deadline. At this point, the business owner is also notified by the system — this account needs personal attention.

Step 5: Payment confirmed — stop the sequence immediately

When a client sends proof of payment, the system must stop the sequence immediately and send a receipt. Nothing destroys client relationships faster than continuing to chase someone who has already paid.

Thank you, [Client Name] ✓ Payment of R[Amount] received and confirmed. Official receipt: [Receipt link or number] We appreciate your prompt payment. See you next month! 🙏

The technical setup — how to build this yourself

What you need

Your Google Sheets debtor register

Set up a sheet with these columns:

Column A: Client Name Column B: WhatsApp Number Column C: Invoice Number Column D: Invoice Amount Column E: Due Date Column F: Status (SENT / REMINDED_3 / REMINDED_7 / ESCALATED / PAID) Column G: Payment Date Column H: Receipt Sent (Yes/No)

The Apps Script trigger logic

function runDailyCollections() { const sheet = SpreadsheetApp.getActiveSheet(); const today = new Date(); const data = sheet.getDataRange().getValues(); for (let i = 1; i < data.length; i++) { const dueDate = new Date(data[i][4]); const status = data[i][5]; const daysOverdue = Math.floor( (today - dueDate) / (1000 * 60 * 60 * 24) ); if (status === 'PAID') continue; // Skip paid invoices if (daysOverdue === 0 && status === '') { sendInvoice(i, data[i]); // Invoice day } else if (daysOverdue === 3 && status === 'SENT') { sendReminder3(i, data[i]); // Day 3 } else if (daysOverdue === 7 && status === 'REMINDED_3') { sendReminder7(i, data[i]); // Day 7 } else if (daysOverdue === 14 && status === 'REMINDED_7') { sendEscalation(i, data[i]); // Day 14 } } }

Set this function to run daily using Apps Script triggers: Triggers → Add trigger → runDailyCollections → Time-driven → Day timer.

Industry-specific considerations

Construction and engineering

Construction payments are governed by the CIDB and often involve retention releases and progress claims. Your collection sequence needs to handle disputed amounts and partial payments. The Day 14 escalation should reference your contract terms specifically.

Professional services (law, accounting, consulting)

Client relationships are long-term and sensitive. The first two reminders must be softer. Consider a phone call flag at Day 10 before the formal Day 14 notice — the system can trigger an alert to your accounts person to make a personal call before the formal escalation fires.

Medical practices

Patient shortfall collections must be handled carefully — the NCA (National Credit Act) applies to medical accounts in certain circumstances. Keep the tone supportive and always offer a payment arrangement option.

Security companies

SLA clients who don't pay remain protected sites — which creates operational tension. Your escalation sequence should trigger an internal alert at Day 14 so the operations director can make a decision about continued service provision.

✓ Average result across NanoLeap clients: 73% reduction in overdue debtor book within 60 days of deploying WhatsApp collection automation.

We'll build your debt collection system in 5 days.

The full production system — invoice generation, multi-step sequences, payment confirmation logging, owner dashboard — built and live. Pay only after delivery.

See Real Client Results →