The setup: one WhatsApp Business inbox, three models, sixty messages in two languages
I run a small electronics and accessories shop in Nairobi—phone cases, chargers, earbuds, power banks. Half my sales happen in the shop; the other half come through WhatsApp and Instagram, paid by M-Pesa. Every day I send between eight and fifteen confirmation messages: till receipts when someone pays in the shop, payment confirmations when the M-Pesa notification lands, refund messages when someone returns a faulty charger or changes their mind about a phone case.
For two years I copied and pasted from a Notes file on my phone, swapping out the name, amount and till number each time. It worked until the week I sent the same customer three messages with the wrong shilling amount because I'd edited the template halfway through and lost track. She called, confused. I apologised, sent the correct receipt, and decided I'd had enough of manual copy-paste.
So I tested Claude Sonnet 4.5, Gemini Flash and DeepSeek V3. I gave each model the same brief: generate twenty M-Pesa till receipts in both English and Swahili, covering amounts from KSh 150 to KSh 8,500, with realistic till numbers, timestamps and customer names. Then I asked for twenty refund messages—ten in English, ten in Swahili—explaining why the money was being returned and when it would hit the customer's M-Pesa account.
I ran the test over four days in February, using real transaction amounts and till numbers from my POS system, with customer names changed. By message thirty I knew which model handled Swahili without sounding like a government notice. By message sixty I had a clear winner for each job, and a cost breakdown I could actually use.
Claude Sonnet: the most natural Swahili, but you pay for it
Claude produced the best Swahili messages—warm, conversational, the kind of tone you'd use if you were typing the message yourself. When I asked it to confirm a KSh 1,200 payment for a phone case, it wrote: "Asante sana! Tumepokelewa KSh 1,200 kupitia M-Pesa kwa simu case yako. Till namba: 582947. Tutakupatia bidhaa kesho asubuhi." Clean, polite, no stiff phrasing.
The English receipts were just as good: clear amounts, correct till format, a line thanking the customer without overdoing it. Refund messages included the reason (faulty item, wrong colour, customer request), the amount, and a realistic timeline—"You'll see KSh 850 back in your M-Pesa account within 24 hours."
The problem is cost. At Kryotta's rates, Claude Sonnet costs about KSh 15 per hundred messages if you're generating short receipts and KSh 22 if you're doing longer refund explanations with a sentence or two of context. That's fine if you're sending twenty messages a week. If you're doing a hundred, it adds up.
I'd use Claude when the message matters—refunds where you need to sound apologetic and human, or confirmations going to a repeat customer who expects a bit of warmth. For bulk till receipts where the content is identical except for the amount and till number, it's overkill.
Gemini Flash: fast, cheap, decent English, awkward Swahili
Gemini Flash is the model I wanted to love. It's fast, costs about KSh 4 per hundred messages, and the English receipts were perfectly usable: "Thank you for your payment of KSh 3,200 via M-Pesa. Till number: 582950. Your order will be ready for collection tomorrow."
The Swahili, though, felt like it had been written by someone who learned the language from a textbook and never actually spoke it. One receipt read: "Tunakushukuru kwa malipo yako ya KSh 950 kupitia M-Pesa. Nambari ya till: 582948. Bidhaa yako itakuwa tayari kesho." Grammatically fine, but stiff. No one I know would write "tunakushukuru" in a WhatsApp message; they'd say "asante" or "ahsante sana."
Refund messages were worse. Gemini kept using formal constructions—"tunaomba radhi kwa usumbufu"—when a simple "pole sana" would do. One message included the phrase "kwa sababu za kiufundi," which is technically correct but sounds like a government memo, not a shop owner explaining why a charger didn't work.
I'd use Gemini for English-only receipts when cost matters more than personality, or when you're generating a hundred messages at once and need them done in two minutes. For Swahili, only if you're willing to edit every message before you send it.
DeepSeek V3: surprisingly good Swahili, occasional weird till-number formats
DeepSeek was the surprise. I'd heard it was strong on non-English languages, and the Swahili receipts were better than Gemini's—less formal, closer to how people actually write. One confirmation said: "Ahsante! Tumepokea KSh 2,100 kwa earbuds. Till: 582951. Tunakupatia leo jioni." Natural, friendly, no stiff phrasing.
The problem showed up in about one message in ten: DeepSeek would format the till number inconsistently. Most messages used "Till: 582951" or "Till namba: 582951," but a handful wrote "Till#582951" or "Till-582951." Not a disaster, but annoying if you're pasting these into WhatsApp Business and want them to look consistent.
Refund messages were solid. DeepSeek included the reason, the amount, and a realistic timeline without sounding robotic: "Pole sana, charger ilikuwa na hitilafu. Tutarudisha KSh 650 kwa M-Pesa yako ndani ya saa 24." One message used "hitilafu" instead of "kasoro," which is fine—both work, though "kasoro" is slightly more common in Nairobi.
Cost: about KSh 2 per hundred messages, the cheapest of the three. I'd use DeepSeek for bulk Swahili receipts where you're willing to spot-check the till format, or when you're generating fifty messages at once and need them to sound human without spending KSh 20.
The cost breakdown: what you'll actually pay per hundred messages
Here's what I spent generating sixty messages across the three models, averaged out to a per-hundred rate:
| Model | Cost per 100 receipts | Cost per 100 refunds | Swahili quality | Till format consistency |
|---|---|---|---|---|
| Claude Sonnet 4.5 | KSh 15 | KSh 22 | Excellent | Perfect |
| Gemini Flash | KSh 4 | KSh 6 | Stiff, formal | Perfect |
| DeepSeek V3 | KSh 2 | KSh 3 | Good, natural | Occasional slip |
Receipts are shorter—one or two sentences, the amount, the till number, maybe a line about collection. Refunds are longer because you're explaining what went wrong and when the money will arrive. That's why the per-hundred cost jumps for Claude and Gemini on refunds; DeepSeek stays cheap because the input and output tokens are both low.
If you're sending five messages a day, the difference between KSh 2 and KSh 15 per hundred is negligible—you'll spend KSh 3 to KSh 8 a month. If you're doing thirty messages a day, it's the difference between KSh 18 and KSh 135 a month, and that's worth thinking about.
When to use which model (my current workflow)
I keep all three models open in Kryotta and switch depending on the message type and language.
Claude Sonnet for Swahili refund messages, or any receipt going to a customer I've dealt with before and want to keep happy. The tone is warm, the phrasing is natural, and I don't edit anything before I send it. Worth the extra KSh 10–15 a month.
DeepSeek V3 for bulk Swahili till receipts—twenty confirmations on a Saturday afternoon, all the same except for the amount and till number. I spot-check the till format in the first three messages, and if it's consistent, I paste the rest straight into WhatsApp Business. Costs almost nothing.
Gemini Flash for English-only receipts when I need a hundred messages in two minutes and don't care about personality. I used it last month to generate confirmations for a bulk order of phone cases that went to a chama treasurer; she just needed proof of payment, not a friendly note.
I don't use Gemini for Swahili anymore. The cost saving isn't worth the stiff phrasing, and I got tired of rewriting "tunakushukuru" to "asante" before I hit send.
The one thing all three models got wrong (and how I fixed it)
None of the models knew how to handle M-Pesa transaction codes. When I asked for a receipt that included the M-Pesa confirmation code, Claude invented a ten-digit code that looked plausible but wasn't real, Gemini wrote "M-Pesa code: [XXXXXXXXXX]" and left it as a placeholder, and DeepSeek just skipped the line entirely.
I fixed this by changing my prompt. Instead of asking the model to generate a full receipt with the M-Pesa code, I asked it to leave a blank space labelled "M-Pesa code:" and I fill it in manually from the SMS notification. Takes five seconds, and I never send a receipt with a fake code.
The other thing to watch: all three models default to polite, slightly formal language unless you tell them not to. My first batch of DeepSeek receipts said "Tunakushukuru kwa ununuzi wako," which is fine but longer than I'd write. I added "keep it short and casual, like a WhatsApp message from a friend" to the prompt, and the next batch said "Ahsante!" instead. Much better.
Questions people ask
Can I use these models to generate receipts in Kikuyu or Luo?
I tested Claude with a few Kikuyu prompts, and it produced grammatically plausible text, but I'm not fluent enough to judge whether it sounds natural. If you're writing in a language where you can't spot errors, ask a native speaker to check the first ten messages before you send a hundred.
What if my till number changes every day?
Include the till number in your prompt as a variable. I write: "Generate a receipt for [customer name], KSh [amount], till number [number], paid today at [time]." The model fills in the brackets with whatever I give it. In Kryotta you can save this as a prompt template and reuse it.
Do I need to edit every message before I send it?
With Claude, no—I send them as-is. With DeepSeek, I spot-check the first three for till format, then send the rest. With Gemini in Swahili, yes, every time, which is why I stopped using it for Swahili.
How long does it take to generate a hundred messages?
About ninety seconds in Kryotta if you're using a saved prompt template and pasting in a list of names and amounts. The models themselves respond in two to four seconds; the time comes from copying each message into WhatsApp Business.
I've been using this workflow for six weeks, and I haven't copied and pasted from a Notes file once. The messages go out faster, they sound better, and I'm not staying up late on a Sunday fixing a receipt I sent with the wrong till number three days earlier. If you're sending M-Pesa confirmations or refund notes to Kenyan customers and you're still doing it by hand, try Kryotta—pick the model that fits your budget and language, write one good prompt, and let it handle the repetitive part while you run the shop.



