How Kenyan Freelancers Can Automate Invoicing and Payment Reminders
Kenyan freelancers lose hours every month creating invoices manually, sending them one by one, then following up when clients don't pay on time. You can automate invoicing as a freelancer in Kenya using free tools you probably already have, plus simple reminder workflows that chase payments on a polite, predictable schedule.
Kenyan freelancers lose hours every month creating invoices manually, sending them one by one, then following up when clients don't pay on time. You can automate invoicing as a freelancer in Kenya using free tools you probably already have, plus simple reminder workflows that chase payments on a polite, predictable schedule.
Why Invoicing Is a Real Problem for Kenyan Freelancers
If you are freelancing in Kenya (design, writing, development, photography, consulting), you know the awkward dance. You finish the work. You create an invoice in Word or Canva. You send it on WhatsApp or email. Then you wait.
After a week, you wonder if the client saw it. You type a "gentle reminder" message, delete it, retype it, and finally send something that sounds either too pushy or too passive. Another week passes. You send another message. The client says "I'll send by Friday." Friday comes and goes.
This cycle is exhausting, and it costs real money. Late payments mess with your cash flow, which in Kenya's freelance market can mean choosing between buying data bundles and paying rent. The problem is not that clients are bad people. Most of them genuinely intend to pay. They just forget, get busy, or lack a clear deadline.
Automation solves this by removing you from the reminder loop. The invoice goes out on time. Reminders follow a set schedule. You only step in when something actually goes wrong.
What You Need Before You Automate
You do not need expensive software. Here is the minimum setup.
A Google account. This gives you Google Sheets, Google Docs, Gmail, and Google Apps Script, all free.
An invoice template. A clean, professional template with your name, KRA PIN, payment details (M-Pesa Till/Paybill, bank account), services rendered, amount, due date, and late payment terms. You can build this in Google Docs or Google Sheets.
A client tracker. A simple Google Sheet with columns for client name, project description, invoice number, amount (in KES), date sent, due date, status (pending, paid, overdue), and payment method.
WhatsApp Business (optional). Many Kenyan clients prefer WhatsApp to email. If you use WhatsApp Business, you can set quick replies for invoice-related messages.
Step 1: Create a Reusable Invoice Template
Open Google Docs and build your invoice template once. Include these sections.
Header: Your business name or full name, phone number, email, physical address (even if you work from home, use your county), and KRA PIN if you have one.
Client section: Client name, company (if applicable), and project reference.
Line items: Description of service, quantity/hours, rate, and total per line.
Payment details: Total in KES, due date, accepted payment methods. For M-Pesa, include your registered name and Till/Paybill number. For bank transfers, include your bank, branch, account name, and account number.
Terms: "Payment due within 14 days of invoice date" (or whatever your standard is). State your late payment policy clearly. Even something simple like "Invoices unpaid after 30 days will incur a a small fraction late fee" gives you grounds for follow-up.
Save this as a template. Each time you need a new invoice, duplicate the file and fill in the specifics.
Pro tip for Kenyan freelancers: Always include both M-Pesa and bank transfer options. Some corporate clients only process bank transfers. Individual clients almost always prefer M-Pesa. Giving both options removes friction.
Step 2: Build Your Invoice Tracker in Google Sheets
Create a Google Sheet called "Invoice Tracker" with these columns.
| Invoice # | Client | Project | Amount (KES) | Date Sent | Due Date | Status | Reminder 1 | Reminder 2 | Notes |
|---|---|---|---|---|---|---|---|---|---|
| INV-001 | Acme Ltd | Website copy | 25,000 | 2026-07-15 | 2026-07-29 | Pending | |||
| INV-002 | Jane M. | Logo design | 15,000 | 2026-07-18 | 2026-08-01 | Paid |
The Status column is your control centre. Use Data Validation to restrict it to: Draft, Sent, Pending, Overdue, Paid, Disputed.
Add conditional formatting: green for Paid, yellow for Pending, red for Overdue. This gives you an instant visual dashboard of your cash flow.
Automatic overdue detection: In a helper column, use a formula like =IF(AND(F2<TODAY(), G2<>"Paid"), "OVERDUE", "") where F2 is the due date and G2 is the status. This flags invoices automatically when the due date passes.
Step 3: Set Up Automatic Email Reminders
This is where automation starts. We will use Google Apps Script, which is free and built into Google Sheets.
Open your Invoice Tracker sheet. Click Extensions, then Apps Script. You will see a code editor.
The approach: write a script that checks your tracker every morning, finds invoices that are overdue or approaching their due date, and sends a polite email reminder to the client.
Reminder schedule we recommend:
- 3 days before due date: Friendly heads-up. "Just a reminder that invoice INV-001 for a reasonable cost is due on July 29th."
- On the due date: Direct reminder. "Invoice INV-001 for a reasonable cost is due today. Please find payment details below."
- 3 days after due date: Firmer follow-up. "Invoice INV-001 for a reasonable cost was due on July 29th and is now overdue. Please arrange payment at your earliest convenience."
- 7 days after due date: Final automated reminder before you pick up the phone. "This is a final reminder that invoice INV-001 for a reasonable cost is now 7 days overdue."
In Apps Script, you set a "trigger" to run your script daily. Go to Triggers (the clock icon) and add a time-driven trigger that runs every morning between 8am and 9am.
The script reads each row, checks the due date against today, and sends the appropriate email if the status is not "Paid." After sending, it logs the date in the Reminder 1 or Reminder 2 column so you know what has been sent.
You do not need to be a programmer to set this up. The basic structure is readable, and our AI and Automation for Beginners course walks through Google Apps Script from scratch.
Step 4: Add WhatsApp Reminders (Semi-Automated)
Most Kenyan clients respond faster to WhatsApp than email. Full WhatsApp automation requires the API (which costs money), but you can semi-automate with these methods.
Quick replies in WhatsApp Business. Set up shortcuts for your standard reminder messages:
/remind1- "Hi [name], just a friendly reminder that invoice [number] for KES [amount] is due on [date]. Payment details: M-Pesa Till [number] or Bank [details]. Thank you!"/remind2- "Hi [name], invoice [number] for KES [amount] was due on [date] and is now overdue. Could you let me know when to expect payment? Thank you."/paid- "Hi [name], confirming we have received your payment of KES [amount] for invoice [number]. Thank you!"
You still send these manually, but typing /remind1 and filling in the blanks takes 30 seconds instead of 5 minutes of composing a message that sounds professional without being rude.
Calendar reminders. When you send an invoice, immediately create Google Calendar events for each reminder date. When the calendar notification pops up, open WhatsApp and fire the quick reply. This is not full automation, but it ensures you never forget to follow up.
Step 5: Handle M-Pesa Payment Confirmation
When a client pays via M-Pesa, you receive an SMS confirmation. Instead of manually updating your tracker, you can use the approach described in our guide on how to track M-Pesa payments automatically to capture those confirmations.
At minimum, build a habit: when you get the M-Pesa confirmation, immediately open your Invoice Tracker, find the row, change the status to "Paid," and note the M-Pesa transaction code. This takes 30 seconds and keeps your records clean for tax time.
Reminder Templates That Work in Kenya
Tone matters. Kenyan business culture values politeness, but freelancers also deserve to be paid on time. Here are tested templates.
Friendly pre-due-date reminder (email):
Subject: Invoice INV-001 due on [date]
"Hi [name], hope you are doing well. This is a quick reminder that invoice INV-001 for KES [amount] for [project name] is due on [date]. Payment can be made via M-Pesa to [Till/Paybill] or bank transfer to [account details]. Please let me know if you have any questions. Thank you, [your name]."
Overdue reminder (email):
Subject: Invoice INV-001 is now overdue
"Hi [name], I hope this finds you well. Invoice INV-001 for KES [amount], originally due on [date], is now [X] days past due. I would appreciate it if you could arrange payment or let me know if there is an issue we need to discuss. Payment details: [M-Pesa/Bank]. Thank you for your attention to this."
Final notice (email):
Subject: Final reminder, Invoice INV-001
"Hi [name], this is a final reminder regarding invoice INV-001 for KES [amount], which is now [X] days overdue. If payment is not received by [new deadline], I will need to pause any ongoing work and we may need to discuss next steps. I would prefer to resolve this amicably. Please let me know how you would like to proceed."
Free Tools That Handle Parts of This
If Google Sheets plus Apps Script feels like too much, these free or freemium tools handle invoicing for Kenyan freelancers.
Wave (free). Cloud-based invoicing with automatic reminders. Supports KES. The catch: limited payment gateway options for Kenya.
Zoho Invoice (free tier). Handles invoicing, reminders, and basic time tracking. The free plan covers up to 5 clients.
Invoice Ninja (free). Open-source invoicing with reminder automation. You can self-host or use their cloud version.
Google Sheets + Apps Script (free). The approach we described above. Full control, no subscription, and you own all your data.
For any of these, the principle is the same: create the invoice once, schedule the reminders, and let the system follow up.
What to Automate and What to Keep Manual
Not everything should be automated. Here is a practical split for Kenyan freelancers.
Automate: Invoice creation from templates, sending invoices on a schedule, first and second payment reminders, overdue status flagging, receipt confirmations after payment.
Keep manual: Negotiating payment terms with new clients, handling disputes, the final "we need to talk" conversation if someone truly will not pay, deciding whether to continue working with a consistently late-paying client.
Automation handles the routine. You handle the relationships.
FAQ
Do I need a KRA PIN to send invoices in Kenya?
You do not legally need a KRA PIN to invoice as an individual. However, corporate clients and government entities will often require it. If you freelance regularly and earn above the tax threshold, registering for a KRA PIN and filing returns is both a legal requirement and a professional signal that you take your business seriously.
How many days should I wait before sending a payment reminder?
For most Kenyan freelance work, send a friendly reminder 2-3 days before the due date, a direct reminder on the due date, and a firm follow-up 3-5 days after. If the client has not paid or responded after two weeks past due, a phone call is more effective than another written message.
Can I fully automate WhatsApp invoice reminders?
Full WhatsApp automation requires the WhatsApp Business API, which is a paid service aimed at larger businesses. For individual freelancers, the practical approach is semi-automation: use WhatsApp Business quick replies combined with calendar reminders. This cuts the effort from minutes to seconds per reminder without the cost of API access.
What is the best payment method to include on invoices for Kenyan clients?
Include both M-Pesa and bank transfer details. Individual clients and small businesses almost always pay via M-Pesa (it is instant and they are already familiar with it). Corporate clients with finance departments often require bank transfers because they need documentation for their records. Offering both removes the "I could not figure out how to pay" excuse.
Frequently Asked Questions
### Do I need a KRA PIN to send invoices in Kenya?
You do not legally need a KRA PIN to invoice as an individual. However, corporate clients and government entities will often require it. If you freelance regularly and earn above the tax threshold, registering for a KRA PIN and filing returns is both a legal requirement and a professional signal that you take your business seriously.
How many days should I wait before sending a payment reminder?
For most Kenyan freelance work, send a friendly reminder 2-3 days before the due date, a direct reminder on the due date, and a firm follow-up 3-5 days after. If the client has not paid or responded after two weeks past due, a phone call is more effective than another written message.
Can I fully automate WhatsApp invoice reminders?
Full WhatsApp automation requires the WhatsApp Business API, which is a paid service aimed at larger businesses. For individual freelancers, the practical approach is semi-automation: use WhatsApp Business quick replies combined with calendar reminders. This cuts the effort from minutes to seconds per reminder without the cost of API access.
What is the best payment method to include on invoices for Kenyan clients?
Include both M-Pesa and bank transfer details. Individual clients and small businesses almost always pay via M-Pesa (it is instant and they are already familiar with it). Corporate clients with finance departments often require bank transfers because they need documentation for their records. Offering both removes the "I could not figure out how to pay" excuse.
7-minute Welcome lesson, no purchase required
Bonaventure Ogeto
Founder, Mctaba Labs
Software engineer building products for the African market. Teaching 10,000+ students across multiple platforms. BSc Mathematics & Computer Science from JKUAT.