Capitalisation ou assurance-vie

Choisir entre un contrat de capitalisation et une assurance-vie dépend d’objectifs patrimoniaux précis : transmission, fiscalité successorale, IFI, ou stratégie de holding. Ce simulateur compare les deux enveloppes sur plusieurs critères clés : la fiscalité au dénouement, le traitement en cas de décès, l’éligibilité à l’IFI, et la possibilité de loger le contrat dans une société.

Le contrat de capitalisation, contrairement à l’assurance-vie, peut être souscrit par une personne morale et entre dans l’actif successoral, ce qui ouvre des possibilités de démembrement et de donation. L’assurance-vie conserve son avantage successoral hors succession sous conditions. Ce comparateur aide les épargnants et les dirigeants à arbitrer selon leur situation patrimoniale et leurs objectifs de transmission.

.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; } }
Capital et projection
Primes versées sur le contrat de capitalisation ou d'assurance-vie
Performance annuelle nette de frais de gestion, hors fiscalité
Durée de conservation avant rachat total du contrat
Retrait programmé prélevé chaque année sur la valeur du contrat
Profil du souscripteur
Détermine la mécanique fiscale : rachats (PP) ou IS annuel forfaitaire (PM)
Personne physiquePersonne morale (IS)
Fixe l'abattement annuel après 8 ans : 4 600 € (seul) ou 9 200 € (couple)
Personne seuleCouple (mariage / PACS)
Option barème progressif de l'IR (comparée au PFU, le plus favorable est retenu)
30 %41 %45 %

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-cav'); const $ = id => root.querySelector('#'+id); const v = id => parseFloat($(id).value.replace(/[^0-9,-]/g,'').replace(',','.'))||0; 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 toggleProfil(){ const pp = vs('cav_type')==='pp'; $('cav_wf_situation').style.display = pp?'flex':'none'; $('cav_wf_tmi').style.display = pp?'flex':'none'; $('cav_wf_is').style.display = pp?'none':'flex'; $('cav_wf_tme').style.display = pp?'none':'flex'; } $('cav_type').addEventListener('change', toggleProfil); toggleProfil();function calc(){ const M=v('cav_montant'); const r=v('cav_rdt')/100; const H=Math.max(1,Math.round(v('cav_horizon'))); const type=vs('cav_type'); const situ=vs('cav_situation'); const tmi=v('cav_tmi')/100; const tauxIS=v('cav_is')/100; const tme=v('cav_tme')/100; const rachat=v('cav_rachat'); const abatt8 = situ==='couple'?9200:4600; const A990 = 152500;function valAt(y){ let val=M; for(let i=0;i=8?abatt8:0; const pvImp=Math.max(0,gain-ab); const irRate = y>=8 ? (M<150000?0.075:0.128) : 0.128; const pfu=pvImp*(irRate+0.172); const bareme=pvImp*(tmi+0.172); const impot=Math.min(pfu,bareme); return {val,gain,ab,pvImp,irRate,pfu,bareme,impot,fav: pfu<=bareme?'PFU':'Barème'}; } function cumulIScapi(y){ let cum=0; for(let i=1;iya-b);let fiscAV, fiscCapi, valNetAV, valNetCapi, ecart;if(type==='pp'){ const t=taxAV(H); fiscAV=t.impot; valNetAV=VR-fiscAV; fiscCapi=t.impot; valNetCapi=VR-fiscCapi; ecart=valNetCapi-valNetAV;let h=`
Valeur du contrat à l'horizon
${fmt(VR)}
Brute, après ${H} an(s) à ${pct1(r)}
Fiscalité totale AV
${fmt(fiscAV)}
Rachat total · option ${t.fav}
Fiscalité totale capi
${fmt(fiscCapi)}
Fiscalité de rachat identique
Écart net capi − AV
${fmt(ecart)}
Neutre en personne physique
`;h+=`
Fiscalité du rachat après ${H} an(s) - personne physique
Montant investi (primes)${fmt(M)}
Valeur de rachat brute${fmt(VR)}
Plus-value totale${fmt(t.gain)}
Abattement ${H>=8?'après 8 ans':'(contrat < 8 ans)'} (${situ==='couple'?'couple':'personne seule'})${fmt(t.ab)}
Plus-value imposable${fmt(t.pvImp)}
Impôt PFU (${pct1(t.irRate)} IR + 17,2 % PS)${fmt(t.pfu)}
Impôt option barème (${pct0(tmi)} + 17,2 % PS)${fmt(t.bareme)}
Fiscalité retenue (plus favorable)${fmt(t.impot)} · ${t.fav}
Valeur nette après rachat${fmt(valNetAV)}
`;h+=`
Assurance-vie et contrat de capitalisation partagent la même fiscalité de rachat pour une personne physique : le taux d'IR de 7,5 % (art. 125-0 A CGI) suppose des primes nettes inférieures à 150 000 € ; au-delà, la fraction excédentaire relève de 12,8 %. L'abattement annuel de ${fmt(abatt8)} ne s'applique qu'après la 8e année.
`;h+=`
Assurance-vie vs contrat de capitalisation
EnveloppeFiscalité rachatValeur netteTransmissionAntériorité en cas de donation
Assurance-vie${fmt(fiscAV)}${fmt(valNetAV)}Hors succession - ${fmt(A990)} / bénéficiaire (art. 990 I CGI)Contrat dénoué au décès
Contrat de capitalisation${fmt(fiscCapi)}${fmt(valNetCapi)}Intégré à la succession (droit commun DMTG)Transmissible - conserve l'antériorité fiscale
`;h+=`
Projection annuelle - valeur nette après rachat total
`; sample.forEach(y=>{ const tt=taxAV(y); h+=``; }); h+=`
AnnéeValeur bruteNet assurance-vieNet capitalisation
${y} an(s)${fmt(tt.val)}${fmt(tt.val-tt.impot)}${fmt(tt.val-tt.impot)}
`;const reco = `Profil personne physique, horizon ${H} an(s), TMI ${pct0(tmi)}. La fiscalité de rachat est identique sur les deux enveloppes après 8 ans (abattement ${fmt(abatt8)}). L'assurance-vie est recommandée pour l'avantage transmission (${fmt(A990)} par bénéficiaire hors succession, art. 990 I CGI). Le contrat de capitalisation est préférable dès lors qu'une donation - avec conservation de l'antériorité fiscale et démembrement possible - est envisagée du vivant.`; h+=`
Recommandation
${reco}
`;h+=`
Hypothèses et points de vigilance
Rachats partiels retenus : ${fmt(rachat)} / an, soit ${fmt(cumRachats)} sur l'horizon ; la valeur de rachat brute est nette de ces retraits. La plus-value imposable est calculée sur la valeur finale, hypothèse simplificatrice (les rachats partiels antérieurs ont leur propre part de plus-value taxée au fil de l'eau).
Taux d'IR de 7,5 % au-delà de 8 ans réservé aux primes nettes < 150 000 € (art. 125-0 A, I-1 CGI) ; abattement annuel de 4 600 € (seul) / 9 200 € (couple) sur les seuls produits.
Assurance-vie : capital transmis hors succession dans la limite de 152 500 € par bénéficiaire (primes versées avant 70 ans, art. 990 I CGI). Contrat de capitalisation : transmissible par donation en conservant l'antériorité fiscale et la date de souscription.
Les deux enveloppes entrent dans l'assiette de l'IFI pour la fraction représentative d'actifs immobiliers (SCPI, unités de compte immobilières).
`;buildHtml('cav_r',h); return; }const cumIS=cumulIScapi(H); fiscCapi=cumIS; valNetCapi=VR-cumIS; const gainPM=Math.max(0,VR-M); const fiscAVtheo=gainPM*tauxIS; fiscAV=fiscAVtheo; valNetAV=VR-fiscAVtheo; ecart=valNetCapi-valNetAV; const produitAn1=valAt(1)*tme*1.05;let h=`
Valeur du contrat à l'horizon
${fmt(VR)}
Brute, après ${H} an(s) à ${pct1(r)}
Fiscalité totale AV
${fmt(fiscAV)}
Théorique - IS ${pct0(tauxIS)} à la sortie
Fiscalité totale capi
${fmt(fiscCapi)}
Cumul IS forfaitaire annuel
Écart net capi − AV
${fmt(ecart)}
Coût de l'imposition au fil de l'eau
`;h+=`
Imposition forfaitaire du capitalisation à l'IS - art. 238 septies E CGI
Montant investi${fmt(M)}
Valeur du contrat à l'horizon${fmt(VR)}
Assiette forfaitaire annuelle (TME ${pct1(tme)} × 105 %)${pct1(tme*1.05)}
Produit théorique imposable - année 1${fmt(produitAn1)}
IS annuel année 1 (${pct0(tauxIS)})${fmt(produitAn1*tauxIS)}
Cumul d'IS forfaitaire sur ${H} an(s)${fmt(cumIS)}
Valeur nette du contrat de capitalisation${fmt(valNetCapi)}
`;h+=`
Pour une personne morale à l'IS, le contrat de capitalisation est imposé chaque année sur une base forfaitaire égale à 105 % du TME constaté à la souscription, appliquée à la valeur du contrat (art. 238 septies E CGI). Hypothèse retenue : assiette calculée sur la valeur de chaque exercice (approximation de la valeur moyenne). Une régularisation intervient au dénouement selon le gain réellement constaté.
`;h+=`
Contrat de capitalisation vs assurance-vie - personne morale
EnveloppeÉligibilitéFiscalitéValeur netteCadre
Contrat de capitalisationÉligible personne morale${fmt(fiscCapi)}${fmt(valNetCapi)}IS forfaitaire annuel - art. 238 septies E
Assurance-vieNon éligible personne morale${fmt(fiscAV)}${fmt(valNetAV)}Référence théorique - IS à la sortie uniquement
`;h+=`
Projection annuelle - valeur nette de fiscalité
`; sample.forEach(y=>{ const vy=valAt(y); const cy=cumulIScapi(y); const gy=Math.max(0,vy-M); h+=``; }); h+=`
AnnéeValeur bruteNet AV (théorique)Net capitalisation
${y} an(s)${fmt(vy)}${fmt(vy-gy*tauxIS)}${fmt(vy-cy)}
`;const reco = `Profil personne morale à l'IS (${pct0(tauxIS)}), horizon ${H} an(s). Seul le contrat de capitalisation est éligible : l'assurance-vie ne peut être souscrite par une société. L'imposition forfaitaire annuelle (art. 238 septies E) génère un cumul d'IS de ${fmt(cumIS)} sur la période. Ce vehicule reste pertinent pour placer la trésorerie stable d'une holding et se transmet en conservant l'antériorité fiscale.`; h+=`
Recommandation
${reco}
`;h+=`
Hypothèses et points de vigilance
Base forfaitaire = valeur du contrat × TME souscription × 105 % (art. 238 septies E CGI), imposée à l'IS chaque exercice ; approximation appliquée à la valeur de fin d'exercice. La colonne assurance-vie est fournie à titre de référence : elle n'est pas ouverte aux personnes morales.
Rachats partiels retenus : ${fmt(rachat)} / an, soit ${fmt(cumRachats)} sur l'horizon ; la valeur de rachat est nette de ces retraits.
Le contrat de capitalisation détenu par une société est transmissible et conserve l'antériorité fiscale ainsi que sa date de souscription. Sa valeur entre dans l'assiette de l'IFI pour la fraction représentative d'actifs immobiliers.
`;buildHtml('cav_r',h); }$('cav-calc-btn').addEventListener('click', calc); })();

Nos derniers simulateurs :

Démembrement du contrat de capitalisation
Voir ce simulateur
Clause bénéficiaire démembrée
Voir ce simulateur
Démembrement de parts de holding
Voir ce simulateur

RESSOURCES