{"id":193501,"date":"2026-05-11T14:20:28","date_gmt":"2026-05-11T07:20:28","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=193501"},"modified":"2026-05-11T14:20:28","modified_gmt":"2026-05-11T07:20:28","slug":"ai-pajak","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/","title":{"rendered":"AI Pajak: Cara Kecerdasan Buatan Menyederhanakan Pengelolaan Perpajakan Perusahaan"},"content":{"rendered":"<p>Sistem Coretax DJP kini memvalidasi setiap data pajak secara otomatis. Kesalahan kecil seperti perbedaan nominal hingga ketidaksesuaian data transaksi dapat langsung terdeteksi dan berujung pada sanksi administratif. Kondisi ini membuat banyak perusahaan mulai mencari cara agar proses perpajakan menjadi lebih akurat dan cepat melalui penggunaan AI pajak.<\/p>\n<p>Bukan hanya untuk proses otomatisasi input data, AI Tax juga mulai digunakan untuk membantu validasi dokumen hingga menyusun analisis perpajakan secara lebih efisien.<\/p>\n<p>Artikel ini akan membahas secara lengkap apa itu AI pajak, bagaimana cara kerjanya dalam sistem perpajakan modern, serta langkah yang dapat dilakukan perusahaan untuk mulai mengadopsinya secara bertahap.<\/p>\n<style>\r\n\t.takeaways-container {\r\n\t\tmargin: 20px 0;\r\n\t\tfont-family: sans-serif;\r\n\t}\r\n\t.box-content {\r\n\t\tbackground-color: #fffacd;\r\n\t\tbox-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\r\n\t\tborder-radius: 25px;\r\n\t\tpadding: 25px;\r\n\t}\r\n\t.title {\r\n\t\tmargin-bottom: 20px;\r\n\t}\r\n\t.title p {\r\n\t\tdisplay: inline-block;\r\n\t\tbackground-color: #8A0E19;\r\n\t\tcolor: #ffffff;\r\n\t\tpadding: 8px 15px;\r\n\t\tborder-radius: 8px;\r\n\t\tfont-size: 22px;\r\n\t\tfont-weight: bold;\r\n\t\tmargin: 0;\r\n\t}\r\n\t.item {\r\n\t\tdisplay: flex;\r\n\t\talign-items: flex-start;\r\n\t\tmargin-bottom: 12px;\r\n\t}\r\n\t.item .circle {\r\n\t\twidth: 8px;\r\n\t\theight: 8px;\r\n\t\tbackground-color: #000000;\r\n\t\tborder-radius: 50%;\r\n\t\tmargin-right: 12px;\r\n\t\tflex-shrink: 0;\r\n\t\tmargin-top: 8px;\r\n\t}\r\n\t.item p {\r\n\t\tmargin: 0;\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 1.6;\r\n\t}\r\n\t.item p a {\r\n\t\tcolor: #8A0E19;\r\n\t\tfont-weight: normal;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.item p a:hover {\r\n\t\ttext-decoration: underline;\r\n\t}\r\n\t.button-wrapper {\r\n\t\tmargin-top: 25px;\r\n\t}\r\n\t.submit-button {\r\n\t\tbackground-color: #8a0e19;\r\n\t\tcolor: #fff !important;\r\n\t\ttransition: all .3s ease;\r\n\t\tpadding: 12px 28px;\r\n\t\tdisplay: inline-block;\r\n\t\tborder-radius: 12px;\r\n\t\tfont-size: 16px;\r\n\t\tfont-weight: bold;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.submit-button:hover {\r\n\t\tbackground-color: #991b26;\r\n\t}\r\n\t@media (max-width: 767px) {\r\n\t\t.takeaways-container {\r\n\t\t\theight: auto;\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\t\t.box-content {\r\n\t\t\tpadding: 24px;\r\n\t\t}\r\n\t\t.content,\r\n\t\t.main-content,\r\n\t\t.list-item {\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<div class=\"takeaways-container\">\r\n\t<div class=\"box-content\">\r\n\t\t<div class=\"content\">\r\n\t\t\t<div class=\"title\">\r\n\t\t\t\t<p>Key Takeaways<\/p>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"main-content\">\r\n\t\t\t\t<div class=\"list-item\">\r\n\t\t\t\t\t<div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#ai\">AI pajak<\/a> adalah penerapan teknologi kecerdasan buatan untuk membantu proses perpajakan secara otomatis mulai dari pengolahan data transaksi, validasi dokumen, hingga analisis kepatuhan.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p>Per<a href=\"#ubah\">ubah<\/a>an regulasi perpajakan yang terus berkembang juga membuat perusahaan harus memperbarui aturan dan perhitungan pajak secara real-time.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p>AI pajak hadir sebagai solusi untuk membantu perusahaan mengotomatisasi proses perpajakan mulai dari pengumpulan data, validasi transaksi, rekonsiliasi lintas sistem, hingga pelaporan yang lebih efisien.<\/p><\/div>\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n<!-- \t\t\t<div class=\"button-wrapper\">\r\n\t\t\t\t<a href=\"https:\/\/www.equiperp.com\/tour-produk-gratis\/?medium=key-takeaways\" class=\"submit-button\">Klik untuk Demo Gratis!<\/a>\r\n\t\t\t<\/div> -->\r\n\t\t<\/div>\r\n\t<\/div>\r\n<\/div>\n<style>\r\n.cta-in-article-image .desktop-banner{\r\n    display: none;\r\n    text-align: center;\r\n}\r\n.cta-in-article-image .desktop-mobile{\r\n    display: block;\r\n    text-align: center;\r\n    width: 100%;\r\n}\r\n\t.cta-in-article a {\r\n\t\tfont-size: 0px !important;\r\n\t\tcolor: #fff; \r\n\t\tpadding: 0px !important; \r\n\t\tborder-radius: 0px !important; \r\n\t\tdisplay: block !important; \r\n\t\ttext-decoration: none; \r\n\t}\r\n\t\r\n\t.cta-in-article {\r\n\t\tmargin: 0px !important;\r\n\t\tpadding: 0px !important;\r\n\t\tbox-shadow: none !important;\r\n\t}\r\n\t\r\n@media (min-width: 650px) {\r\n    .cta-in-article-image .desktop-banner {\r\n        display: block!important;\r\n    }\r\n}\r\n@media (min-width: 650px) {\r\n   .cta-in-article-image .desktop-mobile {\r\n        display: none!important;\r\n    }\r\n}\r\n<\/style>\r\n<div class=\"cta-in-article-image\">\r\n\t<a href=\"https:\/\/www.hashmicro.com\/id\/offer\/download-skema-harga-software-erp?blog&utm_source=blog&medium=banner-article\" target=\"_blank\" rel=\"noopener\">\r\n\t\t<div id=\"desktop-banner-container\">\r\n\t\t\t<div class=\"desktop-banner\">\r\n\t\t\t\t<img decoding=\"async\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/02.Skema-Harga-web-resized.webp\" alt=\"download skema harga software erp\">\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<div id=\"mobile-banner-container\">\r\n\t\t\t<div class=\"desktop-mobile\">\r\n\t\t\t\t<img decoding=\"async\" width=\"372\" height=\"465\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/02.-Skema-Harga-Mobile-372px.webp\" alt=\"download skema harga software erp\">\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t<\/a>\r\n<\/div><div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tDaftar Isi:\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Daftar Isi<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n\r\n<style>\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor:#000;\r\n\t\tmargin-bottom: 10px;\r\n\t\ttransition:all 0.2s ease-in-out;\r\n\t\tfont-size:15px\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#list_toc_float li a{margin-bottom:0px}\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:768px){\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t \/* custom scrollbar style *\/\r\n::-webkit-scrollbar {\r\n    width: 7px;\r\n}\r\n::-webkit-scrollbar-track {\r\n    background: #d7a2a4;\r\n}\r\n::-webkit-scrollbar-thumb {\r\n    background: #b1252d;\r\n    border-radius: 15px;\r\n}\t\t\r\n\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\t\/\/ Fungsi untuk menangani klik pada semua elemen <a> dengan href yang dimulai dengan #\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst targetId = this.getAttribute('href').substring(1);\r\n\t\t\tconst targetElement = document.getElementById(targetId);\r\n\r\n\t\t\tif (targetElement) {\r\n\t\t\t\tconst headerHeight = document.querySelector('#toc .header').offsetHeight;\r\n\t\t\t\tconst navbarHeight = document.getElementById('tdi_34') ? document.getElementById('tdi_34').offsetHeight : 0;\r\n\t\t\t\tconst windowHeight = window.innerHeight;\r\n\t\t\t\tconst targetOffset = targetElement.offsetTop;\r\n\t\t\t\tconst scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight) - navbarHeight - 40;\r\n\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: scrollTo,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua elemen <a> di toc-list dan list-toc\r\n\t\tconst titleLinks = document.querySelectorAll('#toc-list a, #list_toc a');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n<\/script>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\n\/\/ document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/   const toc = document.querySelector('#toc');\r\n\/\/   const footer = document.querySelector('.td-footer-template-wrap');\r\n\/\/   const tocParent = toc.parentElement;\r\n\/\/   const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n\/\/   const tocHeight = toc.offsetHeight;\r\n\/\/   const triggerPoint = divTop + tocHeight + 700;\r\n\/\/   const footerHeight = footer.offsetHeight;\r\n\/\/   const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n\/\/   const phtoc = document.querySelector('#placeholder-toc');\r\n\/\/   const headers = document.querySelectorAll('.td-post-content h2');\r\n\/\/   const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\/\/ \tconst panel2 = document.querySelector(\"#toc .list\");\r\n\/\/ \tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n\/\/   let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n\/\/   \/\/ Function to handle scroll and add\/remove .sticky class\r\n\/\/   function handleScroll() {\r\n\/\/     const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n\/\/     let currentHeader = '';\r\n\r\n\/\/     \/\/ Highlight user progress as the heading comes\r\n\/\/     headers.forEach(header => {\r\n\/\/ \t\tconst headerTop = header.offsetTop;\r\n\/\/ \t\tconst headerHeight = header.clientHeight;\r\n\/\/ \/\/ \t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \/\/ \t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \/\/ \t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\/\/ \/\/ \t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \/\/ \t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\/\/ \/\/ \t\t\tif(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t\ttocTitle.textContent = 'Daftar Isi';\r\n\/\/ \/\/ \t\t\t}\r\n\/\/ \/\/ \t\t}\r\n\/\/ \t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\ttocTitle.textContent = 'Daftar Isi'; \/\/ Selalu pertahankan judul ini di mobile\r\n\/\/ \t\t} else {\r\n\/\/ \t\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\/\/ \t\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\/\/ \t\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\t\ttocTitle.textContent = currentHeaderText;\r\n\/\/ \t\t\t\tcurrentHeader = currentHeaderId;\r\n\/\/ \t\t\t}\r\n\/\/ \t\t}\r\n\/\/ \t});\r\n\r\n\/\/     navLinks.forEach(link => {\r\n\/\/       link.classList.remove('active');\r\n\/\/       if(currentHeader != '') {\r\n\/\/ \t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\/\/ \t\t\t  link.classList.add('active');\r\n\/\/ \t\t  }\r\n\/\/ \t  }\r\n\/\/     });\r\n\/\/ \/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/ \/\/         toc.style.display = 'block';\r\n\/\/ \/\/ \t}else{\r\n\/\/ \/\/         toc.style.display = 'none';\r\n\/\/ \/\/ \t}\r\n\/\/     \/\/ Update TOC title if sticky\r\n\/\/     if (windowTop > triggerPoint) {\r\n\/\/       if (!toc.classList.contains('sticky')) {\r\n\/\/         phtoc.style.display = \"block\";\r\n\/\/         toc.classList.add('sticky');\r\n\/\/         toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/         toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/         toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\tpanel2.style.height = '0px';\r\n\/\/ \t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t  if(window.innerWidth < 767){\r\n\/\/ \/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar Isi'; \/\/ Reset title\r\n\/\/        \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\/\/ \t\t  }\r\n\/\/       }\r\n\/\/       if (currentHeader) {\r\n\/\/ \/\/         console.log(\"activeLink:\", activeLink);\r\n\/\/         if (activeLink) {\r\n\/\/ \/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n\/\/           tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n\/\/         }\r\n\/\/       }\r\n\/\/     } else {\r\n\/\/       toc.classList.remove('sticky');\r\n\/\/       phtoc.style.display = \"none\";\r\n\/\/       toc.style.width = 'unset'; \/\/ Reset to original width\r\n\/\/       toc.style.backgroundColor = \"#FFF\";\r\n\/\/       tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\/\/ \t\ticon.style.transform = \"rotate(180deg)\";\r\n\/\/     }\r\n\/\/   }\r\n\r\n\/\/     \/\/ Attach the scroll event listener to the window\r\n\/\/     window.addEventListener('scroll', handleScroll);\r\n\r\n\/\/     \/\/ Initial call to handleScroll to set the correct state on load\r\n\/\/     handleScroll();\r\n\/\/ });\r\n\t\r\n\/\/ \t\/\/ Open toggle TOC\r\n\/\/ \t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\/\/ \t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\/\/ \t\tvar toc = document.querySelector(\"#toc\");\r\n\/\/ \t\tvar icon = document.querySelector(\".toc-icon\");\r\n\/\/ \t\tconst tocTitle = document.querySelector('#toc-title');\r\n\/\/ \t\tconst tocs = document.querySelector('#toc.sticky');\r\n\/\/  \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\/\/ \t\t  tocHeader.addEventListener(\"click\", function() {\r\n\/\/ \t\t\tvar panel = this.nextElementSibling;\r\n\/\/ \t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\/\/ \t\t\t\tif(window.innerWidth > 768){\r\n\/\/ \t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\/\/ \t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t\t}\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\/\/ \t\t\t} else {\r\n\/\/ \t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t  tocTitle.textContent = 'Daftar isi'; \/\/ Reset title\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '24px';\r\n\/\/ \t\t\t \tif(window.innerWidth < 767){\r\n\/\/ \t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\/\/ \t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\/\/ \t\t\t\t}\r\n\/\/ \t\t\t}\r\n\/\/ \t\t  });\r\n\r\n\/\/ \t\t  \/\/ Close TOC when a link inside it is clicked\r\n\/\/ \t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\/\/ \t\t  tocLinks.forEach(function(link) {\r\n\/\/ \t\t\tlink.addEventListener(\"click\", function() {\r\n\/\/ \t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\/\/ \t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\/\/ \t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\/\/ \t\t\t});\r\n\/\/ \t\t  });\r\n\/\/ \t\t});\r\n\r\n\/\/ START new JS for ToC improvements\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 1750;\r\n\tconsole.log(triggerPoint)\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight*3;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n  \r\n  const panel2 = document.querySelector(\"#toc .list\");\r\n  const icon = document.querySelector(\".toc-icon\");\r\n  const tocTitle = document.querySelector('#toc-title');\r\n\r\n  let activeLink = null;\r\n  let userClosedTOC = false; \/\/ Flag user menutup TOC\r\n\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Update TOC title sesuai header yang terlihat\r\n    headers.forEach(header => {\r\n      const headerTop = header.offsetTop;\r\n      const headerHeight = header.clientHeight;\r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n      } else {\r\n        if (window.scrollY >= (headerTop - headerHeight + 1750)) {\r\n          const currentHeaderId = header.getAttribute('id');\r\n          const currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n          tocTitle.textContent = currentHeaderText;\r\n          currentHeader = currentHeaderId;\r\n        }\r\n      }\r\n    });\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader && link.getAttribute('href').includes(currentHeader)) {\r\n        link.classList.add('active');\r\n      }\r\n    });\r\n\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`;\r\n        toc.style.backgroundColor = \"#FFF\";\r\n        \/\/ Saat sticky, TOC otomatis tertutup\r\n        panel2.style.height = '0px';\r\n        icon.style.transform = \"rotate(180deg)\";\r\n        userClosedTOC = true; \/\/ Set flag supaya tidak terbuka saat scroll\r\n      }\r\n      \r\n      if(window.innerWidth < 767){\r\n        tocTitle.textContent = 'Daftar Isi'; \r\n        toc.style.width = '150px';\r\n      }\r\n\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset';\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Daftar isi'; \r\n\r\n      \/\/ Kembalikan panel jika user belum menutup manual\r\n      if(!userClosedTOC) {\r\n        panel2.style.height = panel2.scrollHeight + \"px\";\r\n        icon.style.transform = \"rotate(0deg)\";\r\n      }\r\n    }\r\n  }\r\n\r\n  window.addEventListener('scroll', handleScroll);\r\n  handleScroll();\r\n\r\n  \/\/ Toggle TOC saat user klik\r\n  const tocHeader = document.querySelector(\"#toc .header\");\r\n  tocHeader.addEventListener(\"click\", function() {\r\n    const panel = panel2;\r\n    if (panel.style.height !== '0px') {\r\n      panel.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    } else {\r\n      panel.style.height = panel.scrollHeight + \"px\";\r\n      icon.style.transform = \"rotate(0deg)\";\r\n      userClosedTOC = false;\r\n    }\r\n  });\r\n\r\n  \/\/ Close TOC saat link diklik\r\n  document.querySelectorAll(\"#toc .list a\").forEach(link => {\r\n    link.addEventListener(\"click\", function() {\r\n      panel2.style.height = '0px';\r\n      icon.style.transform = \"rotate(180deg)\";\r\n      userClosedTOC = true;\r\n    });\r\n  });\r\n});\r\n\/\/ END new JS for ToC improvements\r\n\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/ \/\/ \t\t\tconsole.log(\"prevent default\");\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } \r\n\t\t  else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!-- <script>\r\n\tdocument.addEventListener(\"DOMContentLoaded\", function() {\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        \/\/ Mengambil semua elemen h2 dan h3\r\n\t\tconst elements = document.querySelectorAll('.td-post-content h2');\r\n\r\n\t\t\tfunction newFormatId(text) {\r\n\t\t\t\tif(text.toLowerCase() === \"key takeaways\") {\r\n\t\t\t\t\treturn;\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tconst result = text.toLowerCase()\r\n\t\t\t\t.trim()\r\n\t\t\t\t.replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n\t\t\t\t.replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n\t\t\t\treturn result;\r\n\t\t\t}\r\n\t\r\n\t\telements.forEach(element => {\r\n\t\t\tif (element.tagName === 'H2') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h2\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Kalau Key Takeaways, jangan dimasukin\r\n\t\t\t\theadings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n\t\t\t} else if (element.tagName === 'H3') {\r\n\t\t\t\tconst id = newFormatId(element.textContent); \/\/ Hasilkan ID baru\r\n\t\t\t\telement.id = id; \/\/ Tetapkan ID ke elemen h3\r\n\t\t\t\tif (headings.length > 0) {\r\n\t\t\t\t\theadings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n       \/\/ Membuat list HTML dari objek headings\r\n\t\tconst ul = document.getElementById('list_toc');\r\n\t\tlet currentUl = ul;\r\n\t\theadings.forEach(heading => {\r\n\t\t\tconst li = document.createElement('li');\r\n\t\t\tconst a = document.createElement('a');\r\n\t\t\ta.textContent = heading.title;\r\n\t\t\ta.href = `#${heading.id}`; \/\/ Gunakan ID yang baru dihasilkan\r\n\t\t\tli.appendChild(a);\r\n\r\n\t\t\tif (heading.level === 'h2') {\r\n\t\t\t\tcurrentUl = li;\r\n\t\t\t\tul.appendChild(li);\r\n\t\t\t} else if (heading.level === 'h3') {\r\n\t\t\t\tif (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n\t\t\t\t\tconst nestedUl = document.createElement('ul');\r\n\t\t\t\t\tcurrentUl.appendChild(nestedUl);\r\n\t\t\t\t\tcurrentUl = nestedUl;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentUl.appendChild(li);\r\n\t\t\t}\r\n\r\n\t\t\tcreateNestedList(li, heading.children);\r\n\t\t});\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc'\r\n\t\tconst ulFloat = document.getElementById('list_toc');\r\n\r\n\t\t\/\/ Dapatkan isi (child elements) dari ul dengan id 'list_toc'\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc_float'\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\r\n\t\t\/\/ Tambahkan isi yang telah didapatkan dari 'list_toc' ke ul dengan id 'list_toc_float'\r\n\t\tulToc.append(...clonedChildren);\r\n\r\n\r\n        \/\/ Fungsi untuk mengambil tinggi navbar\r\n\t\tfunction getNavbarHeight() {\r\n\t\t\tconst navbar = document.getElementById('tdi_34');\r\n\t\t\treturn navbar ? navbar.offsetHeight : 0;\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menambahkan offset posisi scroll\r\n\t\tfunction scrollToElementWithOffset(elementId) {\r\n\t\t\tconst element = document.getElementById(elementId);\r\n\t\t\tif (element) {\r\n\t\t\t\tconst offset = getNavbarHeight();\r\n\t\t\t\tconst elementPosition = element.getBoundingClientRect().top;\r\n\t\t\t\tconst offsetPosition = elementPosition - offset - 40;\r\n\r\n\t\t\t\twindow.scrollBy({\r\n\t\t\t\t\ttop: offsetPosition,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Fungsi untuk menangani klik pada tautan judul\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst href = event.target.getAttribute('href').substr(1);\r\n\t\t\tscrollToElementWithOffset(href);\r\n\t\t}\r\n\r\n\t\t\/\/ Tambahkan event listener untuk semua tautan judul\r\n\t\tconst titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t\t\r\n\t});\r\n    <\/script> -->\r\n\n<h2><strong><span id=\"ai\">Apa Itu AI Pajak dan Mengapa Menjadi Kebutuhan di 2026?<\/span><\/strong><\/h2>\n<p>AI pajak adalah penerapan teknologi kecerdasan buatan untuk membantu proses perpajakan secara otomatis mulai dari pengolahan data transaksi, validasi dokumen, hingga analisis kepatuhan. Teknologi ini bekerja dengan mempelajari pola data dan aturan perpajakan sehingga dapat mengurangi kesalahan proses manual serta mempercepat proses administrasi yang sebelumnya memakan banyak waktu.<\/p>\n<p>Di 2026, kebutuhan terhadap AI pajak semakin meningkat karena sistem perpajakan Indonesia bergerak ke arah digital dan terintegrasi. Kehadiran Coretax DJP membuat validasi data dilakukan lebih ketat dan real-time sehingga perusahaan dituntut memiliki pencatatan yang akurat serta konsisten di seluruh sistem bisnis.<\/p>\n<p>Selain faktor kepatuhan, volume data transaksi bisnis yang terus bertambah juga membuat proses pajak dengan manual semakin sulit dipertahankan. Dengan menggunakan bantuan AI perusahaan dapat memonitor perpajakan menjadi lebih cepat dan menghasilkan laporan yang lebih terstruktur untuk kebutuhan audit maupun pelaporan pajak.<\/p>\n<h2><strong>Bagaimana Coretax DJP 2026 Mengubah Perpajakan Perusahaan<\/strong><\/h2>\n<p>Coretax Administration System (CTAS) adalah sistem baru yang dikembangkan Direktorat Jenderal Pajak (DJP) untuk menggantikan sistem perpajakan lama yang sebelumnya masih terpisah. Melalui Coretax proses pelaporan, pembayaran, dan validasi pajak menjadi lebih terintegrasi dalam satu sistem digital.<\/p>\n<p>Implementasinya dilakukan bertahap dalam beberapa tahun terakhir. Di 2026, Coretax hadir dengan validasi data yang lebih real-time dan pengawasan yang semakin otomatis.<br \/>\nBagi perusahaan, perubahan paling terasa ada pada proses validasi data pajak.<\/p>\n<p>DJP kini dapat mencocokkan data transaksi dan laporan lebih cepat sehingga ketidaksesuaian data lebih mudah terdeteksi. Coretax juga mendukung integrasi data antar instansi seperti pajak, bea cukai, dan perbankan. Oleh karena itu, perbedaan data transaksi atau laporan dapat memicu risiko pemeriksaan hingga denda administratif.<\/p>\n<p>Di sisi lain, perusahaan juga menghadapi tantangan yang semakin kompleks. Tim finance kini harus melakukan rekonsiliasi data dari banyak sumber secara bersamaan mulai dari <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/software-erp-terbaik\/\">ERP<\/a>, data bank, e-Faktur, hingga payroll. Ketika seluruh data harus sinkron dalam waktu cepat proses manual menjadi lebih rentan menimbulkan kesalahan.<\/p>\n<p>Perubahan regulasi perpajakan yang terus berkembang juga membuat perusahaan harus memperbarui aturan dan perhitungan pajak secara real-time. Ditambah lagi, deadline pelaporan yang semakin ketat dan volume transaksi yang terus meningkat membuat beban kerja tim finance ikut bertambah.<\/p>\n<p>Beberapa <a href=\"https:\/\/www.kosh.ai\/blog\/the-hidden-costs-of-manual-reconciliation----and-how-reconciliation-software-fixes-them\" target=\"_blank\" rel=\"nofollow noopener\">riset industri<\/a> menunjukkan tim finance dapat menghabiskan sekitar 20\u201350 jam per bulan hanya untuk proses rekonsiliasi manual dan pencocokan data. Kondisi ini membuat banyak perusahaan mulai mempertimbangkan penggunaan AI Tax dan otomatisasi agar proses perpajakan lebih cepat, akurat, dan siap menghadapi sistem Coretax 2026.<\/p>\n<h2><strong>Fitur Utama AI Pajak yang Wajib Dimiliki Perusahaan<\/strong><\/h2>\n<p>Berikut beberapa fitur AI pajak yang harus dimiliki perusahaan:<\/p>\n<h3><strong>1. Otomasi pengumpulan data<\/strong><\/h3>\n<p>AI pajak mampu membaca berbagai dokumen perpajakan secara otomatis, mulai dari invoice, bukti potong, e-Faktur, hingga mutasi rekening bank. Teknologi seperti OCR (Optical Character Recognition) dan NLP (Natural Language Processing) membantu sistem mengenali isi dokumen lalu mengubahnya menjadi data yang siap diproses.<\/p>\n<p>Dengan proses ini tim finance tidak perlu lagi memasukkan data satu per satu secara manual. Selain menghemat waktu kerja, risiko human error seperti salah input nominal, NPWP, atau tanggal transaksi juga dapat dikurangi secara signifikan.<\/p>\n<h3>2. Validasi data sebelum pelaporan<\/h3>\n<p>Salah satu fungsi penting AI Tax adalah melakukan pengecekan data sebelum laporan dikirim ke DJP. Sistem akan membandingkan data dari buku besar, faktur pajak, hingga transaksi pembayaran untuk mencari ketidaksesuaian.<\/p>\n<p>Contohnya, ketika nominal PPN di invoice berbeda dengan data e-Faktur atau ada transaksi yang belum tercatat di laporan pajak, AI dapat memberikan notifikasi lebih awal. Mekanisme ini membantu perusahaan memperbaiki kesalahan sebelum terkena validasi otomatis dari Coretax DJP.<\/p>\n<h3>3. Rekonsiliasi multi-sumber secara otomatis<\/h3>\n<p>Perusahaan modern biasanya menggunakan banyak sistem sekaligus seperti ERP, internet banking, payroll, dan<a href=\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-fitur-e-faktur-untuk-kemudahan-pengurusan-invoice\/\"> aplikasi e-Faktur<\/a>. Tantangannya, seluruh data tersebut harus tetap sinkron untuk kebutuhan perpajakan.<\/p>\n<p>AI pajak membantu mencocokkan data antar sistem secara otomatis tanpa perlu pengecekan manual berulang. Jika solusi AI sudah terintegrasi langsung dengan ERP perusahaan proses rekonsiliasi bisa berjalan real-time tanpa export-import file yang sering memakan waktu dan berisiko menyebabkan data ganda.<\/p>\n<h3>4. Pemantauan regulasi<\/h3>\n<p>Aturan perpajakan dapat berubah dalam waktu cepat, mulai dari tarif, format pelaporan, hingga ketentuan administrasi baru dari DJP. AI Tax membantu perusahaan tetap mengikuti perubahan tersebut secara otomatis.<\/p>\n<p>Sistem dapat memperbarui kalkulasi dan validasi sesuai regulasi terbaru sehingga tim finance tidak perlu terus memantau perubahan aturan secara manual. Hal ini penting terutama di era Coretax yang menuntut kepatuhan data lebih konsisten dan akurat.<\/p>\n<h3>5. Pelaporan &amp; dashboard<\/h3>\n<p>AI pajak tidak hanya mengelola data, tetapi juga menyajikannya dalam dashboard yang lebih mudah dipahami. Perusahaan dapat melihat status pelaporan dan potensi risiko dalam satu tampilan terpusat.<\/p>\n<p>Beberapa sistem AI bahkan mampu menganalisis pola historis transaksi untuk memprediksi estimasi kewajiban pajak periode berikutnya. Dengan insight seperti ini, perusahaan dapat mempersiapkan cash flow dan strategi perpajakan dengan lebih baik.<\/p>\n<h3>6. Keamanan data &amp; compliance<\/h3>\n<p>Data perpajakan termasuk informasi sensitif karena berkaitan dengan transaksi bisni hingga identitas perusahaan. Oleh karena itu, AI pajak perlu memiliki standar keamanan yang kuat agar tetap sesuai dengan regulasi seperti <a href=\"https:\/\/peraturan.bpk.go.id\/Details\/229798\/uu-no-27-tahun-2022\" target=\"_blank\" rel=\"nofollow noopener\">UU Pelindungan Data Pribadi (UU PDP) No. 27 Tahun 2022<\/a>.<\/p>\n<p>Fitur yang penting meliputi enkripsi data, pembatasan hak akses pengguna, serta audit trail untuk melacak seluruh aktivitas dalam sistem.<\/p>\n<h2><strong>Cara Implementasi AI Pajak di Perusahaan<\/strong><\/h2>\n<p>Berikut beberapa cara implementasi AI pajak:<\/p>\n<h3>1. Audit proses pajak saat ini<\/h3>\n<p>Langkah pertama adalah mengevaluasi alur kerja perpajakan yang berjalan saat ini. Identifikasi proses mana yang masih manual, titik bottleneck yang sering memperlambat pekerjaan, serta berapa banyak waktu yang habis untuk input dan rekonsiliasi data. Dari tahap ini, perusahaan bisa melihat area yang paling membutuhkan otomatisasi.<\/p>\n<h3>2. Tentukan kebutuhan<\/h3>\n<p>Kebutuhan AI pajak setiap perusahaan tidak selalu sama. UMKM biasanya cukup menggunakan tools standalone untuk otomatisasi dasar seperti e-Faktur atau rekonsiliasi sederhana. Sementara perusahaan skala besar umumnya membutuhkan integrasi penuh dengan ERP, sistem bank, hingga payroll agar seluruh data tetap sinkron.<\/p>\n<h3>3. Evaluasi &amp; pilih tools<\/h3>\n<p>Setelah kebutuhan dipetakan, perusahaan dapat mulai membandingkan berbagai solusi AI Tax yang tersedia. Fokus utama bukan hanya harga, tetapi juga kemampuan integrasi, fitur validasi data, keamanan sistem, serta dukungan terhadap regulasi perpajakan Indonesia.<\/p>\n<h3>4. Migrasi data &amp; integrasi sistem<\/h3>\n<p>Tahap berikutnya adalah memindahkan data historis pajak dan menghubungkan sistem AI dengan software yang sudah digunakan perusahaan. Pastikan koneksi ke ERP, internet banking, payroll, dan sistem e-Faktur sudah dikonfigurasi dengan benar agar proses otomatisasi dapat berjalan optimal.<\/p>\n<h3>5. Training tim finance<\/h3>\n<p>AI bukan pengganti tim finance, melainkan alat untuk mempercepat dan meningkatkan akurasi pekerjaan. Karena itu, tim tetap perlu memahami alur perpajakan, cara membaca hasil validasi AI, serta prosedur pengecekan apabila ditemukan anomali data.<\/p>\n<h3>6. Uji coba &amp; validasi<\/h3>\n<p>Sebelum digunakan penuh, lakukan uji coba dengan menjalankan proses manual dan AI secara paralel selama satu hingga dua periode pajak. Tahap ini penting untuk memastikan hasil perhitungan, rekonsiliasi, dan pelaporan sudah sesuai dengan kebutuhan perusahaan.<\/p>\n<h3>7. Go live &amp; monitor<\/h3>\n<p>Setelah sistem tervalidasi, perusahaan dapat mulai beralih ke proses perpajakan berbasis AI secara penuh. Meski begitu, monitoring tetap diperlukan untuk memastikan integrasi berjalan stabil, regulasi selalu ter-update, dan kualitas data tetap terjaga.<\/p>\n<h2><strong>Studi Kasus Otomasi Pajak pada Efisiensi Bisnis<\/strong><\/h2>\n<p>Sebuah perusahaan distribusi nasional sebut saja Perusahaan X menghadapi kendala dalam proses rekonsiliasi dan pelaporan pajak karena volume transaksi yang terus meningkat setiap bulan. Tim finance harus mencocokkan data dari ERP, e-Faktur, mutasi bank, dan payroll secara manual sebelum pelaporan dilakukan ke DJP.Proses tersebut memakan waktu cukup panjang dan sering menimbulkan kendala seperti selisih data transaksi, invoice yang belum tercatat, hingga keterlambatan validasi dokumen. Dalam periode tertentu, tim finance bahkan harus lembur menjelang deadline pelaporan pajak.<\/p>\n<p>Untuk mengatasi masalah tersebut, Perusahaan X mulai mengadopsi sistem AI Tax yang terintegrasi dengan ERP dan sistem keuangan perusahaan. AI digunakan untuk membaca invoice otomatis, melakukan rekonsiliasi lintas sistem, serta memvalidasi data sebelum laporan dikirim ke DJP.<\/p>\n<p>Hasilnya, proses rekonsiliasi yang sebelumnya memakan waktu berhari-hari dapat dipersingkat menjadi beberapa jam saja. Tim finance juga lebih cepat menemukan ketidaksesuaian data karena sistem memberikan notifikasi otomatis ketika ada transaksi yang tidak sinkron.<\/p>\n<p>Selain meningkatkan efisiensi kerja, perusahaan juga mampu mengurangi risiko human error dan mempercepat proses pelaporan pajak bulanan. Dengan beban administrasi yang lebih ringan, tim finance dapat lebih fokus pada analisis keuangan dan perencanaan bisnis dibanding pekerjaan administratif berulang.<\/p>\n<h2><strong> Solusi Sistem ERP Terintegrasi dengan Otomasi Pajak<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone size-full wp-image-193510\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax-HashMicro.webp\" alt=\"ai pajak\" width=\"1913\" height=\"836\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax-HashMicro.webp 1913w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax-HashMicro-300x131.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax-HashMicro-1024x447.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax-HashMicro-768x336.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax-HashMicro-1536x671.webp 1536w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax-HashMicro-961x420.webp 961w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax-HashMicro-150x66.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax-HashMicro-696x304.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax-HashMicro-1068x467.webp 1068w\" sizes=\"auto, (max-width: 1913px) 100vw, 1913px\" \/><\/p>\n<p>Salah satu tantangan terbesar dalam pengelolaan pajak perusahaan adalah data yang tersebar di banyak sistem berbeda. Tim finance sering harus memindahkan data secara manual dari software akuntansi, purchasing, inventory, hingga payroll untuk kebutuhan rekonsiliasi dan pelaporan pajak. Proses seperti ini tidak hanya memakan waktu, tetapi juga meningkatkan risiko data tidak sinkron.<\/p>\n<p>Oleh karena itu, banyak perusahaan mulai beralih ke solusi ERP yang sudah terintegrasi dengan fitur otomatisasi pajak dalam satu sistem. Dengan integrasi ini, data transaksi dari pembelian, penjualan, stok barang, hingga penggajian dapat langsung terhubung ke proses perpajakan tanpa perlu export-import file antar platform.<\/p>\n<p>Pendekatan terintegrasi juga membantu perusahaan melakukan validasi data lebih cepat karena seluruh transaksi berasal dari sumber yang sama. Ketika ada perubahan data di modul akuntansi atau purchasing, informasi perpajakan dapat diperbarui secara otomatis sehingga risiko perbedaan data menjadi lebih kecil.<\/p>\n<p>Selain efisiensi operasional, ERP dengan fitur AI pajak juga membantu perusahaan menjaga kepatuhan terhadap regulasi Indonesia seperti e-Faktur, e-Bupot, PPh, dan PPN. Sistem dapat membantu perhitungan pajak, validasi transaksi, hingga penyusunan laporan secara lebih akurat sesuai ketentuan yang berlaku.<\/p>\n<h2><strong>Kesimpulan<\/strong><\/h2>\n<p>Perubahan sistem perpajakan melalui Coretax DJP membuat perusahaan perlu mengelola data pajak dengan lebih cepat, akurat, dan terintegrasi. Proses manual yang selama ini mengandalkan input berulang dan rekonsiliasi antar file mulai sulit dipertahankan, terutama ketika volume transaksi bisnis terus meningkat.<\/p>\n<p>AI pajak hadir sebagai solusi untuk membantu perusahaan mengotomatisasi proses perpajakan mulai dari pengumpulan data, validasi transaksi, rekonsiliasi lintas sistem, hingga pelaporan yang lebih efisien.<\/p>\n<p>Jika perusahaan Anda ingin menghadapi era Coretax dengan proses perpajakan yang lebih modern dan terintegrasi sekarang adalah waktu yang tepat untuk mulai mempertimbangkan <a href=\"https:\/\/www.hashmicro.com\/id\/tour-produk-gratis\/\">penggunaan ERP dengan fitur otomatisasi pajak berbasis AI<\/a>.<\/p>\n\n<h2><strong> Pertanyaan Seputar AI Pajak<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>Bagaimana cara AI digunakan dalam proses perpajakan?<\/strong><\/summary>\n<p>AI digunakan dalam perpajakan melalui beberapa cara utama: (1) Otomasi input data: AI membaca invoice, bukti potong, dan e-statement bank secara otomatis menggunakan OCR dan NLP, (2) Validasi proaktif: AI meng-cross-check data antar sumber sebelum pelaporan, (3) Rekonsiliasi otomatis: mencocokkan data buku besar, faktur pajak, dan bukti potong secara simultan, (4) Pemantauan regulasi : AI yang selalu update dengan perubahan tarif dan aturan terbaru, dan (5) Prediksi kewajiban pajak: estimasi beban pajak periode mendatang berdasarkan pola historis.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apa perbedaan AI tax assistant dengan software pajak biasa?<\/strong><\/summary>\n<p>Software pajak biasa bekerja berdasarkan rule-based yaitu mengikuti formula tetap yang diinput manual oleh pengguna. AI tax assistant bekerja secara prediktif dan adaptif: bisa membaca dokumen (OCR), memahami instruksi bahasa natural (NLP), belajar dari pola transaksi (machine learning), dan mengeksekusi tugas bertahap secara mandiri. Contoh perbedaan nyata: software pajak biasa membutuhkan input manual untuk rekonsiliasi, sementara AI tax assistant bisa menarik data dari ERP, mencocokkan dengan e-faktur, dan menandai inkonsistensi.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apakah data perusahaan aman jika menggunakan AI untuk pajak?<\/strong><\/summary>\n<p>Keamanan data bergantung pada jenis solusi AI yang dipilih. Pilih vendor yang: (1) comply dengan UU Pelindungan Data Pribadi (UU PDP) No. 27\/2022, (2) menggunakan enkripsi end-to-end untuk data in-transit dan at-rest, (3) menyediakan akses berbasis role sehingga tidak semua pengguna bisa melihat semua data, (4) memiliki audit trail yang mencatat setiap akses dan perubahan data, dan (5) idealnya, menyimpan data di server lokal Indonesia atau cloud yang memenuhi standar BSSN.<\/p>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"Bagaimana cara AI digunakan dalam proses perpajakan?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"AI digunakan dalam perpajakan melalui beberapa cara utama: (1) Otomasi input data: AI membaca invoice, bukti potong, dan e-statement bank secara otomatis menggunakan OCR dan NLP, (2) Validasi proaktif: AI meng-cross-check data antar sumber sebelum pelaporan, (3) Rekonsiliasi otomatis: mencocokkan data buku besar, faktur pajak, dan bukti potong secara simultan, (4) Pemantauan regulasi : AI yang selalu update dengan perubahan tarif dan aturan terbaru, dan (5) Prediksi kewajiban pajak: estimasi beban pajak periode mendatang berdasarkan pola historis.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa perbedaan AI tax assistant dengan software pajak biasa?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Software pajak biasa bekerja berdasarkan rule-based yaitu mengikuti formula tetap yang diinput manual oleh pengguna. AI tax assistant bekerja secara prediktif dan adaptif: bisa membaca dokumen (OCR), memahami instruksi bahasa natural (NLP), belajar dari pola transaksi (machine learning), dan mengeksekusi tugas bertahap secara mandiri. Contoh perbedaan nyata: software pajak biasa membutuhkan input manual untuk rekonsiliasi, sementara AI tax assistant bisa menarik data dari ERP, mencocokkan dengan e-faktur, dan menandai inkonsistensi.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apakah data perusahaan aman jika menggunakan AI untuk pajak?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Keamanan data bergantung pada jenis solusi AI yang dipilih. Pilih vendor yang: (1) comply dengan UU Pelindungan Data Pribadi (UU PDP) No. 27\/2022, (2) menggunakan enkripsi end-to-end untuk data in-transit dan at-rest, (3) menyediakan akses berbasis role sehingga tidak semua pengguna bisa melihat semua data, (4) memiliki audit trail yang mencatat setiap akses dan perubahan data, dan (5) idealnya, menyimpan data di server lokal Indonesia atau cloud yang memenuhi standar BSSN.\"\n    }\n  }]\n}\n<\/script><\/p>\n<\/details>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Sistem Coretax DJP kini memvalidasi setiap data pajak secara otomatis. Kesalahan kecil seperti perbedaan nominal hingga ketidaksesuaian data transaksi dapat langsung terdeteksi dan berujung pada sanksi administratif. Kondisi ini membuat banyak perusahaan mulai mencari cara agar proses perpajakan menjadi lebih akurat dan cepat melalui penggunaan AI pajak. Bukan hanya untuk proses otomatisasi input data, AI [&hellip;]<\/p>\n","protected":false},"author":235,"featured_media":193509,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[5],"tags":[],"class_list":{"0":"post-193501","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-erp"},"acf":{"post_reviewer":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.1 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>AI Pajak: Panduan Lengkap Otomasi Perpajakan 2026<\/title>\n<meta name=\"description\" content=\"AI pajak adalah penerapan teknologi kecerdasan buatan untuk proses perpajakan secara otomatis mulai pengolahan data transaksi hingga analisis kepatuhan.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"AI Pajak: Cara Kecerdasan Buatan Menyederhanakan Pengelolaan Perpajakan Perusahaan\" \/>\n<meta property=\"og:description\" content=\"AI pajak adalah penerapan teknologi kecerdasan buatan untuk proses perpajakan secara otomatis mulai pengolahan data transaksi hingga analisis kepatuhan.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Indonesia\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/hashmicro\" \/>\n<meta property=\"article:published_time\" content=\"2026-05-11T07:20:28+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Irga Afghani\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hashmicro\" \/>\n<meta name=\"twitter:site\" content=\"@hashmicro\" \/>\n<meta name=\"twitter:label1\" content=\"Ditulis oleh\" \/>\n\t<meta name=\"twitter:data1\" content=\"Irga Afghani\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"12 menit\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/ai-pajak\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/ai-pajak\\\/\"},\"author\":{\"name\":\"Irga Afghani\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#\\\/schema\\\/person\\\/0fa08532518633f846416999fe4c0a6b\"},\"headline\":\"AI Pajak: Cara Kecerdasan Buatan Menyederhanakan Pengelolaan Perpajakan Perusahaan\",\"datePublished\":\"2026-05-11T07:20:28+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/ai-pajak\\\/\"},\"wordCount\":2009,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/ai-pajak\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/AI-Tax.webp\",\"articleSection\":[\"ERP\"],\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/ai-pajak\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/ai-pajak\\\/\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/ai-pajak\\\/\",\"name\":\"AI Pajak: Panduan Lengkap Otomasi Perpajakan 2026\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/ai-pajak\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/ai-pajak\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/AI-Tax.webp\",\"datePublished\":\"2026-05-11T07:20:28+00:00\",\"description\":\"AI pajak adalah penerapan teknologi kecerdasan buatan untuk proses perpajakan secara otomatis mulai pengolahan data transaksi hingga analisis kepatuhan.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/ai-pajak\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/ai-pajak\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/ai-pajak\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/AI-Tax.webp\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/05\\\/AI-Tax.webp\",\"width\":1200,\"height\":675,\"caption\":\"ai pajak\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/ai-pajak\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"AI Pajak: Cara Kecerdasan Buatan Menyederhanakan Pengelolaan Perpajakan Perusahaan\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/\",\"name\":\"HashMicro Indonesia\",\"description\":\"Blog Software Manajemen Bisnis Indonesia #1\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"id\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#organization\",\"name\":\"HashMicro Indonesia\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/hashmicro-logo-blog.webp\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/hashmicro-logo-blog.webp\",\"width\":924,\"height\":121,\"caption\":\"HashMicro Indonesia\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/hashmicro\",\"https:\\\/\\\/x.com\\\/hashmicro\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/hashmicro\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#\\\/schema\\\/person\\\/0fa08532518633f846416999fe4c0a6b\",\"name\":\"Irga Afghani\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/WhatsApp-Image-2025-03-13-at-09.41.48-96x96.jpeg\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/WhatsApp-Image-2025-03-13-at-09.41.48-96x96.jpeg\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/03\\\/WhatsApp-Image-2025-03-13-at-09.41.48-96x96.jpeg\",\"caption\":\"Irga Afghani\"},\"description\":\"Irga merupakan spesialis untuk penulisan bidang pengelolaan keuangan bisnis dengan pengalaman selama kurang lebih 3 tahun. Fokus penulisannya mencakup pencatatan dan pelaporan keuangan, analisis finansial, pengelolaan arus kas, serta pemanfaatan sistem akuntansi digital untuk membantu perusahaan meningkatkan akurasi dan efisiensi finansial.\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/author\\\/irga-afghani\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"AI Pajak: Panduan Lengkap Otomasi Perpajakan 2026","description":"AI pajak adalah penerapan teknologi kecerdasan buatan untuk proses perpajakan secara otomatis mulai pengolahan data transaksi hingga analisis kepatuhan.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/","og_locale":"id_ID","og_type":"article","og_title":"AI Pajak: Cara Kecerdasan Buatan Menyederhanakan Pengelolaan Perpajakan Perusahaan","og_description":"AI pajak adalah penerapan teknologi kecerdasan buatan untuk proses perpajakan secara otomatis mulai pengolahan data transaksi hingga analisis kepatuhan.","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2026-05-11T07:20:28+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax.webp","type":"image\/webp"}],"author":"Irga Afghani","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Ditulis oleh":"Irga Afghani","Estimasi waktu membaca":"12 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/"},"author":{"name":"Irga Afghani","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/0fa08532518633f846416999fe4c0a6b"},"headline":"AI Pajak: Cara Kecerdasan Buatan Menyederhanakan Pengelolaan Perpajakan Perusahaan","datePublished":"2026-05-11T07:20:28+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/"},"wordCount":2009,"commentCount":0,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax.webp","articleSection":["ERP"],"inLanguage":"id","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/","name":"AI Pajak: Panduan Lengkap Otomasi Perpajakan 2026","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax.webp","datePublished":"2026-05-11T07:20:28+00:00","description":"AI pajak adalah penerapan teknologi kecerdasan buatan untuk proses perpajakan secara otomatis mulai pengolahan data transaksi hingga analisis kepatuhan.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/05\/AI-Tax.webp","width":1200,"height":675,"caption":"ai pajak"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/ai-pajak\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"AI Pajak: Cara Kecerdasan Buatan Menyederhanakan Pengelolaan Perpajakan Perusahaan"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website","url":"https:\/\/www.hashmicro.com\/id\/blog\/","name":"HashMicro Indonesia","description":"Blog Software Manajemen Bisnis Indonesia #1","publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/id\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"id"},{"@type":"Organization","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization","name":"HashMicro Indonesia","url":"https:\/\/www.hashmicro.com\/id\/blog\/","logo":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/11\/hashmicro-logo-blog.webp","width":924,"height":121,"caption":"HashMicro Indonesia"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/hashmicro","https:\/\/x.com\/hashmicro","https:\/\/www.linkedin.com\/company\/hashmicro"]},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/0fa08532518633f846416999fe4c0a6b","name":"Irga Afghani","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/03\/WhatsApp-Image-2025-03-13-at-09.41.48-96x96.jpeg","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/03\/WhatsApp-Image-2025-03-13-at-09.41.48-96x96.jpeg","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/03\/WhatsApp-Image-2025-03-13-at-09.41.48-96x96.jpeg","caption":"Irga Afghani"},"description":"Irga merupakan spesialis untuk penulisan bidang pengelolaan keuangan bisnis dengan pengalaman selama kurang lebih 3 tahun. Fokus penulisannya mencakup pencatatan dan pelaporan keuangan, analisis finansial, pengelolaan arus kas, serta pemanfaatan sistem akuntansi digital untuk membantu perusahaan meningkatkan akurasi dan efisiensi finansial.","url":"https:\/\/www.hashmicro.com\/id\/blog\/author\/irga-afghani\/"}]}},"focus_keyword":"ai pajak","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/193501","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/users\/235"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/comments?post=193501"}],"version-history":[{"count":4,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/193501\/revisions"}],"predecessor-version":[{"id":193514,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/193501\/revisions\/193514"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/193509"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=193501"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=193501"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=193501"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}