[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"footer-root-categories-fr-FR":3,"tool-content-indemnite-industries-de-fabrication-mecanique-du-verre-fr":83,"footer-cities-fr":163},[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":130,"tool_html":157,"source":158,"category":159,"audience":160,"publish_mode":161,"hero_image":162,"hero_image_alt":85},"indemnite-industries-de-fabrication-mecanique-du-verre","Indemnité de licenciement — CCN des industries de fabrication mécanique du verre","Indemnité licenciement CCN Industries fabrication mécanique verre IDCC 669 | Expert Zoom","Calculez votre indemnité de licenciement selon la CCN des industries de fabrication mécanique du verre (IDCC 669) : formule 3\u002F10 + 4\u002F10 de mois, majoration senior 55+, plafond 23 mois. Simulation gratuite.","La convention collective des industries de fabrication mécanique du verre (IDCC 669) prévoit une indemnité de licenciement plus favorable que la loi pour les agents de maîtrise et cadres : 3\u002F10 de mois par année d'ancienneté pour les 10 premières années, puis 4\u002F10 au-delà, avec un bonus de 3 mois pour les salariés de 55 ans et plus. Simulez votre indemnité en quelques clics.",[90,109],{"name":91,"@type":92,"about":93,"author":97,"@context":100,"isPartOf":101,"inLanguage":104,"description":105,"operatingSystem":106,"applicationCategory":107,"isAccessibleForFree":108},"Calculateur indemnité de licenciement — CCN Industries de fabrication mécanique du verre (IDCC 669)","WebApplication",{"name":94,"@type":95,"identifier":96},"Convention collective nationale des industries de fabrication mécanique du verre","Thing","IDCC 669",{"name":98,"@type":99},"Expert-Zoom","Organization","https:\u002F\u002Fschema.org",{"url":102,"@type":103},"\u002Ffr\u002Fmagazine\u002Fjuridique\u002Fles-conventions-collectives-en-france","Article","fr","Calculateur d'indemnité de licenciement pour la convention collective des industries de fabrication mécanique du verre (IDCC 669). Formule CCN Annexe II : 3\u002F10 de mois par an ≤ 10 ans + 4\u002F10 de mois par an au-delà, plafond 23 mois, majoration senior pour 55 ans et plus.","All","FinanceApplication",true,{"@type":110,"@context":100,"mainEntity":111},"FAQPage",[112,118,122,126],{"name":113,"@type":114,"acceptedAnswer":115},"Comment est calculée l'indemnité de licenciement dans la CCN des industries de fabrication mécanique du verre (IDCC 669) ?","Question",{"text":116,"@type":117},"Pour les agents de maîtrise, techniciens et cadres (Annexe II), la CCN IDCC 669 prévoit 3\u002F10 de mois de salaire par année d'ancienneté pour les 10 premières années, puis 4\u002F10 de mois au-delà. Plafond à 23 mois. Majoration de 3 mois pour les 55 ans et plus avec au moins 10 ans d'ancienneté.","Answer",{"name":119,"@type":114,"acceptedAnswer":120},"Quelle est la majoration pour les salariés seniors dans la CCN IDCC 669 ?",{"text":121,"@type":117},"Les salariés de 55 ans et plus avec 10 ans d'ancienneté ou plus reçoivent 3 mois supplémentaires ajoutés au montant conventionnel, dans la limite du plafond de 23 mois.",{"name":123,"@type":114,"acceptedAnswer":124},"Comment comparer l'indemnité légale et l'indemnité conventionnelle de l'IDCC 669 ?",{"text":125,"@type":117},"Pour un cadre avec 15 ans d'ancienneté à 3 000 €\u002Fmois : légal ≈ 12 500 €, CCN IDCC 669 ≈ 15 000 €, soit un avantage conventionnel de 2 500 € dans cet exemple.",{"name":127,"@type":114,"acceptedAnswer":128},"Quand l'indemnité de licenciement n'est-elle pas due dans la CCN IDCC 669 ?",{"text":129,"@type":117},"L'indemnité n'est pas due en cas de licenciement pour faute grave ou lourde, ni si le salarié n'a pas atteint 8 mois d'ancienneté continue.",[131,133,135,138,141,144,146,149,151,154],{"a":132,"q":113},"Pour les agents de maîtrise, techniciens et cadres (Annexe II), la CCN IDCC 669 prévoit : 3\u002F10 de mois de salaire brut de référence par année d'ancienneté pour les 10 premières années, puis 4\u002F10 de mois par année au-delà de 10 ans. Ces taux sont plus élevés que le minimum légal (1\u002F4 puis 1\u002F3 selon L1234-9). Le total est plafonné à 23 mois de salaire.",{"a":134,"q":119},"Les salariés âgés de 55 ans et plus ayant au moins 10 ans d'ancienneté bénéficient d'une majoration de 3 mois supplémentaires ajoutée au montant de l'indemnité de base calculée selon la formule conventionnelle. Le plafond global reste à 23 mois de salaire.",{"a":136,"q":137},"La référence de salaire est le plus favorable entre la moyenne des salaires bruts des 12 derniers mois précédant la notification du licenciement, ou 1\u002F3 du salaire brut total des 3 derniers mois (primes et gratifications incluses au prorata). La CCN IDCC 669 retient la formule la plus favorable pour le salarié.","Quel salaire est pris en compte pour calculer l'indemnité dans la CCN fabrication mécanique du verre ?",{"a":139,"q":140},"Pour les ouvriers et employés (Annexe I), la CCN ne prévoit pas de formule nettement différente de la loi ; le calcul s'effectue au minimum légal (L1234-9 : 1\u002F4 puis 1\u002F3 de mois). C'est principalement pour les agents de maîtrise, techniciens et cadres (Annexe II) que la convention est plus favorable, avec des taux de 3\u002F10 et 4\u002F10.","La CCN IDCC 669 s'applique-t-elle aux ouvriers et employés pour l'indemnité de licenciement ?",{"a":142,"q":143},"Oui, l'ancienneté est calculée depuis la date d'entrée effective dans l'entreprise jusqu'à la date de rupture du contrat (fin du préavis ou dispense de préavis). Les mois et années complets sont pris en compte. Les périodes de suspension du contrat (maladie, maternité, etc.) sont généralement incluses dans le calcul de l'ancienneté.","L'ancienneté est-elle calculée à partir de la date d'entrée dans l'entreprise ?",{"a":145,"q":127},"Comme pour toutes les CCN, l'indemnité de licenciement n'est pas due en cas de licenciement pour faute grave ou faute lourde. Elle n'est pas non plus due lorsque le salarié n'a pas atteint le seuil minimal d'ancienneté (8 mois de présence continue selon la loi depuis 2017).",{"a":147,"q":148},"L'indemnité de licenciement, qu'elle soit légale ou conventionnelle, bénéficie d'une exonération de cotisations sociales et d'impôt sur le revenu dans la limite de 2 fois le plafond annuel de la Sécurité sociale (PASS) ou du montant légal\u002Fconventionnel si supérieur. La partie excédant ce double plafond est assujettie aux prélèvements sociaux (CSG\u002FCRDS) et à l'impôt.","L'indemnité de licenciement CCN est-elle soumise aux cotisations sociales et à l'impôt ?",{"a":150,"q":123},"Pour un salarié cadre avec 15 ans d'ancienneté et 3 000 € de salaire mensuel : calcul légal = 3 000 × (10×0,25 + 5×0,33) = 3 000 × 4,17 = 12 500 € environ. Calcul CCN IDCC 669 = 3 000 × (10×0,30 + 5×0,40) = 3 000 × 5,00 = 15 000 €. L'avantage conventionnel est donc de 2 500 € dans cet exemple.",{"a":152,"q":153},"L'indemnité conventionnelle de licenciement remplace l'indemnité légale (on retient la plus favorable, ici la conventionnelle). Elle peut se cumuler avec l'indemnité compensatrice de préavis, l'indemnité compensatrice de congés payés, et d'éventuelles indemnités transactionnelles prévues dans un accord de rupture négociée.","Peut-on cumuler l'indemnité de licenciement CCN avec d'autres indemnités ?",{"a":155,"q":156},"Pour les agents de maîtrise, techniciens et cadres (Annexe II), le préavis en cas de licenciement est de 3 mois. Pendant ce préavis, 60 heures par mois sont accordées, entièrement rémunérées, pour permettre au salarié de rechercher un emploi.","Quelle est la durée du préavis associée au licenciement dans la CCN IDCC 669 ?","\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>Indemnité de licenciement — Industries de fabrication mécanique du verre (IDCC 669)\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    body {\n      font-family: system-ui, -apple-system, sans-serif;\n      background: #fafaf9;\n      color: #1c1917;\n      font-size: 15px;\n      line-height: 1.5;\n    }\n    .tool-root {\n      max-width: 700px;\n      margin: 0 auto;\n      padding: 1.25rem 1rem 2rem;\n    }\n    \u002F* Header *\u002F\n    .tool-header { margin-bottom: 1.25rem; }\n    .tool-header h1 {\n      font-size: 1.15rem;\n      font-weight: 700;\n      color: #1c1917;\n      line-height: 1.3;\n    }\n    .idcc-badge {\n      display: inline-flex;\n      align-items: center;\n      gap: 0.3rem;\n      background: #dbeafe;\n      color: #1d4ed8;\n      font-size: 0.78rem;\n      font-weight: 600;\n      padding: 0.2rem 0.6rem;\n      border-radius: 999px;\n      margin-top: 0.4rem;\n    }\n    \u002F* Intro *\u002F\n    .intro-block {\n      background: #fff;\n      border: 1px solid #e7e5e4;\n      border-radius: 0.75rem;\n      padding: 1rem 1.25rem;\n      margin-bottom: 1.25rem;\n      font-size: 0.88rem;\n      color: #44403c;\n    }\n    .intro-block p + p { margin-top: 0.6rem; }\n    .intro-block strong { color: #1c1917; }\n    \u002F* Rule callout *\u002F\n    .rule-callout {\n      display: flex;\n      gap: 0.6rem;\n      background: #eff6ff;\n      border-left: 3px solid #2563eb;\n      border-radius: 0 0.5rem 0.5rem 0;\n      padding: 0.75rem 1rem;\n      margin-bottom: 1.1rem;\n      font-size: 0.88rem;\n      color: #1e3a8a;\n    }\n    .rule-callout svg { flex-shrink: 0; margin-top: 2px; }\n    \u002F* Form *\u002F\n    .form-group { margin-bottom: 1rem; }\n    .form-label {\n      display: flex;\n      justify-content: space-between;\n      font-size: 0.85rem;\n      font-weight: 500;\n      color: #44403c;\n      margin-bottom: 0.35rem;\n    }\n    .form-label span { font-weight: 600; color: #1c1917; font-variant-numeric: tabular-nums; }\n    input[type=range] {\n      width: 100%;\n      accent-color: #2563eb;\n      cursor: pointer;\n    }\n    .pill-group { display: flex; flex-wrap: wrap; gap: 0.4rem; }\n    .pill {\n      padding: 0.3rem 0.85rem;\n      border-radius: 999px;\n      border: 1.5px solid #d6d3d1;\n      background: #fff;\n      font-size: 0.82rem;\n      cursor: pointer;\n      color: #57534e;\n      transition: all 0.12s;\n    }\n    .pill.active {\n      border-color: #2563eb;\n      background: #2563eb;\n      color: #fff;\n      font-weight: 600;\n    }\n    .toggle-group { display: flex; gap: 0.4rem; }\n    .toggle-btn {\n      flex: 1;\n      padding: 0.4rem 0;\n      border-radius: 0.5rem;\n      border: 1.5px solid #d6d3d1;\n      background: #fff;\n      font-size: 0.85rem;\n      cursor: pointer;\n      color: #57534e;\n      transition: all 0.12s;\n      text-align: center;\n    }\n    .toggle-btn.active {\n      border-color: #2563eb;\n      background: #eff6ff;\n      color: #1d4ed8;\n      font-weight: 600;\n    }\n    \u002F* Result cards *\u002F\n    .result-main {\n      background: #1d4ed8;\n      color: #fff;\n      border-radius: 0.75rem;\n      padding: 1.1rem 1.25rem;\n      margin-top: 1.1rem;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n    }\n    .result-main .label { font-size: 0.88rem; opacity: 0.85; }\n    .result-main .value { font-size: 1.65rem; font-weight: 700; font-variant-numeric: tabular-nums; }\n    .result-main .sub { font-size: 0.78rem; opacity: 0.7; margin-top: 0.15rem; }\n    .result-compare {\n      background: #fff;\n      border: 1.5px solid #e7e5e4;\n      border-radius: 0.75rem;\n      padding: 0.85rem 1.25rem;\n      margin-top: 0.75rem;\n      display: flex;\n      align-items: center;\n      justify-content: space-between;\n      font-size: 0.88rem;\n    }\n    .result-compare .label { color: #78716c; }\n    .result-compare .value { font-weight: 600; font-variant-numeric: tabular-nums; }\n    .gain-chip {\n      display: inline-flex;\n      align-items: center;\n      gap: 0.25rem;\n      background: #dcfce7;\n      color: #15803d;\n      font-size: 0.8rem;\n      font-weight: 600;\n      padding: 0.2rem 0.6rem;\n      border-radius: 999px;\n      margin-top: 0.6rem;\n    }\n    \u002F* Detail breakdown *\u002F\n    .breakdown {\n      background: #f5f5f4;\n      border-radius: 0.5rem;\n      padding: 0.75rem 1rem;\n      margin-top: 0.75rem;\n      font-size: 0.82rem;\n      color: #57534e;\n    }\n    .breakdown-row { display: flex; justify-content: space-between; padding: 0.2rem 0; }\n    .breakdown-row.total {\n      border-top: 1px solid #e7e5e4;\n      margin-top: 0.3rem;\n      padding-top: 0.4rem;\n      font-weight: 700;\n      color: #1c1917;\n    }\n    \u002F* Disclaimer *\u002F\n    .disclaimer {\n      font-size: 0.78rem;\n      color: #a8a29e;\n      margin-top: 1.5rem;\n      padding-top: 1rem;\n      border-top: 1px solid #e7e5e4;\n      line-height: 1.6;\n    }\n    .disclaimer a { color: #2563eb; text-decoration: none; }\n    .disclaimer a:hover { text-decoration: underline; }\n    .divider { border: none; border-top: 1px solid #f5f5f4; margin: 1rem 0; }\n  \u003C\u002Fstyle>\n\u003C\u002Fhead>\n\u003Cbody>\n\u003C!--\n  CCN IDCC 669 — Standalone : Indemnité de licenciement\n  Formule CCN cat. 6 (maîtrise\u002Fcadres) : 3\u002F10 mois ≤ 10 ans + 4\u002F10 mois > 10 ans (> L1234-9 : 1\u002F4 + 1\u002F3)\n  Bonus senior : +3 mois pour 55+ avec ≥ 10 ans d'ancienneté. Plafond 23 mois.\n  Source : Légifrance KALICONT000005635650, Annexe II (accord 20\u002F09\u002F2019), jobexit.fr IDCC 669.\n-->\n\u003Cmain class=\"tool-root\">\n  \u003Cdiv class=\"tool-header\">\n    \u003Ch1>Indemnité de licenciement — CCN des industries de fabrication mécanique du verre\u003C\u002Fh1>\n    \u003Cdiv class=\"idcc-badge\">\n      \u003Ci data-lucide=\"landmark\" style=\"width:13px;height:13px;\">\u003C\u002Fi>\n      IDCC 669 · Brochure JO 3079\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003C!-- Intro contextuel -->\n  \u003Cdiv class=\"intro-block\">\n    \u003Cp>La \u003Cstrong>convention collective nationale des industries de fabrication mécanique du verre\u003C\u002Fstrong> (IDCC 669) s'applique aux entreprises du secteur verrerie mécanique : flaconnage, vaisselle, ampoules, verrerie technique… Elle compte environ \u003Cstrong>25 000 salariés\u003C\u002Fstrong> en France.\u003C\u002Fp>\n    \u003Cp>Sur l'indemnité de licenciement, la CCN est \u003Cstrong>plus avantageuse que le code du travail\u003C\u002Fstrong> pour les agents de maîtrise et cadres : le taux de calcul est supérieur dès la première année, et une majoration spécifique est prévue pour les salariés seniors (55 ans et plus). Utilisez le calculateur ci-dessous pour estimer votre indemnité.\u003C\u002Fp>\n    \u003Cp>La référence salariale retenue est la \u003Cstrong>moyenne des 12 derniers mois\u003C\u002Fstrong> (ou 1\u002F3 des 3 derniers mois si plus favorable) précédant la notification du licenciement.\u003C\u002Fp>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"rule-callout\">\n    \u003Ci data-lucide=\"info\" style=\"width:16px;height:16px;\">\u003C\u002Fi>\n    \u003Cp>\n      \u003Cstrong>Formule CCN IDCC 669 (agents de maîtrise &amp; cadres — Annexe II) :\u003C\u002Fstrong>\u003Cbr>\n      \u003Cstrong>3\u002F10 de mois\u003C\u002Fstrong> × années ≤ 10 ans + \u003Cstrong>4\u002F10 de mois\u003C\u002Fstrong> × années > 10 ans.\u003Cbr>\n      Versus légal (art. L1234-9) : 1\u002F4 + 1\u002F3 de mois. \u003Cstrong>Plafond : 23 mois.\u003C\u002Fstrong>\u003Cbr>\n      Majoration de \u003Cstrong>3 mois\u003C\u002Fstrong> pour les salariés de 55 ans et plus avec ≥ 10 ans d'ancienneté.\n    \u003C\u002Fp>\n  \u003C\u002Fdiv>\n\n  \u003C!-- Inputs -->\n  \u003Cdiv class=\"form-group\">\n    \u003Cdiv class=\"form-label\">\n      Salaire brut mensuel de référence\n      \u003Cspan id=\"salaire-val\">2 500 €\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cinput type=\"range\" id=\"salaire\" min=\"1500\" max=\"10000\" step=\"50\" value=\"2500\">\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"form-group\">\n    \u003Cdiv class=\"form-label\">\n      Ancienneté (années complètes)\n      \u003Cspan id=\"anc-val\">8 ans\u003C\u002Fspan>\n    \u003C\u002Fdiv>\n    \u003Cinput type=\"range\" id=\"anc\" min=\"1\" max=\"35\" step=\"1\" value=\"8\">\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"form-group\">\n    \u003Cdiv class=\"form-label\">Catégorie professionnelle\u003C\u002Fdiv>\n    \u003Cdiv class=\"toggle-group\" id=\"cat-group\">\n      \u003Cbutton class=\"toggle-btn\" data-val=\"standard\">Ouvrier \u002F Employé (Annexe I)\u003C\u002Fbutton>\n      \u003Cbutton class=\"toggle-btn active\" data-val=\"cat6\">Maîtrise \u002F Cadre (Annexe II)\u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"form-group\">\n    \u003Cdiv class=\"form-label\">Tranche d'âge\u003C\u002Fdiv>\n    \u003Cdiv class=\"pill-group\" id=\"age-group\">\n      \u003Cbutton class=\"pill active\" data-val=\"lt55\">Moins de 55 ans\u003C\u002Fbutton>\n      \u003Cbutton class=\"pill\" data-val=\"gte55\">55 ans et plus\u003C\u002Fbutton>\n    \u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003C!-- Results -->\n  \u003Cdiv class=\"result-main\">\n    \u003Cdiv>\n      \u003Cdiv class=\"label\">Indemnité de licenciement CCN 669\u003C\u002Fdiv>\n      \u003Cdiv class=\"sub\" id=\"result-sub\">\u003C\u002Fdiv>\n    \u003C\u002Fdiv>\n    \u003Cdiv class=\"value\" id=\"result-val\">—\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv id=\"gain-area\">\u003C\u002Fdiv>\n\n  \u003C!-- Breakdown -->\n  \u003Cdiv class=\"breakdown\" id=\"breakdown\">\n    \u003Cdiv class=\"breakdown-row\">\u003Cspan>Base légale (L1234-9)\u003C\u002Fspan>\u003Cspan id=\"bd-legal\">—\u003C\u002Fspan>\u003C\u002Fdiv>\n    \u003Cdiv class=\"breakdown-row\">\u003Cspan id=\"bd-ccn-label\">Majoration CCN (Annexe II)\u003C\u002Fspan>\u003Cspan id=\"bd-ccn\">—\u003C\u002Fspan>\u003C\u002Fdiv>\n    \u003Cdiv class=\"breakdown-row\" id=\"bd-senior-row\" style=\"display:none;\">\u003Cspan>Bonus senior (55+, ≥10 ans)\u003C\u002Fspan>\u003Cspan id=\"bd-senior\">—\u003C\u002Fspan>\u003C\u002Fdiv>\n    \u003Cdiv class=\"breakdown-row total\">\u003Cspan>Total CCN\u003C\u002Fspan>\u003Cspan id=\"bd-total\">—\u003C\u002Fspan>\u003C\u002Fdiv>\n  \u003C\u002Fdiv>\n\n  \u003Cdiv class=\"result-compare\">\n    \u003Cspan class=\"label\">Minimum légal (art. L1234-9)\u003C\u002Fspan>\n    \u003Cspan class=\"value\" id=\"legal-val\">—\u003C\u002Fspan>\n  \u003C\u002Fdiv>\n\n  \u003Cp class=\"disclaimer\">\n    \u003Ci data-lucide=\"shield-check\" style=\"width:12px;height:12px;vertical-align:middle;\">\u003C\u002Fi>\n    Calcul indicatif basé sur la CCN IDCC 669 (Brochure JO 3079) — Annexe II révisée le 20 septembre 2019.\n    Source : \u003Ca href=\"https:\u002F\u002Fwww.legifrance.gouv.fr\u002Fconv_coll\u002Fid\u002FKALICONT000005635650\" target=\"_blank\" rel=\"noopener\">Légifrance KALICONT000005635650\u003C\u002Fa>.\n    Pour validation légale\n  \u003C\u002Fp>\n\u003C\u002Fmain>\n\n\u003Cscript>\nconst state = {\n  salaire: 2500,\n  anc: 8,\n  cat: 'cat6',\n  age: 'lt55',\n};\n\nconst fmt = new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR', maximumFractionDigits: 0 });\n\nfunction compute(s) {\n  const { salaire: sal, anc, cat, age } = s;\n\n  \u002F\u002F Calcul légal L1234-9\n  const y1L = Math.min(anc, 10);\n  const y2L = Math.max(anc - 10, 0);\n  const legal = sal * (y1L * (1\u002F4) + y2L * (1\u002F3));\n\n  let ccnBase = 0;\n  let isCat6 = cat === 'cat6';\n\n  if (isCat6) {\n    \u002F\u002F CCN Annexe II : 3\u002F10 ≤ 10 ans + 4\u002F10 > 10 ans\n    ccnBase = sal * (y1L * (3\u002F10) + y2L * (4\u002F10));\n  } else {\n    \u002F\u002F Annexe I ouvriers\u002Femployés : application du minimum légal au moins\n    ccnBase = legal;\n  }\n\n  \u002F\u002F Bonus senior 55+ avec ≥ 10 ans\n  const bonus = (age === 'gte55' && anc >= 10) ? sal * 3 : 0;\n\n  let total = ccnBase + bonus;\n  const plafond = sal * 23;\n  const plafonné = total > plafond;\n  if (plafonné) total = plafond;\n\n  const gain = Math.max(0, total - legal);\n\n  return { legal, ccnBase, bonus, total, gain, plafonné, isCat6 };\n}\n\nfunction render() {\n  const r = compute(state);\n\n  \u002F\u002F Main result\n  document.getElementById('result-val').textContent = fmt.format(r.total);\n  let sub = `${state.anc} an${state.anc > 1 ? 's' : ''} d'ancienneté · ${fmt.format(state.salaire)}\u002Fmois`;\n  if (r.plafonné) sub += ' · plafonné 23 mois';\n  document.getElementById('result-sub').textContent = sub;\n\n  \u002F\u002F Gain chip\n  const gainArea = document.getElementById('gain-area');\n  if (r.gain > 0) {\n    gainArea.innerHTML = `\u003Cdiv class=\"gain-chip\">\u003Ci data-lucide=\"trending-up\" style=\"width:12px;height:12px;\">\u003C\u002Fi>Avantage CCN : +${fmt.format(r.gain)} vs. légal\u003C\u002Fdiv>`;\n  } else {\n    gainArea.innerHTML = '';\n  }\n\n  \u002F\u002F Breakdown\n  document.getElementById('bd-legal').textContent = fmt.format(r.legal);\n  if (r.isCat6) {\n    const extra = r.ccnBase - r.legal;\n    document.getElementById('bd-ccn-label').textContent = 'Majoration CCN (Annexe II)';\n    document.getElementById('bd-ccn').textContent = extra >= 0 ? `+${fmt.format(extra)}` : fmt.format(extra);\n  } else {\n    document.getElementById('bd-ccn-label').textContent = 'Application droit commun (Annexe I)';\n    document.getElementById('bd-ccn').textContent = '—';\n  }\n  const seniorRow = document.getElementById('bd-senior-row');\n  if (r.bonus > 0) {\n    seniorRow.style.display = 'flex';\n    document.getElementById('bd-senior').textContent = `+${fmt.format(r.bonus)}`;\n  } else {\n    seniorRow.style.display = 'none';\n  }\n  document.getElementById('bd-total').textContent = fmt.format(r.total);\n  document.getElementById('legal-val').textContent = fmt.format(r.legal);\n\n  \u002F\u002F Re-init lucide icons for dynamically injected SVG\n  lucide.createIcons();\n}\n\n\u002F\u002F Listeners\ndocument.getElementById('salaire').addEventListener('input', e => {\n  state.salaire = +e.target.value;\n  document.getElementById('salaire-val').textContent =\n    new Intl.NumberFormat('fr-FR', { style: 'currency', currency: 'EUR', maximumFractionDigits: 0 }).format(state.salaire);\n  render();\n});\ndocument.getElementById('anc').addEventListener('input', e => {\n  state.anc = +e.target.value;\n  document.getElementById('anc-val').textContent = `${state.anc} an${state.anc > 1 ? 's' : ''}`;\n  render();\n});\ndocument.getElementById('cat-group').addEventListener('click', e => {\n  const btn = e.target.closest('.toggle-btn');\n  if (!btn) return;\n  state.cat = btn.dataset.val;\n  document.querySelectorAll('#cat-group .toggle-btn').forEach(b => b.classList.toggle('active', b === btn));\n  render();\n});\ndocument.getElementById('age-group').addEventListener('click', e => {\n  const pill = e.target.closest('.pill');\n  if (!pill) return;\n  state.age = pill.dataset.val;\n  document.querySelectorAll('#age-group .pill').forEach(p => p.classList.toggle('active', p === pill));\n  render();\n});\n\n\u002F\u002F Init\ndocument.addEventListener('DOMContentLoaded', () => {\n  lucide.createIcons();\n  render();\n});\n\n\u002F\u002F ResizeObserver → postMessage\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-industries-de-fabrication-mecanique-du-verre-742611a81f.webp",[]]