Insurance recurring payment: why 68% of SN insurtechs fail
Senegal has 5.2 million health insurance subscribers (CNSS, IPM, private mutuals) in 2026 and growing auto + life + business insurance +12% / year. Yet most insurtechs launched since 2022 (Janngo Assur, AfriPay Insure, Coris Mobile Assur) have struggled. Diagnosis:
- 38%: regulatory compliance poorly anticipated (CIMA + BCEAO)
- 25%: recurring payment failure rate > 22% (insufficient Wave/Orange provisions)
- 18%: grace period poorly managed (customer loss vs revenue loss)
- 19%: other (UX, market)
Here is how to architect insurance recurring payment that holds in 2026.
H2: Recurring payment architecture
Wave SaveAndCharge pattern.
\\\`ts
// 1. Initial mandate at subscription
const mandate = await waveBusiness.mandates.create({
customer_phone: '+221771234567',
product: 'assur_sante_premium',
amount_max_per_charge: 35_000, // monthly cap
frequency: 'monthly',
start_date: '2026-06-15',
end_date: '2027-06-15', // 12 months
});
// 2. Automatic monthly charge (cron D+1 each month)
async function chargeMonthlyPremium(subscription: Subscription) {
try {
const charge = await waveBusiness.charges.createFromMandate({
mandate_id: subscription.waveMandateId,
amount: subscription.monthlyAmount,
reference: \PREMIUM-\${subscription.id}-\${month}\,
});
await markPaid(subscription, charge);
} catch (err) {
await handleFailedCharge(subscription, err);
}
}
\\\`
Stripe Billing pattern.
For international cards (diaspora or expats): standard Stripe Subscriptions API. Smart Retries natively handled by Stripe.
\\\`ts
const subscription = await stripe.subscriptions.create({
customer: customer.id,
Need a professional website?
Kolonell builds websites that attract clients, optimized for the Sénégalese market. Free quote in 2 minutes.
items: [{ price: 'price_assur_sante_monthly_35k_xof' }],
collection_method: 'charge_automatically',
payment_behavior: 'allow_incomplete',
});
\\\`
H2: Payment failure management (the deadly trap)
Typical Wave/Orange monthly failure rate: 8-18% (insufficient balance, expired mandate, changed number). Without strategy: 25-40% year-1 churn.
Standard retry sequence.
| Day | Action |
|---|---|
| D+0 | Initial failure. SMS + WhatsApp client: "Top up Wave before D+3" |
| D+1 | Auto retry 10am |
| D+2 | Auto retry 2pm + WhatsApp reminder |
| D+3 | Auto retry 9am + email + phone call (insurtech > 50 KFCFA) |
| D+4 | Grace period starts (coverage maintained) |
| D+10 | Last retry + grace end D+15 notification |
| D+15 | Coverage suspension (customer + insurer notification) |
| D+30 | Contract termination (if still unpaid) |
Typical recovery rate: 65-78% recovered before D+15. Grace period 10-15 days = CIMA standard.
H2: CIMA + BCEAO compliance
CIMA (Inter-African Insurance Markets Conference).
- Subscription: mandatory pre-contractual information (coverage, exclusions, premium, duration, 14-day withdrawal period)
- Debit: electronically signed mandate (CIMA 2026 SMS OTP signature sufficient)
- Suspension: minimum 10-day notice before coverage suspension
- Termination: 30-day notice, pro-rata refund of unused premium
BCEAO.
- Recurring payments > 50 KFCFA: full KYC mandatory (NIN + ID photo + selfie)
- SMS notification each debit (UEMOA payments law 2024)
- Customer dispute period: 60 days after debit (chargeback)
H2: Unit economics (health insurance 35 K FCFA/month)
| Item | Monthly FCFA | Annual FCFA |
|---|---|---|
| Gross premium | 35,000 | 420,000 |
| Wave fees (1.5%) | 525 | 6,300 |
| Failure provision (8%) | 2,800 | 33,600 |
| Claims paid (loss ratio 65%) | 22,750 | 273,000 |
| Allocated acquisition (CAC amortized 24 months) | 4,500 | 54,000 |
| Gross margin | 4,425 | 53,100 |
LTV / CAC: for LTV (24 months × 4,425) = 106,200 FCFA, viable max CAC = 35-50 KFCFA. Beyond: non-viable model.
H2: SN player examples
Wave Insure (launched 2025). ASKIA Insurance partnership. Health insurance 25 KFCFA/month, auto Wave payment. 18,000 subscribers Q1 2026, 12%/year churn.
Coris Mobile Assur. Micro-life insurance (5 KFCFA/month, 1 M FCFA capital), Orange Money/Wave payment. 42,000 subscribers, 18%/year churn (low-income segment more volatile).
FAQ
Wave SaveAndCharge or Stripe Billing for insurance?
Wave SaveAndCharge if > 80% local SN customer base (mobile money, XOF). Stripe Billing if > 30% paying diaspora (international cards, EUR/USD). Hybrid architecture: automatic routing by customer location. Hybrid dev cost: 12-25 M FCFA.
What optimal grace period?
CIMA imposes minimum 10 days. Optimal 12-15 days by segment: health insurance (critical recovery, 15-day grace), auto insurance (10-day grace, immediate suspension after), micro-life insurance (7-10 day grace, high volume low tickets).
How to reduce payment failure rate?
4 levers: (1) debit at month start (customers just got paid), (2) D-2 notification "your 35 K debit will occur on the 1st", (3) multiple retry slots (morning + afternoon over 3-5 days), (4) loyalty cashback if 6 consecutive months without failure.
Insurer or intermediary?
For 95% of SN insurtechs: intermediary (broker or general agent). Min capital 100-300 M FCFA, 6-12 month CIMA dossier. Becoming an insurer: min capital 1 billion FCFA, 18-36 month dossier. Start as intermediary (partnership ASKIA, NSIA, SUNU, AXA), switch beyond 100 K subscribers.
How to manage pro-rata termination refunds?
CIMA law: pro-rata refund of unused premium by days. If customer terminates D+15 on 35 KFCFA month: refund (35,000 × 15/30) = 17,500 FCFA. Via Wave: immediate funds return. Via Stripe: partial API refund. Book as revenue reversal.
Let's discuss your insurance recurrence
If you are an insurtech or insurance company wanting to deploy Wave/Stripe monthly payment, we design the architecture + retry + grace + CIMA compliance. WhatsApp +221 77 596 93 33.
Mohamed Bah
Fondateur, Kolonell
Passionate about digital and entrepreneurship in Africa, Mohamed has been helping Sénégalese businesses with their digital transformation since 2020. Founder of Kolonell, he believes every SME deserves a professional and accessible online présence.

