Arbitrage salaire ou dividende

L’arbitrage entre rémunération et dividende est une question centrale pour tout dirigeant de société soumise à l’IS. Ce simulateur compare le coût global (charges sociales, impôt sur le revenu, IS, prélèvements sociaux) de chaque option selon le statut du dirigeant (assimilé salarié ou travailleur non salarié), et détermine la répartition optimale entre salaire et dividende pour minimiser la charge fiscale et sociale globale tout en préservant la protection sociale et les droits à la retraite. Un outil incontournable pour les chefs d’entreprise et gérants majoritaires souhaitant optimiser la structuration de leurs revenus.

.focs-sim { --focs-bleu: #023170; --focs-bleu-80: #355A8D; --focs-bleu-60: #6782AA; --focs-bleu-40: #9AABC7; --focs-bleu-20: #CCD4E3; --focs-bleu-10: #E6EAF1; --focs-blanc: #FFFFFF; font-family: 'Montserrat', system-ui, -apple-system, sans-serif !important; font-weight: 400 !important; color: var(--focs-bleu) !important; background: var(--focs-blanc) !important; font-size: 0.875rem !important; line-height: 1.65 !important; -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; text-rendering: optimizeLegibility; padding: 0 !important; margin: 0 !important; box-sizing: border-box !important; } .focs-sim > * { margin-left: 0 !important; margin-right: 0 !important; padding-left: 0 !important; padding-right: 0 !important; } .focs-sim strong, .focs-sim b, .focs-sim small, .focs-sim span, .focs-sim td, .focs-sim th, .focs-sim p, .focs-sim li, .focs-sim label, .focs-sim div { color: var(--focs-bleu) !important; } .focs-sim *, .focs-sim *::before, .focs-sim *::after { color: var(--focs-bleu) !important; box-sizing: border-box !important; letter-spacing: normal !important; } .focs-sim .focs-slbl { font-size: 11px !important; font-weight: 600 !important; text-transform: uppercase !important; color: var(--focs-bleu) !important; margin: 40px 0 18px !important; padding-top: 0 !important; border-top: none !important; font-family: 'Montserrat', sans-serif !important; } .focs-sim .focs-r2 { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)) !important; gap: 24px !important; margin-bottom: 20px !important; } .focs-sim .focs-f { display: flex !important; flex-direction: column !important; gap: 6px !important; } .focs-sim .focs-f label { font-size: 10.5px !important; font-weight: 600 !important; color: var(--focs-bleu) !important; text-transform: uppercase !important; font-family: 'Montserrat', sans-serif !important; } .focs-sim .focs-f input, .focs-sim .focs-f select { font-size: 13.5px !important; font-family: 'Montserrat', sans-serif !important; padding: 9px 0 !important; border: 0 !important; border-bottom: 1px solid var(--focs-bleu) !important; background: transparent !important; color: var(--focs-bleu) !important; outline: none !important; -webkit-appearance: none !important; appearance: none !important; transition: border-color 0.2s ease !important; width: 100% !important; } .focs-sim .focs-f input:focus, .focs-sim .focs-f select:focus { border-bottom-color: var(--focs-bleu) !important; } .focs-sim .focs-f select { padding-right: 24px !important; cursor: pointer !important; } .focs-sim .focs-ck { display: flex !important; align-items: flex-start !important; gap: 12px !important; padding: 6px 0 !important; background: transparent !important; border: none !important; font-size: 13px !important; color: var(--focs-bleu) !important; margin-bottom: 4px !important; cursor: pointer !important; font-family: 'Montserrat', sans-serif !important; } .focs-sim .focs-ck:hover { background: transparent !important; } .focs-sim .focs-ck input[type="checkbox"] { appearance: none !important; -webkit-appearance: none !important; width: 16px !important; height: 16px !important; border: 1px solid var(--focs-bleu) !important; background: var(--focs-blanc) !important; cursor: pointer !important; flex-shrink: 0 !important; margin-top: 2px !important; transition: all 0.15s ease !important; position: relative !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; } .focs-sim .focs-ck input[type="checkbox"]:checked { background: var(--focs-bleu) !important; border-color: var(--focs-bleu) !important; } .focs-sim .focs-ck input[type="checkbox"]:checked::after { content: "\eb7b"; font-family: 'remixicon' !important; font-style: normal !important; font-weight: normal !important; color: var(--focs-blanc) !important; font-size: 14px !important; line-height: 1 !important; position: absolute !important; top: 50% !important; left: 50% !important; transform: translate(-50%, -50%) !important; } .focs-sim .focs-ck-d { font-size: 11px !important; color: var(--focs-bleu) !important; margin-top: 5px !important; line-height: 1.5 !important; font-family: 'Montserrat', sans-serif !important; } .focs-sim .focs-f-d { font-size: 11px !important; color: var(--focs-bleu) !important; line-height: 1.5 !important; font-family: 'Montserrat', sans-serif !important; margin-top: -2px !important; margin-bottom: 4px !important; font-weight: 400 !important; } .focs-sim .focs-btn { width: 100% !important; padding: 16px 20px !important; font-size: 11.5px !important; font-weight: 600 !important; text-transform: uppercase !important; background: var(--focs-bleu) !important; color: var(--focs-blanc) !important; border: none !important; border-radius: 0 !important; cursor: pointer !important; margin-top: 36px !important; transition: opacity 0.2s ease !important; font-family: 'Montserrat', sans-serif !important; } .focs-sim .focs-btn:hover { opacity: 0.85 !important; } .focs-sim .focs-res { margin-top: 56px !important; } .focs-sim .focs-kg { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)) !important; gap: 32px !important; margin-bottom: 48px !important; } .focs-sim .focs-kc { background: var(--focs-blanc) !important; border: none !important; padding: 4px 0 8px !important; } .focs-sim .focs-kl { font-size: 10.5px !important; font-weight: 600 !important; text-transform: uppercase !important; color: var(--focs-bleu) !important; margin-bottom: 10px !important; font-family: 'Montserrat', sans-serif !important; } .focs-sim .focs-kv { font-family: 'Abhaya Libre', serif !important; font-size: 26px !important; font-weight: 400 !important; color: var(--focs-bleu) !important; line-height: 1.1 !important; } .focs-sim .focs-ks { font-size: 11px !important; color: var(--focs-bleu) !important; margin-top: 6px !important; font-family: 'Montserrat', sans-serif !important; } .focs-sim .focs-cd { background: var(--focs-blanc) !important; border: none !important; padding: 8px 0 8px !important; margin-bottom: 40px !important; } .focs-sim .focs-ct { font-size: 12px !important; font-weight: 600 !important; text-transform: uppercase !important; color: var(--focs-bleu) !important; margin-bottom: 18px !important; font-family: 'Montserrat', sans-serif !important; } .focs-sim .focs-ri { display: flex !important; justify-content: space-between !important; align-items: baseline !important; padding: 9px 0 !important; border-bottom: 1px solid var(--focs-bleu) !important; font-size: 13px !important; gap: 12px !important; font-family: 'Montserrat', sans-serif !important; } .focs-sim .focs-ri:last-child { border-bottom: none !important; } .focs-sim .focs-rl { color: var(--focs-bleu) !important; flex: 1 !important; font-family: 'Montserrat', sans-serif !important; } .focs-sim .focs-rv { font-weight: 500 !important; color: var(--focs-bleu) !important; white-space: nowrap !important; font-family: 'Montserrat', sans-serif !important; } .focs-sim .focs-al { border: none !important; padding: 6px 0 !important; font-size: 12px !important; line-height: 1.65 !important; margin: 12px 0 16px !important; background: var(--focs-blanc) !important; color: var(--focs-bleu) !important; font-family: 'Montserrat', sans-serif !important; font-style: italic !important; } .focs-sim .focs-ot { width: 100% !important; border-collapse: collapse !important; font-size: 12.5px !important; margin-top: 16px !important; font-family: 'Montserrat', sans-serif !important; } .focs-sim .focs-ot th { font-size: 10.5px !important; font-weight: 600 !important; text-transform: uppercase !important; color: var(--focs-bleu) !important; padding: 12px 12px !important; background: var(--focs-blanc) !important; text-align: left !important; border-bottom: 1px solid var(--focs-bleu) !important; } .focs-sim .focs-ot td { padding: 11px 12px !important; border-bottom: 1px solid var(--focs-bleu) !important; vertical-align: middle !important; } .focs-sim .focs-ot tr:last-child td { border-bottom: none !important; } .focs-sim .focs-ot .focs-best td { background: var(--focs-blanc) !important; font-weight: 600 !important; color: var(--focs-bleu) !important; border-bottom: 1px solid var(--focs-bleu) !important; } .focs-sim .focs-lbo2 { display: grid !important; grid-template-columns: 1fr 1fr !important; gap: 20px !important; margin: 20px 0 !important; } .focs-sim .focs-lbc { background: var(--focs-blanc) !important; border: none !important; padding: 4px 0 8px !important; } .focs-sim .focs-lbh { font-size: 11.5px !important; font-weight: 600 !important; text-transform: uppercase !important; color: var(--focs-bleu) !important; margin-bottom: 14px !important; font-family: 'Montserrat', sans-serif !important; } .focs-sim .focs-tpsch { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 10px !important; padding: 16px 0 8px !important; } .focs-sim .focs-tpsn { border: 1px solid var(--focs-bleu) !important; padding: 14px 22px !important; min-width: 260px !important; text-align: left !important; background: var(--focs-blanc) !important; font-family: 'Montserrat', sans-serif !important; } .focs-sim .focs-tpsn-main { background: var(--focs-bleu) !important; border-color: var(--focs-bleu) !important; } .focs-sim .focs-tpsn-main .focs-tpsnl, .focs-sim .focs-tpsn-main .focs-tpsnn, .focs-sim .focs-tpsn-main .focs-tpsnd { color: var(--focs-blanc) !important; } .focs-sim .focs-tpsnl { font-size: 10px !important; text-transform: uppercase !important; color: var(--focs-bleu-60) !important; margin-bottom: 6px !important; font-weight: 600 !important; } .focs-sim .focs-tpsnn { font-family: 'Abhaya Libre', serif !important; font-size: 19px !important; color: var(--focs-bleu) !important; line-height: 1.1 !important; margin-bottom: 4px !important; } .focs-sim .focs-tpsnd { font-size: 11.5px !important; color: var(--focs-bleu-80) !important; line-height: 1.5 !important; } @media (max-width: 1024px) { .focs-sim .focs-r2 { grid-template-columns: 1fr !important; } .focs-sim .focs-kg { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; } } @media (max-width: 768px) { .focs-sim .focs-kg { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; } .focs-sim .focs-lbo2 { grid-template-columns: 1fr !important; } }
Résultat de la société et statut du dirigeant
Résultat de l'exercice avant versement de la rémunération du dirigeant et avant IS
Détermine l'assiette et le niveau des cotisations sociales sur la rémunération
Gérant majoritaire SARL (TNS)Président SAS (assimilé salarié)Gérant minoritaire (assimilé salarié)
Rémunération brute de gérance / présidence prélevée sur le résultat
Montant distribué en dividende, plafonné au résultat net après IS
Paramètres fiscaux
Tranche marginale du barème de l'IR applicable au foyer fiscal
30 %41 %45 %
15 % sur les 42 500 € premiers de bénéfice PME · 25 % en droit commun
25 % - droit commun15 % - taux réduit PME
PFU 30 % (12,8 % IR + 17,2 % PS) ou barème progressif avec abattement 40 %
PFU 30 %Barème IR (abattement 40 %)

L'affichage du calendrier nécessite votre consentement préalable pour l'activation des cookies liés à Calendly.

Modifier ce paramètre
(function(){ const root = document.querySelector('.focs-sad'); const $ = id => root.querySelector('#'+id); const v = id => parseFloat($(id).value.replace(/[^0-9,-]/g,'').replace(',','.'))||0; const vb = id => $(id).checked; const vs = id => $(id).value; const fmt = n => Math.round(n).toLocaleString('fr-FR')+' €'; const pct2 = n => (n*100).toFixed(2).replace('.',',')+' %'; const pct1 = n => (n*100).toFixed(1).replace('.',',')+' %'; const pct0 = n => Math.round(n*100)+' %'; const CAL_SLUG = '/d/ctrz-9cg-sfd/rendez-vous-decouverte';function formatFrenchNumber(el){ const raw = String(el.value).replace(/[^0-9,.-]/g,'').replace(',','.'); const n = parseFloat(raw); if(isNaN(n)||raw===''){el.value='';return;} el.value = Math.round(n).toLocaleString('fr-FR'); } function unformatFrenchNumber(el){ el.value = String(el.value).replace(/\s/g,'').replace(/[^\d,.-]/g,'').replace(',','.'); } root.querySelectorAll('.focs-num').forEach(el => { formatFrenchNumber(el); el.addEventListener('focus', function(){ unformatFrenchNumber(this); }); el.addEventListener('blur', function(){ formatFrenchNumber(this); }); }); function buildHtml(id,html){ const el=$(id); el.style.display='block'; el.innerHTML=html; }function calc(){ const rar=v('sad_rar'), ps=v('sad_ps'), pd=v('sad_pd'); const st=vs('sad_st'), tmi=v('sad_tmi')/100, tIS=v('sad_is')/100, od=vs('sad_od');let patr, sal, statLbl, retraiteLbl; if(st==='tns'){ patr=0.45; sal=0; statLbl='Gérant majoritaire SARL (TNS)'; retraiteLbl='Régime TNS - cotisations vieillesse plus faibles, à compléter par retraite Madelin / PER'; } else if(st==='sas'){ patr=0.54; sal=0.28; statLbl='Président SAS (assimilé salarié)'; retraiteLbl='Régime général + Agirc-Arrco - meilleure couverture retraite mais coût social élevé'; } else { patr=0.54; sal=0.28; statLbl='Gérant minoritaire (assimilé salarié)'; retraiteLbl='Régime général + Agirc-Arrco - meilleure couverture retraite mais coût social élevé'; }const salaire = Math.max(0, ps); const chargesPatr = salaire*patr; const chargesSal = salaire*sal; const chargesSociales = chargesPatr + chargesSal; const coutTotalSalaire = salaire + chargesPatr; const resApresSalaire = Math.max(0, rar - coutTotalSalaire); const isRestant = resApresSalaire * tIS; const netSalaireAvantIR = Math.max(0, salaire - chargesSal); const irSalaire = netSalaireAvantIR * 0.9 * tmi; const netDispoSalaire = netSalaireAvantIR - irSalaire;const isSurResultat = rar * tIS; const resNetApresIS = Math.max(0, rar - isSurResultat); const divBrut = Math.min(Math.max(0,pd), resNetApresIS); const taxesPFU = divBrut * 0.30; const psBareme = divBrut * 0.172; const assietteIR = divBrut * 0.60; const irBareme = assietteIR * tmi; const taxesBareme = psBareme + irBareme; const taxesDiv = od==='pfu' ? taxesPFU : taxesBareme; const netDispoDiv = divBrut - taxesDiv; const netPFU = divBrut - taxesPFU; const netBareme = divBrut - taxesBareme; const bestDivOpt = taxesPFU 0 ? coutGlobalSalaire/rar : 0; const tauxEffDiv = rar>0 ? coutGlobalDiv/rar : 0;const salaireMieux = netDispoSalaire >= netDispoDiv; const meilleureOpt = salaireMieux ? 'Salaire' : 'Dividende'; const economie = Math.abs(netDispoSalaire - netDispoDiv);const grossPerEuro = 1/(1+patr); const netDivRate = (1-tIS)*0.70; let tmiSeuil = (1 - netDivRate/(grossPerEuro*(1-sal)))/0.9; let seuilTxt; if(!isFinite(tmiSeuil) || tmiSeuil=1){ seuilTxt='À tout niveau de TMI, le salaire reste plus efficient dans cette configuration.'; } else { seuilTxt='Seuil d\'indifférence indicatif : au-delà d\'un TMI de '+pct1(tmiSeuil)+', l\'euro de résultat est mieux valorisé en dividende (PFU) qu\'en salaire.'; }let h=`
Net disponible salaire
${fmt(netDispoSalaire)}
Après charges et IR sur ${fmt(salaire)}
Net disponible dividende
${fmt(netDispoDiv)}
Option ${od==='pfu'?'PFU 30 %':'barème IR'} sur ${fmt(divBrut)}
Meilleure option
${meilleureOpt}
Net perçu le plus élevé
Économie
${fmt(economie)}
Écart de net entre les deux voies
`;h+=`
Scénario salaire - ${statLbl}
Net disponible${fmt(netDispoSalaire)}
Coût pour la société${fmt(coutTotalSalaire)}
Taux effectif de friction${pct1(tauxEffSalaire)}
Scénario dividende - ${od==='pfu'?'PFU 30 %':'Barème IR'}
Net disponible${fmt(netDispoDiv)}
Coût pour la société (IS)${fmt(isSurResultat)}
Taux effectif de friction${pct1(tauxEffDiv)}
`;h+=`
Décomposition - voie salaire
Salaire brut affecté${fmt(salaire)}
Charges patronales (${pct0(patr)})${fmt(chargesPatr)}
Charges salariales (${pct0(sal)})${fmt(chargesSal)}
Coût total pour la société${fmt(coutTotalSalaire)}
Résultat restant après salaire${fmt(resApresSalaire)}
IS sur le résultat restant (${pct0(tIS)})${fmt(isRestant)}
Net avant IR (après charges salariales)${fmt(netSalaireAvantIR)}
IR sur salaire (abattement 10 % × TMI ${pct0(tmi)})${fmt(irSalaire)}
Net disponible salaire${fmt(netDispoSalaire)}
`;h+=`
Décomposition - voie dividende
Résultat avant rémunération${fmt(rar)}
IS sur le résultat (${pct0(tIS)})${fmt(isSurResultat)}
Résultat net distribuable après IS${fmt(resNetApresIS)}
Dividende brut distribué${fmt(divBrut)}
Fiscalité retenue (${od==='pfu'?'PFU 30 %':'barème IR'})${fmt(taxesDiv)}
Net disponible dividende${fmt(netDispoDiv)}
`;h+=`
Option d'imposition du dividende - PFU vs barème
<tr class="${taxesPFU <tr class="${taxesBareme
OptionAssiette IRIRPrélèvements sociauxTotal prélèvementsNet
PFU 30 %
12,8 % IR + 17,2 % PS
${fmt(divBrut)}${fmt(divBrut*0.128)}${fmt(divBrut*0.172)}${fmt(taxesPFU)}${fmt(netPFU)}
Barème IR
Abattement 40 % × TMI ${pct0(tmi)} + 17,2 % PS
${fmt(assietteIR)}${fmt(irBareme)}${fmt(psBareme)}${fmt(taxesBareme)}${fmt(netBareme)}
`;h+=`
Synthèse comparative de l'arbitrage
Voie de rémunérationCoût sociétéCoût global des prélèvementsTaux effectif / résultatNet dirigeant
Salaire
${statLbl}
${fmt(coutTotalSalaire)}${fmt(coutGlobalSalaire)}${pct1(tauxEffSalaire)}${fmt(netDispoSalaire)}
Dividende
${od==='pfu'?'PFU 30 %':'Barème IR'}
${fmt(isSurResultat)}${fmt(coutGlobalDiv)}${pct1(tauxEffDiv)}${fmt(netDispoDiv)}
`;h+=`
Option la plus avantageuse : ${meilleureOpt}. Écart de net disponible de ${fmt(economie)} en faveur de cette voie, à structure de répartition inchangée. Pour le dividende, l'option la plus efficiente est le ${bestDivOpt} (net ${fmt(bestDivNet)}).
`; h+=`
${seuilTxt}
`; h+=`
Impact retraite : ${retraiteLbl}. Le dividende ne génère aucun droit à la retraite ni couverture sociale ; une part de salaire reste nécessaire pour valider des trimestres et ouvrir la prévoyance.
`; h+=`
Hypothèses : cotisations sociales forfaitaires (TNS ≈ 45 %, assimilé salarié ≈ 82 % dont ≈ 54 % patronales et ≈ 28 % salariales), prélèvements sociaux sur dividendes de 17,2 %, abattement salarial de 10 %. En option barème, la CSG déductible de 6,8 % s'impute sur les revenus de l'année suivante (non intégrée ici). PFU : art. 200 A CGI. Simulation indicative, hors CEHR, plafonnements et particularités du foyer.
`;buildHtml('sad_r',h); }$('sad-calc-btn').addEventListener('click', calc); })();

Nos derniers simulateurs :

Démembrement du contrat de capitalisation
Voir ce simulateur
Capitalisation ou assurance-vie
Voir ce simulateur
Clause bénéficiaire démembrée
Voir ce simulateur

RESSOURCES