Skip to content
article

Why your SaaS pricing does not work in Kisumu (1/15)

Cards, currencies, weekly money and the VPN problem. For founders who want customers outside the US and Europe.

Achieng Owino@achieng_devrel

September 9, 2026 · 3 min read

1/ Every month a founder emails me: "we launched in Kenya, the traffic is great, nobody pays". Then I open the pricing page. $29 a month, card only, 20% off if you pay annually. Let me explain why that page is a wall.

2/ Start with the card. Most of your customers in Kisumu do not have a credit card. Many have a debit card that does not work online, or works until the bank's fraud system sees a foreign merchant and blocks it.

3/ What they have is M-Pesa. If your checkout cannot take mobile money, you have filtered out most of the market before anyone sees your product.

4/ Price in shillings. A price in dollars says "this is not for you". It also says "this price changes every month", because the exchange rate does.

5/ And keep the number round. KES 1,500 reads like a price. KES 1,487.63 from a currency conversion reads like a bug.

6/ Think in weeks, not years. Many small businesses here earn daily and plan weekly. Data and airtime are often bought as daily or weekly bundles. A weekly plan feels natural. An annual plan feels like a loan you are giving a stranger.

7/ Recurring billing is harder. Cards renew quietly in the background. Mobile money mostly does not, at least not the way your billing system expects. Plan for a payment prompt or a reminder every cycle.

8/ So: a reminder by SMS or WhatsApp the day before, a pay link that opens the payment prompt, and a few days of grace before you lock anyone out. Locking a shop out of its invoices on a Friday is how you lose it forever.

9/ Price per value, not per seat. A shop where three people share one phone will not pay for three seats. They will share one login and you will hate it. Price by invoices, orders or locations instead.

10/ Taxes. Kenya charges VAT on digital services sold by foreign companies. If you do it right, your $29 costs the customer $29 plus 16%. Show the final number.

11/ Now the scary part: purchasing power pricing. Founders love it in theory, then panic that people in Berlin will use a VPN to "move" to Nairobi and pay less.

12/ A simple fix that works: tie the local price to the local payment method. The shilling price is only available if you pay with M-Pesa. Anyone can see it. Very few people in Berlin have an M-Pesa wallet.

13/ Free tiers. A generous free tier in a market with few cards often means 100% free users forever. Prefer a cheap paid tier with a short trial.

14/ Support in local hours, ideally in the local language. A WhatsApp number answered during Nairobi working hours closes more deals than any discount.

15/ If you remember one thing: your pricing page is a product for a specific person. Write it for the person in Kisumu, not for the investor in San Francisco. Karibu Kisumu. The fish is excellent.

Written by

Achieng Owino

Developer advocate, Nairobi. I write long threads about African tech: mobile money, undersea cables, why your SaaS pricing does not work in Kisumu. Formerly backend at a payments company. Opinions mine, data cited. Karibu.

Get the best of #bootstrapped_and_broke weekly

One email each Monday with the most useful posts. No spam; unsubscribe in one click.

Comments

12

Sign in to join the conversation.

Sign in to comment
Dhruv Thakkar@dhruv_ships#4 in Bootstrapped and Broke
Point 6 and 12 are exactly Ahmedabad also! Nobody pays annually, everybody wants discount, and weekly would actually work for my smaller customers. Achieng this is India in a different font 😂
4 net votes
Achieng Owino@achieng_devrel#2 in Bootstrapped and Broke
Ha, I suspected Gujarati traders and Kisumu traders would get along. Have you tried monthly with a UPI mandate?
3 net votes
Dhruv Thakkar@dhruv_ships#4 in Bootstrapped and Broke
UPI AutoPay mandate for the bigger shops, a WhatsApp reminder with a pay link for the small ones. Writing a post about it soon
4 net votes
Jo Brennan@jo_ships#1 in Bootstrapped and Broke
point 12 is so clever i'm annoyed. i've wanted purchasing power pricing on the PDF API for years and always got scared of the VPN thing. tie it to the payment method. stealing
6 net votes
Brian Kiprono@kiprono_codes1 rep in Bootstrapped and Broke
Point 7 is very real. One push back on 10/: half our customers already think tax money gets eaten by politicians, then they see +16% on a foreign app and close the tab. Show the final price, yes, but not like an apology 😂
4 net votes
Achieng Owino@achieng_devrel#2 in Bootstrapped and Broke
Fair, Kiprono. One final price, no separate scary tax line. That is a design decision, not a moral one.
1 net votes
Oluwatobi Adeyemi@tobi_freelance6 rep in Bootstrapped and Broke
For Nigeria point 3 is "take bank transfer and USSD", but the principle is the same. If the checkout does not speak the customer's money, the customer will not speak to you
4 net votes
Hamza Butt@hamza_flutter1 rep in Bootstrapped and Broke
Pakistan version: JazzCash and Easypaisa instead of M-Pesa, same story. And point 14, a WhatsApp number answered fast is the whole sales team here
6 net votes
Jessica Tan@nomad_jess1 rep in Bootstrapped and Broke
Philippines: GCash. And we are a sachet economy! People buy shampoo in single sachets, why not software 😅 point 6 is so true here
10 net votes
Chloe Barnes@chloebuilds#3 in Bootstrapped and Broke
point 5 is something i never think about from manchester. a currency conversion artefact as a price is such a trust killer
5 net votes
Emeka Nwosu@emeka_golang3 rep in Bootstrapped and Broke
Point 9 killed one of my side projects. Priced per seat, one shop shared one login between 4 people, revenue was 1/4 of the plan 🤣
3 net votes
Rachel Kim@rachelkim#7 in Bootstrapped and Broke
Point 15 should be the opening slide of every pricing workshop.
6 net votes