[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"footer-root-categories-fr-FR":3,"tool-content-indemnite-banques-fr":83,"footer-cities-fr":147},[4,14,22,30,38,45,53,60,67,75],{"seo_content":5,"id":8,"name":9,"slug":10,"parentId":7,"lang":11,"_count":12},[6],{"page_slug":7},null,"cmkzhl7xm00dbulbc93h4qog5","Juridique","avocats","fr-FR",{"experts":13},8,{"seo_content":15,"id":17,"name":18,"slug":19,"parentId":7,"lang":11,"_count":20},[16],{"page_slug":7},"cmkzhl84700djulbcbv6pzu9e","Informatique","informaticiens",{"experts":21},3,{"seo_content":23,"id":25,"name":26,"slug":27,"parentId":7,"lang":11,"_count":28},[24],{"page_slug":7},"cmkzhlaos00gnulbc07i9jrco","Amélioration de la Maison","artisans",{"experts":29},4,{"seo_content":31,"id":33,"name":34,"slug":35,"parentId":7,"lang":11,"_count":36},[32],{"page_slug":7},"cmkzhlaqg00gpulbcx38bwoc2","Général","divers-generalistes",{"experts":37},0,{"seo_content":39,"id":41,"name":42,"slug":43,"parentId":7,"lang":11,"_count":44},[40],{"page_slug":7},"cmkzhlbvq00i3ulbcutdbcz50","Électronique Grand Public","techniciens-electronique",{"experts":21},{"seo_content":46,"id":48,"name":49,"slug":50,"parentId":7,"lang":11,"_count":51},[47],{"page_slug":7},"cmkzhlcaw00ilulbc38pxoogr","Santé","medecins",{"experts":52},5,{"seo_content":54,"id":56,"name":57,"slug":58,"parentId":7,"lang":11,"_count":59},[55],{"page_slug":7},"cmkzhlcmi00izulbcxva1m47f","Gestion de Patrimoine","conseillers-patrimoniaux",{"experts":21},{"seo_content":61,"id":63,"name":64,"slug":65,"parentId":7,"lang":11,"_count":66},[62],{"page_slug":7},"cmkzhldcv00jvulbcmcd5a7mk","Animaux et Vétérinaires","veterinaires",{"experts":21},{"seo_content":68,"id":70,"name":71,"slug":72,"parentId":7,"lang":11,"_count":73},[69],{"page_slug":7},"cmkzhldrr00kdulbchxfo67eg","Mécanique et Réparation","mecaniciens",{"experts":74},1,{"seo_content":76,"id":78,"name":79,"slug":80,"parentId":7,"lang":11,"_count":81},[77],{"page_slug":7},"cmkzhl9l300fbulbcv3i8q8p3","Aide aux Devoirs","professeurs-particuliers",{"experts":82},6,{"slug":84,"title":85,"page_title":86,"description":87,"content_md":88,"local_slug":84,"json_ld":89,"faq":110,"tool_html":141,"source":142,"category":143,"audience":144,"publish_mode":145,"hero_image":146,"hero_image_alt":85},"indemnite-banques","Indemnité de licenciement CCN Banque — calculateur","Indemnité licenciement CCN Banque IDCC 2120 | Expert Zoom","Calculez votre indemnité de licenciement selon la convention collective de la banque (IDCC 2120) : mensualité 1\u002F13, semestres complets, plafond 15 mensualités, comparaison légal vs CCN.","Calculez précisément votre indemnité de licenciement selon la convention collective de la banque (IDCC 2120, brochure 3161). La CCN banque utilise une mensualité de référence de 1\u002F13 du salaire annuel brut, un calcul en semestres complets d'ancienneté, et un plafond de 15 mensualités pour les embauches depuis 2000 — une mécanique différente du barème légal (L1234-9) que ce calculateur compare en temps réel.",[90],{"name":91,"@type":92,"about":93,"author":98,"@context":101,"isPartOf":102,"inLanguage":105,"description":106,"operatingSystem":107,"applicationCategory":108,"isAccessibleForFree":109},"Calculateur indemnité de licenciement — CCN de la Banque IDCC 2120","WebApplication",{"name":94,"@type":95,"identifier":96,"alternateName":97},"Convention collective nationale de la banque","Thing","IDCC 2120","Brochure JO 3161",{"name":99,"@type":100},"Expert-Zoom","Organization","https:\u002F\u002Fschema.org",{"url":103,"@type":104},"\u002Ffr\u002Fmagazine\u002Fjuridique\u002Fles-conventions-collectives-en-france","Article","fr","Calculez votre indemnité de licenciement selon la convention collective de la banque (IDCC 2120, brochure 3161) : mensualité 1\u002F13, calcul par semestre, plafond 15 mensualités, comparaison avec le barème légal L1234-9","All","FinanceApplication",true,[111,114,117,120,123,126,129,132,135,138],{"a":112,"q":113},"L'indemnité de licenciement CCN banque se calcule en 4 étapes : (1) calculer la mensualité de référence = salaire annuel brut ÷ 13 ; (2) compter les semestres complets d'ancienneté ; (3) appliquer le taux de 1\u002F5 mensualité par semestre (pour les embauches depuis 2002) ; (4) vérifier le plafond de 15 mensualités. Exemple : pour 42 000 € annuels et 8 ans d'ancienneté → mensualité = 3 230 € ; 16 semestres × 1\u002F5 = 3,2 mensualités = 10 338 €.","Comment calculer l'indemnité de licenciement dans la convention collective de la banque (IDCC 2120) ?",{"a":115,"q":116},"Contrairement au code du travail qui divise le salaire par 12, la convention collective de la banque divise le salaire annuel brut par 13. Cela s'explique par le fait que le salaire est versé en 13 mensualités (incluant le 13ème mois obligatoire). La mensualité CCN est donc légèrement inférieure à la mensualité légale.","Quelle est la mensualité de référence utilisée dans la CCN banque pour l'indemnité ?",{"a":118,"q":119},"Oui. Pour les salariés embauchés depuis le 1er janvier 2000, le plafond est fixé à 15 mensualités conventionnelles (1 mensualité = salaire annuel ÷ 13). Pour les salariés embauchés avant le 31 décembre 1999, les plafonds sont : 24 × (13\u002F14,5) mensualités pour les cadres, 18 × (13\u002F14,5) mensualités pour les techniciens des métiers de la banque.","Y a-t-il un plafond pour l'indemnité de licenciement dans la banque ?",{"a":121,"q":122},"Il faut au minimum 1 an d'ancienneté continue dans l'entreprise pour ouvrir droit à l'indemnité de licenciement dans la convention collective de la banque (IDCC 2120). Cette condition est identique au minimum légal prévu par l'article L1234-9 du code du travail.","Quelle ancienneté minimum faut-il pour toucher l'indemnité de licenciement dans la banque ?",{"a":124,"q":125},"Non. Comme en droit commun, la faute grave ou la faute lourde prive le salarié de toute indemnité de licenciement, que ce soit légale ou conventionnelle. Seul un licenciement pour cause réelle et sérieuse (personnel, économique) ouvre droit à indemnité.","Les salariés en faute grave ont-ils droit à l'indemnité de licenciement dans la banque ?",{"a":127,"q":128},"La réponse dépend du profil du salarié. Pour les anciennetés faibles (moins de 5 ans), la CCN banque peut être légèrement moins favorable car le calcul en semestres et la divisée par 13 peuvent aboutir à un montant légèrement inférieur au légal. Pour les anciennetés élevées (10 ans et plus), le calcul semestriel est généralement favorable. En tout état de cause, le salarié perçoit toujours le maximum entre le montant légal et le montant conventionnel.","La CCN banque est-elle plus avantageuse que la loi pour l'indemnité de licenciement ?",{"a":130,"q":131},"L'ancienneté est décomptée en semestres complets (tranches de 6 mois). Seuls les semestres entièrement accomplis sont pris en compte — les mois résiduels sont ignorés. Ainsi, 7 ans et 5 mois = 14 semestres complets (et non 14,83 semestres).","Comment l'ancienneté est-elle décomptée dans la CCN banque pour l'indemnité ?",{"a":133,"q":134},"Oui, des règles transitoires s'appliquent. Pour les salariés embauchés avant le 1er janvier 2002, l'indemnité est calculée différemment selon deux périodes : (a) ancienneté acquise avant le 1er janvier 2002 : 1\u002F2 × (13\u002F14,5) mensualité par semestre ; (b) ancienneté acquise à partir du 1er janvier 2002 : 1\u002F5 mensualité par semestre. Pour les embauches avant 2000, des plafonds différenciés s'appliquent (24 mensualités pour cadres, 18 pour TMB).","Les embauches avant 2002 ont-elles des règles différentes dans la CCN banque ?",{"a":136,"q":137},"L'indemnité de licenciement est exonérée d'impôt sur le revenu dans certaines limites : elle est exonérée jusqu'au montant de l'indemnité légale ou conventionnelle (le plus favorable) dans la limite de 2 fois le plafond annuel de la Sécurité sociale (soit 92 736 € en 2026). Au-delà, la partie excédentaire est imposable. Elle est également exonérée de cotisations sociales dans certains plafonds.","L'indemnité de licenciement CCN banque est-elle imposable ?",{"a":139,"q":140},"Le barème légal (art. L1234-9 du code du travail) est : 1\u002F4 de mois de salaire par année d'ancienneté pour les 10 premières années, puis 1\u002F3 de mois par année au-delà de 10 ans. La mensualité légale est calculée sur la base du salaire des 12 derniers mois divisé par 12 (ou des 3 meilleurs mois si plus favorable). La CCN banque peut déroger à ce barème à la hausse.","Quel est le calcul de l'indemnité légale de licenciement pour comparer avec la CCN banque ?","\u003C!DOCTYPE html>\n\u003Chtml lang=\"fr\">\n\u003Chead>\n  \u003Cmeta charset=\"utf-8\">\n  \u003Cmeta name=\"viewport\" content=\"width=device-width,initial-scale=1\">\n  \u003Ctitle>Calculateur indemnité de licenciement — Convention collective de la Banque IDCC 2120\u003C\u002Ftitle>\n  \u003Cscript src=\"https:\u002F\u002Funpkg.com\u002Flucide@latest\u002Fdist\u002Fumd\u002Flucide.min.js\">\u003C\u002Fscript>\n  \u003Cstyle>\n    *, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }\n\n    :root {\n      --bg: #fafaf9;\n      --surface: #ffffff;\n      --border: #e7e5e4;\n      --accent: #2563eb;\n      --accent-light: #eff6ff;\n      --accent-border: #bfdbfe;\n      --text: #1c1917;\n      --text-muted: #78716c;\n      --success-bg: #f0fdf4;\n      --success-border: #bbf7d0;\n      --success-text: #15803d;\n      --warning-bg: #fffbeb;\n      --warning-border: #fde68a;\n      --warning-text: #92400e;\n      --info-bg: #f0f9ff;\n      --info-border: #bae6fd;\n      --info-text: #0369a1;\n      --radius: 0.75rem;\n    }\n\n    body {\n      font-family: system-ui, -apple-system, sans-serif;\n      background: var(--bg);\n      color: var(--text);\n      font-size: 15px;\n      line-height: 1.6;\n      padding: 1.25rem;\n    }\n\n    .tool-root { max-width: 700px; margin: 0 auto; }\n\n    \u002F* Header *\u002F\n    .header {\n      display: flex;\n      align-items: flex-start;\n      justify-content: space-between;\n      gap: 1rem;\n      margin-bottom: 1rem;\n      padding-bottom: 1rem;\n      border-bottom: 2px solid var(--accent);\n    }\n    .header-title { font-size: 1.15rem; font-weight: 700; }\n    .header-sub { font-size: 0.82rem; color: var(--text-muted); margin-top: 3px; }\n    .idcc-badge {\n      flex-shrink: 0;\n      background: var(--accent);\n      color: #fff;\n      font-size: 0.72rem;\n      font-weight: 700;\n      padding: 0.25rem 0.6rem;\n      border-radius: 99px;\n      letter-spacing: 0.04em;\n    }\n\n    \u002F* Intro *\u002F\n    .intro {\n      background: var(--surface);\n      border: 1px solid var(--border);\n      border-radius: var(--radius);\n      padding: 1rem 1.2rem;\n      margin-bottom: 1.25rem;\n      font-size: 0.88rem;\n      color: var(--text-muted);\n      line-height: 1.7;\n    }\n    .intro strong { color: var(--text); }\n    .intro p + p { margin-top: 0.6rem; }\n\n    \u002F* Rule callout *\u002F\n    .rule-callout {\n      display: flex;\n      gap: 0.65rem;\n      align-items: flex-start;\n      background: var(--accent-light);\n      border: 1px solid var(--accent-border);\n      border-radius: var(--radius);\n      padding: 0.85rem 1rem;\n      margin-bottom: 1.25rem;\n      font-size: 0.88rem;\n      color: #1e40af;\n    }\n    .rule-callout svg { flex-shrink: 0; margin-top: 2px; }\n\n    \u002F* Form *\u002F\n    .form-grid { display: grid; gap: 1.1rem; }\n    .field label {\n      display: block;\n      font-size: 0.8rem;\n      font-weight: 700;\n      color: var(--text-muted);\n      text-transform: uppercase;\n      letter-spacing: 0.05em;\n      margin-bottom: 0.4rem;\n    }\n    .field-row { display: flex; align-items: center; gap: 0.75rem; }\n    .field-row input[type=\"range\"] { flex: 1; accent-color: var(--accent); }\n    .field-val {\n      min-width: 90px;\n      text-align: right;\n      font-weight: 700;\n      font-variant-numeric: tabular-nums;\n      font-size: 0.95rem;\n    }\n\n    \u002F* Pills *\u002F\n    .pills { display: flex; flex-wrap: wrap; gap: 0.4rem; }\n    .pill {\n      padding: 0.35rem 0.8rem;\n      border: 1.5px solid var(--border);\n      border-radius: 99px;\n      font-size: 0.82rem;\n      font-weight: 500;\n      cursor: pointer;\n      background: var(--surface);\n      transition: all 0.15s;\n      color: var(--text);\n    }\n    .pill:hover { border-color: var(--accent); color: var(--accent); }\n    .pill.active { border-color: var(--accent); background: var(--accent); color: #fff; }\n\n    \u002F* Result *\u002F\n    .result-card {\n      background: var(--success-bg);\n      border: 1.5px solid var(--success-border);\n      border-radius: var(--radius);\n      padding: 1.1rem 1.4rem;\n      margin-top: 1.25rem;\n      display: flex;\n      align-items: center;\n      gap: 1rem;\n    }\n    .result-card svg { color: var(--success-text); flex-shrink: 0; }\n    .result-label { font-size: 0.8rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--success-text); }\n    .result-value { font-size: 1.8rem; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--success-text); line-height: 1.1; }\n    .result-sub { font-size: 0.78rem; color: var(--success-text); opacity: 0.8; margin-top: 2px; }\n\n    \u002F* Breakdown *\u002F\n    .breakdown {\n      margin-top: 1rem;\n      background: var(--surface);\n      border: 1px solid var(--border);\n      border-radius: var(--radius);\n      overflow: hidden;\n    }\n    .breakdown-title {\n      padding: 0.55rem 0.85rem;\n      background: var(--accent-light);\n      font-size: 0.78rem;\n      font-weight: 700;\n      color: var(--accent);\n      text-transform: uppercase;\n      letter-spacing: 0.05em;\n      display: flex;\n      align-items: center;\n      gap: 0.4rem;\n    }\n    .breakdown-row {\n      display: flex;\n      justify-content: space-between;\n      padding: 0.55rem 0.85rem;\n      font-size: 0.85rem;\n      border-bottom: 1px solid var(--border);\n    }\n    .breakdown-row:last-child { border-bottom: none; }\n    .breakdown-row .val { font-weight: 700; font-variant-numeric: tabular-nums; }\n    .breakdown-row.total { background: var(--accent-light); font-weight: 700; color: var(--accent); }\n\n    \u002F* Comparison *\u002F\n    .comparison {\n      margin-top: 1rem;\n      display: grid;\n      grid-template-columns: 1fr 1fr;\n      gap: 0.75rem;\n    }\n    .comp-card {\n      border: 1px solid var(--border);\n      border-radius: var(--radius);\n      padding: 0.75rem 0.9rem;\n      background: var(--surface);\n    }\n    .comp-card.better { border-color: var(--success-border); background: var(--success-bg); }\n    .comp-label { font-size: 0.72rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; color: var(--text-muted); margin-bottom: 0.3rem; }\n    .comp-card.better .comp-label { color: var(--success-text); }\n    .comp-val { font-size: 1.2rem; font-weight: 800; font-variant-numeric: tabular-nums; }\n    .comp-card.better .comp-val { color: var(--success-text); }\n    .comp-detail { font-size: 0.75rem; color: var(--text-muted); margin-top: 2px; }\n\n    \u002F* Info box *\u002F\n    .info-box {\n      display: flex;\n      gap: 0.6rem;\n      align-items: flex-start;\n      background: var(--info-bg);\n      border: 1px solid var(--info-border);\n      border-radius: 0.5rem;\n      padding: 0.7rem 0.9rem;\n      font-size: 0.82rem;\n      color: var(--info-text);\n      margin-top: 0.85rem;\n    }\n    .info-box svg { flex-shrink: 0; margin-top: 1px; }\n\n    \u002F* Alert *\u002F\n    .alert-box {\n      background: var(--warning-bg);\n      border: 1px solid var(--warning-border);\n      border-radius: 0.5rem;\n      padding: 0.7rem 0.9rem;\n      font-size: 0.82rem;\n      color: var(--warning-text);\n      margin-top: 0.85rem;\n    }\n\n    \u002F* Disclaimer *\u002F\n    .disclaimer {\n      margin-top: 1.5rem;\n      padding-top: 1rem;\n      border-top: 1px solid var(--border);\n      font-size: 0.77rem;\n      color: var(--text-muted);\n      line-height: 1.6;\n    }\n    .disclaimer a { color: var(--accent); text-decoration: none; }\n    .disclaimer a:hover { text-decoration: underline; }\n\n    @media (max-width: 500px) {\n      .comparison { grid-template-columns: 1fr; }\n    }\n  \u003C\u002Fstyle>\n\u003C\u002Fhead>\n\u003Cbody>\n\u003C!-- CCN IDCC 2120 — Indemnité de licenciement\n     Formule CCN Banque : mensualité = 1\u002F13 du salaire annuel brut (≠ 1\u002F12 légal)\n     Calcul par semestre complet d'ancienneté\n     Embauche depuis 2002 : 1\u002F5 mensualité × semestres, plafond 15 mensualités\n     Embauche avant 2000 : 1\u002F2×(13\u002F14,5) mensualité × semestres, plafond 24 mensualités cadres \u002F 18 TMB\n     Vs légal L1234-9 : 1\u002F4 mois par année (≤ 10 ans) + 1\u002F3 mois par année (> 10 ans)\n     Source : Légifrance KALICONT000005635780, legisocial.fr CCN 2120, code.travail.gouv.fr\n-->\n\u003Cmain class=\"tool-root\">\n  \u003Cdiv class=\"header\">\n    \u003Cdiv>\n      \u003Cdiv class=\"header-title\">Indemnité de licenciement — CCN de la Banque\u003C\u002Fdiv>\n      \u003Cdiv class=\"header-sub\">Calculateur détaillé avec comparaison code du travail\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cspan class=\"idcc-badge\">IDCC 2120\u003C\u002Fspan>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"intro\">\n    \u003Cp>\u003Cstrong>La convention collective de la banque (IDCC 2120)\u003C\u002Fstrong> prévoit un mode de calcul spécifique de l'indemnité de licenciement qui diffère sensiblement du barème légal. La mensualité de référence est \u003Cstrong>1\u002F13 du salaire annuel brut\u003C\u002Fstrong> (et non 1\u002F12) et l'ancienneté est décomptée en \u003Cstrong>semestres complets\u003C\u002Fstrong> — une mécanique plus précise que le calcul légal par année entière.\u003C\u002Fp>\n    \u003Cp>Pour les salariés embauchés depuis le 1\u003Csup>er\u003C\u002Fsup> janvier 2002, l'indemnité est de \u003Cstrong>1\u002F5 mensualité par semestre\u003C\u002Fstrong>, avec un plafond global de 15 mensualités. Pour les embauches antérieures à 2000, des règles transitoires plus complexes s'appliquent (avec des plafonds différenciés cadres\u002FTMB). Dans tous les cas, l'indemnité légale reste le minimum plancher.\u003C\u002Fp>\n    \u003Cp>Complétez le formulaire ci-dessous pour obtenir votre estimation personnalisée ainsi que la comparaison avec le minimum légal.\u003C\u002Fp>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"rule-callout\">\n    \u003Ci data-lucide=\"scale\" style=\"width:16px;height:16px;\">\u003C\u002Fi>\n    \u003Cp>\u003Cstrong>Point clé CCN :\u003C\u002Fstrong> la mensualité de base = \u003Cem>salaire annuel ÷ 13\u003C\u002Fem> (non ÷ 12). Le calcul s'effectue par \u003Cem>semestres complets\u003C\u002Fem>, ce qui peut être plus favorable ou moins favorable selon l'ancienneté. Plafond : 15 mensualités pour les embauches depuis 2000.\u003C\u002Fp>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"form-grid\">\n    \u003Cdiv class=\"field\">\n      \u003Clabel>Salaire de base annuel brut\u003C\u002Flabel>\n      \u003Cdiv class=\"field-row\">\n        \u003Cinput type=\"range\" id=\"salaire\" min=\"20000\" max=\"180000\" step=\"500\" value=\"42000\">\n        \u003Cspan class=\"field-val\" id=\"salaire-val\">42 000 €\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n      \u003Cdiv style=\"font-size:0.78rem;color:var(--text-muted);margin-top:4px;\">\n        Mensualité de référence : \u003Cstrong id=\"mensualite-val\">—\u003C\u002Fstrong> (1\u002F13 du salaire annuel)\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"field\">\n      \u003Clabel>Ancienneté (années)\u003C\u002Flabel>\n      \u003Cdiv class=\"field-row\">\n        \u003Cinput type=\"range\" id=\"anciennete\" min=\"0\" max=\"35\" step=\"1\" value=\"8\">\n        \u003Cspan class=\"field-val\" id=\"anciennete-val\">8 ans\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n      \u003Cdiv style=\"font-size:0.78rem;color:var(--text-muted);margin-top:4px;\">\n        = \u003Cstrong id=\"semestres-val\">—\u003C\u002Fstrong> semestres complets pris en compte\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"field\">\n      \u003Clabel>Date d'embauche\u003C\u002Flabel>\n      \u003Cdiv class=\"pills\" id=\"embauche-pills\">\n        \u003Cspan class=\"pill\" data-val=\"avant2000\">Avant le 1\u002F01\u002F2000\u003C\u002Fspan>\n        \u003Cspan class=\"pill\" data-val=\"2000a2001\">1\u002F01\u002F2000 – 31\u002F12\u002F2001\u003C\u002Fspan>\n        \u003Cspan class=\"pill active\" data-val=\"depuis2002\">Depuis le 1\u002F01\u002F2002\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"field\" id=\"categorie-field\">\n      \u003Clabel>Catégorie professionnelle\u003C\u002Flabel>\n      \u003Cdiv class=\"pills\" id=\"categorie-pills\">\n        \u003Cspan class=\"pill active\" data-val=\"technicien\">Technicien des métiers de la banque (TMB)\u003C\u002Fspan>\n        \u003Cspan class=\"pill\" data-val=\"cadre\">Cadre\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"field\">\n      \u003Clabel>Motif du licenciement\u003C\u002Flabel>\n      \u003Cdiv class=\"pills\" id=\"motif-pills\">\n        \u003Cspan class=\"pill active\" data-val=\"normal\">Licenciement non-faute\u003C\u002Fspan>\n        \u003Cspan class=\"pill\" data-val=\"eco\">Licenciement économique\u003C\u002Fspan>\n        \u003Cspan class=\"pill\" data-val=\"faute\">Faute grave \u002F lourde\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv id=\"faute-alert\" class=\"alert-box\" style=\"display:none;\">\n    \u003Cstrong>Faute grave ou faute lourde :\u003C\u002Fstrong> le salarié n'a droit à aucune indemnité de licenciement, que ce soit en application du code du travail ou de la convention collective de la banque.\n  \u003C\u002Fdiv>\n\n  \u003Cdiv id=\"results-block\">\n    \u003Cdiv class=\"result-card\">\n      \u003Ci data-lucide=\"euro\" style=\"width:30px;height:30px;\">\u003C\u002Fi>\n      \u003Cdiv>\n        \u003Cdiv class=\"result-label\">Indemnité conventionnelle (CCN Banque)\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-value\" id=\"result-val\">—\u003C\u002Fdiv>\n        \u003Cdiv class=\"result-sub\" id=\"result-sub\">—\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"breakdown\" id=\"breakdown\" style=\"display:none;\">\n      \u003Cdiv class=\"breakdown-title\">\n        \u003Ci data-lucide=\"list\" style=\"width:13px;height:13px;\">\u003C\u002Fi>\n        Détail du calcul\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"breakdown-row\">\n        \u003Cspan>Mensualité de référence (1\u002F13 salaire annuel)\u003C\u002Fspan>\n        \u003Cspan class=\"val\" id=\"bd-mensualite\">—\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"breakdown-row\">\n        \u003Cspan>Semestres complets d'ancienneté\u003C\u002Fspan>\n        \u003Cspan class=\"val\" id=\"bd-semestres\">—\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"breakdown-row\">\n        \u003Cspan>Taux par semestre\u003C\u002Fspan>\n        \u003Cspan class=\"val\" id=\"bd-taux\">—\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"breakdown-row\">\n        \u003Cspan>Montant brut avant plafond\u003C\u002Fspan>\n        \u003Cspan class=\"val\" id=\"bd-brut\">—\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"breakdown-row\">\n        \u003Cspan>Plafond conventionnel\u003C\u002Fspan>\n        \u003Cspan class=\"val\" id=\"bd-plafond\">—\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"breakdown-row total\">\n        \u003Cspan>Indemnité nette retenue\u003C\u002Fspan>\n        \u003Cspan class=\"val\" id=\"bd-total\">—\u003C\u002Fspan>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"comparison\" id=\"comparison\">\n      \u003Cdiv class=\"comp-card\" id=\"comp-ccn\">\n        \u003Cdiv class=\"comp-label\">CCN Banque (IDCC 2120)\u003C\u002Fdiv>\n        \u003Cdiv class=\"comp-val\" id=\"comp-ccn-val\">—\u003C\u002Fdiv>\n        \u003Cdiv class=\"comp-detail\" id=\"comp-ccn-detail\">\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n      \u003Cdiv class=\"comp-card\" id=\"comp-legal\">\n        \u003Cdiv class=\"comp-label\">Minimum légal (L1234-9)\u003C\u002Fdiv>\n        \u003Cdiv class=\"comp-val\" id=\"comp-legal-val\">—\u003C\u002Fdiv>\n        \u003Cdiv class=\"comp-detail\">¼ mois × années (≤ 10 ans) + ⅓ mois × années (&gt; 10 ans)\u003C\u002Fdiv>\n      \u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n\n    \u003Cdiv class=\"info-box\" id=\"cap-info\" style=\"display:none;\">\n      \u003Ci data-lucide=\"alert-circle\" style=\"width:15px;height:15px;\">\u003C\u002Fi>\n      \u003Cspan id=\"cap-info-text\">\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003Cp class=\"disclaimer\">\n    \u003Ci data-lucide=\"shield-alert\" style=\"width:13px;height:13px;vertical-align:middle;margin-right:4px;\">\u003C\u002Fi>\n    Calcul indicatif fondé sur la CCN nationale de la Banque — IDCC 2120, Brochure JO n° 3161.\n    Source officielle : \u003Ca href=\"https:\u002F\u002Fwww.legifrance.gouv.fr\u002Fconv_coll\u002Fid\u002FKALICONT000005635780\u002F\" target=\"_blank\" rel=\"noopener\">Légifrance\u003C\u002Fa> •\n    \u003Ca href=\"https:\u002F\u002Fcode.travail.gouv.fr\u002Fconvention-collective\u002F2120-banque\" target=\"_blank\" rel=\"noopener\">Code du travail numérique\u003C\u002Fa>.\n    En cas de litige\n  \u003C\u002Fp>\n\u003C\u002Fmain>\n\n\u003Cscript>\n\u002F\u002F ============================================================\n\u002F\u002F DATA\n\u002F\u002F ============================================================\nconst fmt = n => new Intl.NumberFormat('fr-FR', { style:'currency', currency:'EUR', maximumFractionDigits:0 }).format(n);\nconst fmtDec = n => new Intl.NumberFormat('fr-FR', { style:'currency', currency:'EUR', minimumFractionDigits:2, maximumFractionDigits:2 }).format(n);\n\n\u002F\u002F ============================================================\n\u002F\u002F STATE\n\u002F\u002F ============================================================\nconst state = {\n  salaire: 42000,\n  anciennete: 8,\n  embauche: 'depuis2002',\n  categorie: 'technicien',\n  motif: 'normal',\n};\n\n\u002F\u002F ============================================================\n\u002F\u002F COMPUTE\n\u002F\u002F ============================================================\nfunction computeCCN() {\n  const { salaire, anciennete, embauche, categorie } = state;\n  const mensualite = salaire \u002F 13;\n  const semestres = Math.floor(anciennete * 2);\n\n  if (semestres \u003C 2) return { montant: 0, mensualite, semestres, taux: '—', brut: 0, plafondEur: 0, capped: false };\n\n  let taux, tauxLabel, brut, plafond, plafondEur;\n\n  if (embauche === 'depuis2002' || embauche === '2000a2001') {\n    taux = 1\u002F5;\n    tauxLabel = '1\u002F5';\n    brut = taux * mensualite * semestres;\n    plafond = 15; \u002F\u002F mensualités\n    plafondEur = plafond * mensualite;\n  } else {\n    \u002F\u002F avant 2000\n    taux = 0.5 * (13\u002F14.5);\n    tauxLabel = '½ × (13\u002F14,5)';\n    brut = taux * mensualite * semestres;\n    plafond = categorie === 'cadre' ? 24 * (13\u002F14.5) : 18 * (13\u002F14.5);\n    plafondEur = plafond * mensualite;\n  }\n\n  const capped = brut > plafondEur;\n  const montant = Math.min(brut, plafondEur);\n  return { montant, mensualite, semestres, tauxLabel, brut, plafondEur, capped, plafond };\n}\n\nfunction computeLegal() {\n  const { salaire, anciennete } = state;\n  const mensualite12 = salaire \u002F 12;\n  let indemnite = 0;\n  if (anciennete \u003C= 10) {\n    indemnite = (1\u002F4) * mensualite12 * Math.min(anciennete, 10);\n  } else {\n    indemnite = (1\u002F4) * mensualite12 * 10 + (1\u002F3) * mensualite12 * (anciennete - 10);\n  }\n  return indemnite;\n}\n\n\u002F\u002F ============================================================\n\u002F\u002F RENDER\n\u002F\u002F ============================================================\nfunction render() {\n  const faute = state.motif === 'faute';\n  document.getElementById('faute-alert').style.display = faute ? 'block' : 'none';\n  document.getElementById('results-block').style.display = faute ? 'none' : 'block';\n  if (faute) return;\n\n  const res = computeCCN();\n  const legal = computeLegal();\n\n  \u002F\u002F Update helper texts\n  document.getElementById('mensualite-val').textContent = fmtDec(res.mensualite);\n  document.getElementById('semestres-val').textContent = res.semestres + ' semestre' + (res.semestres > 1 ? 's' : '');\n\n  \u002F\u002F Main result\n  document.getElementById('result-val').textContent = res.montant > 0 ? fmt(res.montant) : '0 €';\n  document.getElementById('result-sub').textContent = res.montant === 0\n    ? 'Ancienneté insuffisante (minimum 1 an requis)'\n    : `${res.semestres} semestres × ${res.tauxLabel} mensualité${res.capped ? ' — plafond atteint' : ''}`;\n\n  \u002F\u002F Breakdown\n  const bd = document.getElementById('breakdown');\n  if (res.montant > 0) {\n    bd.style.display = 'block';\n    document.getElementById('bd-mensualite').textContent = fmtDec(res.mensualite);\n    document.getElementById('bd-semestres').textContent = res.semestres;\n    document.getElementById('bd-taux').textContent = res.tauxLabel + ' par semestre';\n    document.getElementById('bd-brut').textContent = fmt(res.brut);\n    document.getElementById('bd-plafond').textContent = fmt(res.plafondEur) + ' (plafond conventionnel)';\n    document.getElementById('bd-total').textContent = fmt(res.montant);\n  } else {\n    bd.style.display = 'none';\n  }\n\n  \u002F\u002F Comparison\n  const isBetter = res.montant >= legal;\n  const ccnCard = document.getElementById('comp-ccn');\n  const legalCard = document.getElementById('comp-legal');\n  ccnCard.className = 'comp-card' + (isBetter ? ' better' : '');\n  legalCard.className = 'comp-card' + (!isBetter ? ' better' : '');\n  document.getElementById('comp-ccn-val').textContent = fmt(res.montant);\n  document.getElementById('comp-ccn-detail').textContent = res.semestres + ' semestres × ' + (res.tauxLabel || '—') + ' mensualité (÷13)';\n  document.getElementById('comp-legal-val').textContent = fmt(legal);\n\n  \u002F\u002F Cap info\n  const capInfo = document.getElementById('cap-info');\n  if (res.capped) {\n    capInfo.style.display = 'flex';\n    document.getElementById('cap-info-text').textContent = `Le plafond conventionnel de ${fmt(res.plafondEur)} a été atteint. L'indemnité ne peut excéder ce montant.`;\n  } else { capInfo.style.display = 'none'; }\n\n  \u002F\u002F Show\u002Fhide categorie field\n  document.getElementById('categorie-field').style.display = state.embauche === 'avant2000' ? 'block' : 'none';\n}\n\n\u002F\u002F ============================================================\n\u002F\u002F PILLS\n\u002F\u002F ============================================================\nfunction initPills(id, onSelect) {\n  const el = document.getElementById(id);\n  el.querySelectorAll('.pill').forEach(p => {\n    p.addEventListener('click', () => {\n      el.querySelectorAll('.pill').forEach(x => x.classList.remove('active'));\n      p.classList.add('active');\n      onSelect(p.dataset.val);\n    });\n  });\n}\n\n\u002F\u002F ============================================================\n\u002F\u002F RANGES\n\u002F\u002F ============================================================\nfunction wireRange(id, valId, fmtFn, key) {\n  const el = document.getElementById(id);\n  const valEl = document.getElementById(valId);\n  function upd() {\n    state[key] = +el.value;\n    valEl.textContent = fmtFn(+el.value);\n    render();\n  }\n  el.addEventListener('input', upd);\n  upd();\n}\n\n\u002F\u002F ============================================================\n\u002F\u002F INIT\n\u002F\u002F ============================================================\nwireRange('salaire', 'salaire-val', v => fmt(v), 'salaire');\nwireRange('anciennete', 'anciennete-val', v => v + ' an' + (v > 1 ? 's' : ''), 'anciennete');\ninitPills('embauche-pills', v => { state.embauche = v; render(); });\ninitPills('categorie-pills', v => { state.categorie = v; render(); });\ninitPills('motif-pills', v => { state.motif = v; render(); });\n\nrender();\nlucide.createIcons();\n\n\u002F\u002F ============================================================\n\u002F\u002F RESIZE\n\u002F\u002F ============================================================\nconst ro = new ResizeObserver(() => {\n  const h = Math.max(document.documentElement.scrollHeight, document.body.scrollHeight);\n  parent.postMessage({ type: 'resize', height: h }, '*');\n});\nro.observe(document.documentElement);\n\u003C\u002Fscript>\n\u003C\u002Fbody>\n\u003C\u002Fhtml>\n","generated","juridique","consumer","both","https:\u002F\u002Fpub-bdebbd2dad294475a2da0eb657815b6b.r2.dev\u002Ftools\u002Findemnite-banques-4f446a540e.webp",[]]