Senegal PAYE
Calculator 2025

DGID progressive tax (0%–40%), CSS social security (5.6% employee). Annual computation per DGID bands.

✦ Includes AI Advisor DGID 2025 Verified CSS Social Security XOF · CFA Franc

Last verified: January 2025 · Source: DGID (dgid.sn) · Senegal Tax Code

2025 Key Facts: DGID bands: XOF 0–630,000 at 0%; XOF 630,001–1,500,000 at 20%; XOF 1,500,001–4,000,000 at 30%; XOF 4,000,001–8,000,000 at 35%; XOF 8,000,001–13,500,000 at 37%; above XOF 13,500,000 at 40%. CSS employee contribution 5.6%, tax-deductible.

Enter Your Details CFA Franc · XOF
Annual Gross Salary XOF 7,500,000
XOF 500,000XOF 100,000,000
Or type exact annual amountBefore any deductions
XOF
Active DeductionsToggle to include / exclude
CSS Social Security
5.6% employee — tax-deductible

CSS employee contribution (5.6%) is fully deductible from taxable income before DGID is calculated. This reduces your taxable income and therefore your DGID tax.

Annual Take-Home Pay
XOF 0
After DGID & all deductions
Effective Tax Rate 0%
Senegal Tax FAQ

Common PAYE Questions

What are the Senegal DGID tax bands for 2025?

Six annual bands: 0% on first XOF 630,000; 20% on XOF 630,001–1,500,000; 30% on XOF 1,500,001–4,000,000; 35% on XOF 4,000,001–8,000,000; 37% on XOF 8,000,001–13,500,000; 40% above XOF 13,500,000. These bands are applied annually against taxable income (after CSS deduction).

Is CSS contribution deductible from DGID taxable income?

Yes — the employee CSS contribution (5.6%) is fully deductible from gross pay before calculating DGID tax. This reduces your taxable income and therefore your DGID tax. The employer's CSS contribution is a separate employer cost.

What is the CSS in Senegal?

The Caisse de Sécurité Sociale (CSS) is the mandatory social security scheme in Senegal covering pensions, health insurance, and disability benefits. The employee contribution is 5.6% of gross salary, and this is fully tax-deductible.

When must employers remit DGID to tax authorities?

DGID taxes must be filed and paid quarterly or monthly depending on your tax bracket, with final settlement by March 15 of the following year. CSS contributions are typically remitted monthly to CSS. Check with DGID (dgid.sn) for your specific filing schedule.

More African Tax Tools

🇳🇬 Nigeria PAYE Calculator 🇰🇪 Kenya PAYE Calculator 🇬🇭 Ghana PAYE Calculator 🇿🇦 South Africa PAYE Calculator 🌍 Pan-African VAT Calculator 💱 African Currency Converter
`; 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.print();setTimeout(()=>URL.revokeObjectURL(url),3000)},600)}); setTimeout(()=>{try{w.print()}catch(e){}},1200); } } // ── SHARE ───────────────────────────────────────────────────── function shareResult() { if (!RESULT) return; const text = `My Senegal PAYE breakdown: Gross XOF ${Math.round(RESULT.gross).toLocaleString('fr-SN')}/yr → Take-home XOF ${Math.round(RESULT.netAnnual).toLocaleString('fr-SN')}/yr (${pct(RESULT.effectiveRate)} effective rate). Calculated at afrotools.com/senegal/sn-paye`; if (navigator.share) { navigator.share({title:'My Senegal PAYE',text,url:'https://afrotools.com/senegal/sn-paye'}); } else if (navigator.clipboard) { navigator.clipboard.writeText(text); const btn = document.getElementById('snShareBtn'); btn.textContent = '✓ Copied!'; setTimeout(()=>btn.innerHTML=` Share Result`,2500); } } // ── AI ADVISOR ──────────────────────────────────────────────── async function getAI() { if (!RESULT) return; const R = RESULT; 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 = `Senegal PAYE analysis (2025, DGID): - Annual gross: XOF ${Math.round(R.gross).toLocaleString('fr-SN')} - CSS employee (5.6%, tax-deductible): XOF ${Math.round(R.css).toLocaleString('fr-SN')}/yr - Taxable income after CSS: XOF ${Math.round(R.gross - R.css).toLocaleString('fr-SN')}/yr - Annual DGID: XOF ${Math.round(R.annualPAYE).toLocaleString('fr-SN')} - Annual take-home: XOF ${Math.round(R.netAnnual).toLocaleString('fr-SN')} - Effective tax rate: ${pct(R.effectiveRate)} - Employer CSS (9.4%): XOF ${Math.round(R.empCSS).toLocaleString('fr-SN')}/yr - Total employer cost: XOF ${Math.round(R.totalEmployerCostAnnual).toLocaleString('fr-SN')}/yr Give: 1) Plain English summary of DGID position 2) Two specific legal ways to reduce Senegal tax liability 3) One DGID compliance point to know. Under 200 words. No markdown, no asterisks.`; 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 Senegal DGID — progressive tax, CSS contributions. Be concise, specific, practical. No markdown, no asterisks.', messages:[{role:'user',content:prompt}] }) }); if(!res.ok) throw new Error('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}`; 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, Senegal. User: annual gross XOF ${Math.round(R.gross).toLocaleString('fr-SN')}, take-home XOF ${Math.round(R.netAnnual).toLocaleString('fr-SN')}, 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 error. Please try again.'; } } document.getElementById('grossSalary').addEventListener('keydown',e=>{if(e.key==='Enter')calculate();});