Calculateur PAYE Rwanda

RRA progressive tax (0%–30%), RSSB social security (6% employée + 6% employer), and maternity contribution (0.3% employée + 0.3% employer). mensuel computation per RRA bands.

✦ Inclut le Conseiller IA RRA 2025/26 evidence RSSB · Maternity RWF · Rwandan Franc

Last verified: March 2025 · Source: RRA (rra.gov.rw) · Law No. 016/2024 · RSSB Act 2016

Voir aussi : Calculateur TVA Rwanda

2025/26 Key Facts: PAYE mensuel bands: RWF 0–60,000 at 0%, RWF 60,001–100,000 at 10%, RWF 100,001–200,000 at 20%, above RWF 200,000 at 30%. RSSB employée contribution 6% (deductible). Employer matches 6%. Maternity levy 0.3% employée + 0.3% employer. Law No. 027/2019 as amended.

Vos informations Rwandan Franc · RWF
Salaire Brut Mensuel RWF 500,000
RWF 50,000RWF 5,000,000
Ou entrez le montant mensuel exactAvant toute déduction
RWF
Déductions activesActiver / désactiver
Pension RSSB
6% salarié — deductible fiscalement
Secondary Employment
Taux fixe 30% no déductions

RSSB employée contribution (6%) is fully deductible from taxable income before PAYE is calculated. Employer RSSB (6%) is an additional cost shown in employer chart. No RSSB cap — applies to full gross salary.

Salaire Net Mensuel
RWF 0
After PAYE, RSSB & all déductions
Taux d'Imposition Effectif 0%

enregistrer this calculateur

Bookmark Rwanda PAYE to your personal dashboard for quick access anytime.

Comment le PAYE de Rwanda est calcule 2025/26

Rwanda's Pay As You Earn (PAYE) system is administered by the Rwanda Revenue Authority (RRA) and applies to all employment income earned in Rwanda. Employers must register with RRA, deduct PAYE mensuel, and remit it by the 15th of the following month via RRA's e-services portal. Rwanda's Impôt sur le Revenu Law (Law No. 016/2005 as amended) provides the legislative basis, with reforms under Law No. 016/2024 introducing important changes to RSSB pension rates phased in over 2025–2030.

Rwanda uses a four-band progressive tax structure applied mensuel. The first RWF 60,000 per month is completely tax-free. Income between RWF 60,001 and RWF 100,000 is taxed at 10%. Income between RWF 100,001 and RWF 200,000 is taxed at 20%. Above RWF 200,000 per month, tax is 30% on the excess. Employées also pay a 0.3% maternity levy on gross salary. Rwanda's rate structure is straightforward compared to East African peers.

The Rwanda Social Security Board (RSSB) pension contribution is the primary statutory déduction. From 1 January 2025, the mandatory rate is 12% of gross salary, split equally between employer and employée, so employées currently contribute 6% and employers match with 6%. The employée partager is fully tax-deductible before PAYE is calculated. The rate then stays at 12% through 2026 before scheduled increases to 14% in 2027, 16% in 2028, 18% in 2029, and 20% in 2030. A separate maternity leave contribution of 0.3% each is paid by employée and employer.

Rwanda has invested heavily in its tax administration infrastructure. The EBM (Electronic Billing Machine) system for VAT is one of the most advanced in East Africa. Rwanda's VAT rate is 18%, and the corporate tax rate is 30% (with preferential rates as low as 15% for qualifying companies). Rwanda is one of the fastest-growing économies in Sub-Saharan Africa and has emerged as a régional hub for business services and technology investment.

Rwanda PAYE Tranches d'Imposition 2025/26 (mensuel)

mensuel Band (RWF) Rate
0 – 60,0000%
60,001 – 100,00010%
100,001 – 200,00020%
200,001+30%
Rwanda Tax FAQ

Common PAYE Questions

Quelles sont les tranches PAYE du Rwanda pour 2025/26 ?

Four mensuel bands: 0% on first RWF 60,000; 10% on RWF 60,001–100,000; 20% on RWF 100,001–200,000; 30% above RWF 200,000. Applied mensuel against taxable income (after RSSB déduction). Employée maternity levy of 0.3% also deducted. Secondary employment taxed at flat 30% on gross.

Is RSSB contribution deductible from PAYE taxable income?

Yes — the employée's mandatory 6% RSSB pension contribution is fully deductible from gross pay before calculating PAYE. This reduces your taxable income and therefore your PAYE tax liability. The employer's matching 6% contribution is a separate employer cost, not deducted from your pay.

Qu'est-ce que la cotisation de congé maternite ?

The maternity leave contribution is 0.6% of gross mensuel salary in total, split equally between employée and employer at 0.3% each. The employée partager is deducted from pay and the employer partager is an additional employer cost. It funds statutory maternity leave benefits and applies to covered employers under Rwandan law.

Will RSSB contributions increase in the future?

Yes. The mandatory pension rate is 12% total from 1 January 2025 and remains at that level through 2026. The official schedule then increases the total rate to 14% in 2027, 16% in 2028, 18% in 2029, and 20% in 2030, split equally between employer and employée.

How is secondary employment taxed in Rwanda?

Income from a second job in Rwanda is generally withheld at a flat PAYE rate of 30% by the secondary employer. This prevents the progressive bands from being applied twice across two employers. Any separate statutory social contributions still need to be handled through payroll where applicable.

Quand les employeurs doivent-ils reverser le PAYE a la RRA ?

PAYE must be filed and paid to RRA by the 15th of the month following the payroll month. RSSB contributions are also due by the 15th of the following month. Late payment attracts penalties and interest. Employers must file a mensuel PAYE return even for nil-tax months. File via RRA e-services portal (rra.gov.rw).

Preuves officielles

Sources et vérification

Ce calculateur sensible relie les sources officielles, la méthode, les cas de test et les limites utilisés pour vérifier les résultats affichés.

Dernière vérification 2026-03-28

Calculateur - risque élevé - Audit des sources AfroTools

Sources officielles

Loi, règlement ou version

Tranches d’impôt PAYE et retenues légales affichées sur la page du calculateur.

Méthode de calcul

Le calculateur annualise le salaire lorsque nécessaire, applique les retenues salariales modélisées, traite le revenu imposable selon les tranches PAYE du pays et déduit le PAYE et les retenues modélisées du salaire brut. Les lignes de coût employeur sont indicatives.

Limites connues

  • Estimation informative uniquement. Elle ne constitue pas un conseil fiscal, juridique, de paie ou de déclaration.
  • Les règles sectorielles, régionales, conventionnelles, d’allègement ou de régime spécial peuvent ne pas être entièrement modélisées.
  • Confirmez les obligations de déclaration, d’inscription et de paiement auprès de l’autorité officielle ou d’un conseiller qualifié avant toute soumission.

Cas de test

Entrée: Salaire brut annuel : 0.
Résultat attendu: Le PAYE et les retenues légales doivent être nuls, et le salaire net ne doit pas être négatif.
Pourquoi: Établit le cas de référence sans revenu et détecte les régressions produisant une dette négative.

Entrée: Salaire brut annuel saisi dans la devise de la page.
Résultat attendu: Le revenu imposable est traité selon les tranches visibles du pays, et le salaire net correspond au salaire brut moins les retenues modélisées.
Pourquoi: Confirme que le calculateur applique la méthode documentée plutôt qu’une estimation forfaitaire opaque.

Historique des modifications

  • 2026-05-02: Ajout du panneau de confiance et de vérification avec sources, méthode, limites et lien de signalement.

Les calculateurs AfroTools sont des outils d’aide à la décision. Confirmez toujours les obligations de déclaration, d’inscription et de paiement auprès de l’autorité liée ou d’un conseiller local qualifié.

Signaler une erreur de calcul
`; const blob = new Blob([html],{type:'text/html;charset=utf-8'}); const url = URL.createObjectURL(blob); const w = window.open(url,'_blank'); if(w){ w.addEventListener('load',()=>{setTimeout(()=>{w.imprimer();setTimeout(()=>URL.revokeObjectURL(url),3000)},600)}); setTimeout(()=>{try{w.imprimer()}catch(e){}},1200); } } // ── WHATSAPP partager ─────────────────────────────────────────── function whatsappPartager() { if (!résultat) return; AfroTools.shareState.whatsappPartager({ headline: 'Mon salaire net', mainValue: 'RWF ' + Math.round(résultat.netMonthly).toLocaleString() + '/mo', subValues: [ { label: 'Gross', value: 'RWF ' + Math.round(résultat.gross).toLocaleString() + '/mo' }, { label: 'PAYE', value: 'RWF ' + Math.round(résultat.monthlyPAYE).toLocaleString() + '/mo' }, { label: 'Effective Rate', value: pct(résultat.effectiveRate) } ], toolId: 'rw-paye' }); } // ── partager ───────────────────────────────────────────────────── function shareResult() { if (!résultat) return; const text = `My Rwanda PAYE breakdown: Gross RWF ${Math.round(résultat.gross).toLocaleString()}/mo → Take-home RWF ${Math.round(résultat.netMonthly).toLocaleString()}/mo (${pct(résultat.effectiveRate)} effective rate). Calculated at afrotools.com/rwanda/rw-paye`; if (navigator.partager) { navigator.partager({title:'My Rwanda PAYE',text,url:'https://afrotools.com/rwanda/rw-paye'}); } else if (navigator.clipboard) { navigator.clipboard.writeText(text); const btn = document.getElementById('rwPartagerBtn'); btn.textContent = '✓ Copied!'; setTimeout(()=>btn.innerHTML=` Partager le résultat`,2500); } } // ── AI ADVISOR ──────────────────────────────────────────────── async function getAI() { if (!résultat) return; const R = résultat; const btn = document.getElementById('aiBtn'); const respEl = document.getElementById('aiResp'); btn.disabled = true; btn.textContent = 'Analysing…'; respEl.style.display = 'block'; respEl.className = 'ai-response typing'; respEl.textContent = ''; document.getElementById('aiStatus').style.display = 'none'; const prompt = `Rwanda PAYE analysis (2025/26, RRA, Law No. 016/2024): - mensuel gross: RWF ${Math.round(R.gross).toLocaleString()} - RSSB Pension employee (${pct(R.rssbRate)}): RWF ${Math.round(R.rssb).toLocaleString()}/mo - Taxable income after RSSB: RWF ${Math.round(R.gross - R.rssb).toLocaleString()}/mo - mensuel PAYE: RWF ${Math.round(R.monthlyPAYE).toLocaleString()} - mensuel take-home: RWF ${Math.round(R.netMonthly).toLocaleString()} - Effective tax rate: ${pct(R.effectiveRate)} - Secondary employment: ${R.isSecondary ? 'YES — flat 30% applied' : 'No'} - Employer RSSB (6%): RWF ${Math.round(R.empRssb).toLocaleString()}/mo - Employer maternity (0.3%): RWF ${Math.round(R.maternity).toLocaleString()}/mo - Total employer cost: RWF ${Math.round(R.totalEmployerCostMonthly).toLocaleString()}/mo Give: 1) Plain English summary of PAYE position 2) Two specific legal ways to reduce Rwanda tax liability (RSSB deductibility, approved pension deductions, approved housing benefit) 3) One RRA compliance point to know 4) One thing most Rwandan employees get wrong about RSSB or maternity. Under 200 words. No markdown, no asterisks, no bullet symbols.`; try { const res = await fetch('/.netlify/functions/ai-advisor', { method:'POST', headers:{'Content-Type':'application/json'}, body: JSON.stringify({ system:'You are AfroTools AI Tax Advisor specialising in Rwandan PAYE — RRA progressive tax, RSSB, maternity contribution, Impôt sur le revenu Law No. 016/2024. Be concise, specific, practical. No markdown, no asterisks.', messages:[{role:'user',content:prompt}] }) }); if(!res.ok) throw new erreur('HTTP '+res.status); const data = await res.json(); const text = data.text || 'Unable to generate analysis.'; respEl.className = 'ai-response'; respEl.textContent = ''; let i = 0; const type = () => { if(i${msg.replace(//g,'>')}`; const aiEl = document.createElement('div'); aiEl.className = 'msg a'; aiEl.textContent = '…'; msgs.appendChild(aiEl); msgs.scrollTop = msgs.scrollHeight; CHAT_HISTORY.push({role:'user',content:msg}); try { const res = await fetch('/.netlify/functions/ai-advisor',{ method:'POST',headers:{'Content-Type':'application/json'}, body:JSON.stringify({ system:`AfroTools AI Tax Advisor, Rwanda. User: gross RWF ${Math.round(R.gross).toLocaleString()}/mo, take-home RWF ${Math.round(R.netMonthly).toLocaleString()}/mo, effective rate ${pct(R.effectiveRate)}. Concise. No markdown.`, messages:CHAT_HISTORY }) }); const data = await res.json(); const text = data.text || 'Unable to respond.'; aiEl.textContent = text; CHAT_HISTORY.push({role:'assistant',content:text}); msgs.scrollTop = msgs.scrollHeight; } catch { aiEl.textContent='Network erreur. Please try again.'; } } document.getElementById('grossSalary').addEventListener('keydown',e=>{if(e.key==='saisissez')calculer();}); // Net-to-Brut : register forward function window._grossToNet = function(g) { var d=isOn('rssb')?g*0.06:0;return g-(d+calcMonthlyPAYE(Math.max(0,g-d)).tax); };