{"id":279,"date":"2026-10-14T21:49:05","date_gmt":"2026-10-14T18:49:05","guid":{"rendered":"https:\/\/rastcpa.com\/?page_id=279"},"modified":"2026-10-19T00:18:46","modified_gmt":"2026-10-18T21:18:46","slug":"kidem-ve-ihbar-tazminati-hesaplama","status":"publish","type":"page","link":"https:\/\/rastcpa.com\/en\/kidem-ve-ihbar-tazminati-hesaplama\/","title":{"rendered":"K\u0131dem ve \u0130hbar Tazminat\u0131 Hesaplama"},"content":{"rendered":"\n<style data-wp-block-html=\"css\">\n#rast-tazminat {\n  max-width: 900px;\n  margin: 24px auto;\n  padding: 28px;\n  background: #f4f7fb;\n  border: 1px solid #dce5f0;\n  border-radius: 12px;\n  color: #183153;\n  font-family: inherit;\n}\n#rast-tazminat h2 {\n  margin-top: 0;\n  color: #183153;\n}\n#rast-tazminat .rast-form-grid {\n  display: grid;\n  grid-template-columns: repeat(2, minmax(0, 1fr));\n  gap: 18px;\n  margin: 22px 0;\n}\n#rast-tazminat label {\n  display: flex;\n  flex-direction: column;\n  gap: 8px;\n  font-weight: 600;\n}\n#rast-tazminat input,\n#rast-tazminat select {\n  box-sizing: border-box;\n  width: 100%;\n  min-height: 46px;\n  padding: 10px 12px;\n  border: 1px solid #ccd7e5;\n  border-radius: 6px;\n  background: #fff;\n  color: #183153;\n  font: inherit;\n}\n#rast-tazminat button {\n  width: 100%;\n  padding: 14px 18px;\n  border: 0;\n  border-radius: 6px;\n  background: #2d518d;\n  color: #fff;\n  font-weight: 700;\n  cursor: pointer;\n}\n#rast-tazminat .rast-not {\n  font-size: 14px;\n  line-height: 1.65;\n  color: #536780;\n}\n#rast-tazminat .rast-sonuc {\n  margin-top: 22px;\n  padding: 20px;\n  border-radius: 8px;\n  background: #fff;\n  border: 1px solid #dce5f0;\n  line-height: 1.8;\n}\n#rast-tazminat .rast-toplam {\n  color: #14764c;\n  font-size: 25px;\n  font-weight: 700;\n}\n@media (max-width: 640px) {\n  #rast-tazminat { padding: 18px; }\n  #rast-tazminat .rast-form-grid { grid-template-columns: 1fr; }\n}\n<\/style>\n\n<script data-wp-block-html=\"js\">\n(function () {\n  \"use strict\";\n\n  function initRastTazminat() {\n    const root = document.getElementById(\"rast-tazminat\");\n    if (!root || root.dataset.ready === \"1\") return;\n\n    const $ = id => root.querySelector(\"#\" + id);\n    const button = $(\"rast-hesapla\");\n    const result = $(\"rast-sonuc\");\n\n    if (!button || !result) return;\n\n    root.dataset.ready = \"1\";\n\n    const money = n => new Intl.NumberFormat(\"tr-TR\", {\n      style: \"currency\",\n      currency: \"TRY\",\n      minimumFractionDigits: 2,\n      maximumFractionDigits: 2\n    }).format(n);\n\n    function parseDate(value) {\n      if (!value) return null;\n\n      const p = value.split(\"-\").map(Number);\n      if (p.length !== 3 || p.some(n => !Number.isFinite(n))) {\n        return null;\n      }\n\n      const [y, m, d] = p;\n      const date = new Date(y, m - 1, d);\n\n      if (\n        date.getFullYear() !== y ||\n        date.getMonth() !== m - 1 ||\n        date.getDate() !== d\n      ) {\n        return null;\n      }\n\n      return date;\n    }\n\n    function daysBetween(start, end) {\n      const a = Date.UTC(\n        start.getFullYear(),\n        start.getMonth(),\n        start.getDate()\n      );\n      const b = Date.UTC(\n        end.getFullYear(),\n        end.getMonth(),\n        end.getDate()\n      );\n\n      return Math.floor((b - a) \/ 86400000);\n    }\n\n    function getCap(date) {\n      const y = date.getFullYear();\n      const m = date.getMonth() + 1;\n\n      if (y === 2025) {\n        return m <= 6 ? 46655.43 : 53919.68;\n      }\n\n      if (y === 2026) {\n        return m <= 6 ? 64948.77 : 73729.87;\n      }\n\n      return null;\n    }\n\n   function addCalendarMonths(date, months) {\n  const year = date.getFullYear();\n  const month = date.getMonth();\n  const day = date.getDate();\n\n  const targetMonth = month + months;\n  const targetYear = year + Math.floor(targetMonth \/ 12);\n  const normalizedMonth = targetMonth % 12;\n\n  const lastDay = new Date(\n    targetYear,\n    normalizedMonth + 1,\n    0\n  ).getDate();\n\n  return new Date(\n    targetYear,\n    normalizedMonth,\n    Math.min(day, lastDay)\n  );\n}\n\nfunction noticeWeeks(start, end) {\n  if (end <= addCalendarMonths(start, 6)) return 2;\n  if (end < addCalendarMonths(start, 18)) return 4;\n  if (end <= addCalendarMonths(start, 36)) return 6;\n  return 8;\n}\n\n    function showError(message) {\n      result.replaceChildren();\n      result.hidden = false;\n\n      const p = document.createElement(\"p\");\n      p.textContent = message;\n      result.appendChild(p);\n    }\n\n    button.addEventListener(\"click\", function (event) {\n      event.preventDefault();\n\n      const start = parseDate($(\"rast-giris\").value);\n      const end = parseDate($(\"rast-cikis\").value);\n      const calcDate = parseDate($(\"rast-tarih\").value);\n\n      const wage = Number($(\"rast-ucret\").value);\n      const noticeInput = $(\"rast-ihbar-ucret\").value.trim();\n      const noticeWage =\n        noticeInput === \"\" ? wage : Number(noticeInput);\n\n      const reason = $(\"rast-ayrilma\").value;\n\n      if (\n        !start || !end || !calcDate ||\n        end <= start ||\n        !Number.isFinite(wage) || wage <= 0 ||\n        !Number.isFinite(noticeWage) || noticeWage <= 0\n      ) {\n        showError(\n          \"L\u00fctfen tarihleri ve \u00fccretleri kontrol edin. \" +\n          \"\u00c7\u0131k\u0131\u015f tarihi giri\u015f tarihinden sonra olmal\u0131; \" +\n          \"\u00fccretler s\u0131f\u0131rdan b\u00fcy\u00fck girilmelidir.\"\n        );\n        return;\n      }\n\n      const days = daysBetween(start, end);\n      const cap = getCap(end);\n\n      if (cap === null) {\n        showError(\n          \"Bu hesaplama arac\u0131 \u015fu anda yaln\u0131zca 2025 ve 2026 \" +\n          \"k\u0131dem tazminat\u0131 tavanlar\u0131n\u0131 i\u00e7eriyor. \" +\n          \"L\u00fctfen bu y\u0131llardan bir tarih se\u00e7in.\"\n        );\n        return;\n      }\n\n      const cappedWage = Math.min(wage, cap);\n\n      \/\/ Bu tutar, k\u0131dem hakk\u0131 bulundu\u011fu varsay\u0131m\u0131yla hesaplan\u0131r.\n     \nconst calendarYears = end.getFullYear() - start.getFullYear();\n\nlet fullYears = calendarYears;\nif (end < addCalendarMonths(start, fullYears * 12)) {\n  fullYears--;\n}\n\nconst lastAnniversary = addCalendarMonths(start, fullYears * 12);\nconst nextAnniversary = addCalendarMonths(start, (fullYears + 1) * 12);\n\nconst elapsedDays = daysBetween(lastAnniversary, end);\nconst yearDays = daysBetween(lastAnniversary, nextAnniversary);\nconst remainingFraction = yearDays > 0 ? elapsedDays \/ yearDays : 0;\n\nconst grossSeverance = end >= addCalendarMonths(start, 12)\n  ? cappedWage * (fullYears + remainingFraction)\n  : 0;\n\n      const stamp = grossSeverance * 0.00759;\n      const netSeverance = grossSeverance - stamp;\n\n      const weeks = noticeWeeks(start, end);\n      const noticeDays = weeks * 7;\n\n      \/\/ \u0130\u015fverenin ihbar s\u00fcresine uymad\u0131\u011f\u0131 varsay\u0131m\u0131yla.\n      const grossNotice = reason === \"isveren\"\n        ? noticeWage \/ 30 * noticeDays\n        : 0;\n\n      let note = \"\";\n\n      if (reason === \"isveren\") {\n        note =\n          \"\u0130hbar tutar\u0131, i\u015fverenin bildirim s\u00fcresine uymad\u0131\u011f\u0131 \" +\n          \"veya bu s\u00fcreyi kulland\u0131rmad\u0131\u011f\u0131 varsay\u0131m\u0131yla \" +\n          \"br\u00fct hesaplanm\u0131\u015ft\u0131r. Bildirim s\u00fcresi kulland\u0131r\u0131lm\u0131\u015f \" +\n          \"veya \u00fccreti \u00f6denmi\u015fse ayr\u0131ca de\u011ferlendirilmelidir.\";\n      } else if (reason === \"isci\") {\n        note =\n          \"\u0130\u015f\u00e7inin istifas\u0131nda k\u0131dem ve ihbar sonu\u00e7lar\u0131 \" +\n          \"ayr\u0131l\u0131\u015f nedenine ve yasal istisnalara ba\u011fl\u0131d\u0131r. \" +\n          \"\u0130hbar tazminat\u0131 bu se\u00e7enekte i\u015fveren lehine \" +\n          \"do\u011fabilecek bir talep y\u00f6n\u00fcnden hesaplanmam\u0131\u015ft\u0131r.\";\n      } else if (reason === \"emeklilik\") {\n        note =\n          \"Emeklilik veya di\u011fer nedenlerde k\u0131dem ve ihbar \" +\n          \"hakk\u0131 somut ayr\u0131l\u0131\u015f ko\u015fullar\u0131na g\u00f6re de\u011fi\u015febilir.\";\n      } else {\n        note =\n          \"Ayr\u0131l\u0131\u015f nedeni net olmad\u0131\u011f\u0131 i\u00e7in k\u0131dem ve ihbar \" +\n          \"hakk\u0131 kesin olarak belirlenemez.\";\n      }\n\n     \nconst severanceEligible = reason === \"emeklilik\";\n\nconst severanceLabel =\n  (reason === \"isci\" || reason === \"belirsiz\")\n    ? \"K\u0131dem tazminat\u0131 (hak durumu ayr\u0131ca de\u011ferlendirilmeli)\"\n    : \"K\u0131dem tazminat\u0131 (hak kazan\u0131lmas\u0131 varsay\u0131m\u0131yla, br\u00fct)\";\n\n\nconst rows = [\n  [\n    \"\u00c7al\u0131\u015fma s\u00fcresi\",\n    (days \/ 365).toFixed(2) + \" y\u0131l\"\n  ],\n  [\n    \"Uygulanan k\u0131dem tazminat\u0131 tavan\u0131\",\n    money(cap)\n  ],\n  [\n    \"K\u0131dem hesab\u0131nda kullan\u0131lan \u00fccret\",\n    money(cappedWage)\n  ],\n  [\n  severanceLabel,\n(reason === \"isci\" || reason === \"belirsiz\")\n  ? \"Hak durumu ayr\u0131ca de\u011ferlendirilmeli\"\n  : money(grossSeverance)\n  ],\n  [\n    \"Damga vergisi tahmini\",\n   (reason === \"isci\" || reason === \"belirsiz\")\n  ? \"Hak durumuna ba\u011fl\u0131\"\n  : money(stamp)\n  ],\n  [\n    \"K\u0131dem tazminat\u0131 (tahmini net)\",\n  (reason === \"isci\" || reason === \"belirsiz\")\n  ? \"Hak durumuna ba\u011fl\u0131\"\n  : money(netSeverance)\n  ],\n  [\n    \"\u0130hbar s\u00fcresi\",\n    weeks + \" hafta (\" + noticeDays + \" g\u00fcn)\"\n  ],\n[\n  \"\u0130hbar tazminat\u0131 (tahmini br\u00fct)\",\n  reason === \"isveren\"\n    ? money(grossNotice)\n    : \"Bu se\u00e7enek i\u00e7in hesaplanmad\u0131\"\n]\n];\n\n      result.replaceChildren();\n      result.hidden = false;\n\n      const heading = document.createElement(\"h3\");\n      heading.textContent = \"Hesaplama Sonucu\";\n      result.appendChild(heading);\n\n      rows.forEach(function (row) {\n        const p = document.createElement(\"p\");\n        const label = document.createElement(\"span\");\n        const strong = document.createElement(\"strong\");\n\n        label.textContent = row[0] + \": \";\n        strong.textContent = row[1];\n\n        p.appendChild(label);\n        p.appendChild(strong);\n        result.appendChild(p);\n      });\n\n      const disclaimer = document.createElement(\"p\");\n      disclaimer.className = \"rast-note\";\n     \n\ndisclaimer.textContent =\n  note +\n  \" \u00d6NEML\u0130: K\u0131dem tutar\u0131, ilgili se\u00e7ene\u011fe g\u00f6re hak durumu \" +\n  \"de\u011ferlendirilerek sunulur. Bu ara\u00e7 k\u0131dem hakk\u0131n\u0131 otomatik \" +\n  \"olarak do\u011frulamaz. \u0130\u015ften ayr\u0131lma nedeni ve fesih ko\u015fullar\u0131 \" +\n  \"ayr\u0131ca de\u011ferlendirilmelidir. \u0130hbar tazminat\u0131, bildirim \" +\n  \"s\u00fcresine uyulmad\u0131\u011f\u0131 varsay\u0131m\u0131yla hesaplan\u0131r; bildirim \" +\n  \"s\u00fcresi kulland\u0131r\u0131lm\u0131\u015fsa veya \u00fccret \u00f6denmi\u015fse tutar \" +\n  \"de\u011fi\u015febilir. Damga vergisi ve net tutar tahminidir; \" +\n  \"kesin hesap i\u00e7in g\u00fcncel mevzuat ve somut durum kontrol \" +\n  \"edilmelidir. \u0130hbar tazminat\u0131ndan gelir vergisi ve damga vergisi kesilebilir; SGK primi kesilmez. Net ihbar tutar\u0131 bu ara\u00e7ta hesaplanmaz; ger\u00e7ek tutar ki\u015finin vergi matrah\u0131na ve uygulanabilir istisnalara g\u00f6re de\u011fi\u015febilir.\";\n\n\n\n      result.appendChild(disclaimer);\n    });\n  }\n\n  if (document.readyState === \"loading\") {\n    document.addEventListener(\n      \"DOMContentLoaded\",\n      initRastTazminat\n    );\n  } else {\n    initRastTazminat();\n  }\n\n  let attempts = 0;\n  const retry = setInterval(function () {\n    initRastTazminat();\n    attempts++;\n\n    const root = document.getElementById(\"rast-tazminat\");\n\n    if ((root && root.dataset.ready === \"1\") || attempts >= 10) {\n      clearInterval(retry);\n    }\n  }, 500);\n})();\n<\/script>\n\n<div id=\"rast-tazminat\" class=\"rast-tazminat\">\n  <h2>K\u0131dem ve \u0130hbar Tazminat\u0131 Hesaplama<\/h2>\n  <p>\u0130\u015fe giri\u015f ve \u00e7\u0131k\u0131\u015f bilgilerini girerek tahmini tazminat tutar\u0131n\u0131z\u0131 hesaplay\u0131n.<\/p>\n\n  <div class=\"rast-form-grid\">\n    <label>\u0130\u015fe giri\u015f tarihi\n      <input id=\"rast-giris\" type=\"date\" required=\"\">\n    <\/label>\n    <label>\u0130\u015ften \u00e7\u0131k\u0131\u015f tarihi\n      <input id=\"rast-cikis\" type=\"date\" required=\"\">\n    <\/label>\n    <label>Ayl\u0131k giydirilmi\u015f br\u00fct \u00fccret (TL)\n      <input id=\"rast-ucret\" type=\"number\" min=\"0\" step=\"0.01\" placeholder=\"\u00d6rn. 45000\">\n    <\/label>\n    <label>\u0130hbar hesab\u0131nda esas al\u0131nacak ayl\u0131k br\u00fct \u00fccret (TL)\n      <input id=\"rast-ihbar-ucret\" type=\"number\" min=\"0\" step=\"0.01\" placeholder=\"Bo\u015f b\u0131rak\u0131l\u0131rsa \u00fcstteki \u00fccret kullan\u0131l\u0131r\">\n    <\/label>\n    <label>Hesaplama tarihi\n      <input id=\"rast-tarih\" type=\"date\">\n    <\/label>\n    <label>\u0130\u015ften ayr\u0131lma \u015fekli\n      <select id=\"rast-ayrilma\">\n      <option value=\"isveren\">\u0130\u015fveren feshi (ihbar tazminat\u0131 hesab\u0131)<\/option>\n        <option value=\"isci\">\u0130\u015f\u00e7i istifas\u0131<\/option>\n        <option value=\"emeklilik\">Emeklilik \/ uygun di\u011fer neden<\/option>\n        <option value=\"belirsiz\">Emin de\u011filim<\/option>\n      <\/select>\n    <\/label>\n  <\/div>\n\n  <p class=\"rast-not\">Yemek, yol ve d\u00fczenli para ile \u00f6l\u00e7\u00fclebilen menfaatleri giydirilmi\u015f br\u00fct \u00fccrete dahil edin. K\u0131dem hakk\u0131 ve ihbar y\u00fck\u00fcml\u00fcl\u00fc\u011f\u00fc ayr\u0131l\u0131\u015f nedenine g\u00f6re de\u011fi\u015febilir.<\/p>\n  <button type=\"button\" id=\"rast-hesapla\">Tazminat\u0131 Hesapla<\/button>\n  <div id=\"rast-sonuc\" class=\"rast-sonuc\" aria-live=\"polite\" hidden=\"\"><\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>K\u0131dem ve \u0130hbar Tazminat\u0131 Hesaplama \u0130\u015fe giri\u015f ve \u00e7\u0131k\u0131\u015f bilgilerini girerek tahmini tazminat tutar\u0131n\u0131z\u0131 hesaplay\u0131n. \u0130\u015fe giri\u015f tarihi \u0130\u015ften \u00e7\u0131k\u0131\u015f tarihi Ayl\u0131k giydirilmi\u015f br\u00fct \u00fccret (TL) \u0130hbar hesab\u0131nda esas al\u0131nacak ayl\u0131k br\u00fct \u00fccret (TL) Hesaplama tarihi \u0130\u015ften ayr\u0131lma \u015fekli \u0130\u015fveren feshi (ihbar tazminat\u0131 hesab\u0131)\u0130\u015f\u00e7i istifas\u0131Emeklilik \/ uygun di\u011fer nedenEmin de\u011filim Yemek, yol ve d\u00fczenli para [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-279","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/rastcpa.com\/en\/wp-json\/wp\/v2\/pages\/279","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/rastcpa.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/rastcpa.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/rastcpa.com\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/rastcpa.com\/en\/wp-json\/wp\/v2\/comments?post=279"}],"version-history":[{"count":19,"href":"https:\/\/rastcpa.com\/en\/wp-json\/wp\/v2\/pages\/279\/revisions"}],"predecessor-version":[{"id":405,"href":"https:\/\/rastcpa.com\/en\/wp-json\/wp\/v2\/pages\/279\/revisions\/405"}],"wp:attachment":[{"href":"https:\/\/rastcpa.com\/en\/wp-json\/wp\/v2\/media?parent=279"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}