{"id":41648,"date":"2024-05-01T10:02:07","date_gmt":"2024-05-01T03:02:07","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=41648"},"modified":"2026-01-21T10:51:42","modified_gmt":"2026-01-21T03:51:42","slug":"pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/","title":{"rendered":"Pentingnya Software Akuntansi Kontraktor untuk Aktualisasi RAB"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Usaha jasa kontraktor sangat berperan dalam pembangunan rumah, gedung, dan bangunan lain. Kontraktor atau biasa Anda kenal sebagai pemborong menjadi salah satu profesi yang dapat menghasilkan banyak keuntungan. Namun, kontraktor juga rawan mengalami kerugian jika tidak mampu mengelola keuangannya dengan baik. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Hal ini karena sistem perputaran dana kontraktor terjadi dengan cepat. Maka dari itu, Anda tentunya memerlukan <\/span><span style=\"font-weight: 400;\">Software Akuntansi<\/span><span style=\"font-weight: 400;\"> Kontraktor untuk memudahkan dalam laporan keuangan perusahaan Anda.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Masalah keuangan yang sering terjadi dalam usaha kontraktor adalah kesalahan penghitungan biaya pembangunan. Kontraktor tentunya harus mampu memprediksi biaya pembangunan rumah atau gedung agar dapat memberikan nilai kontrak yang sesuai pada klien. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Jika terjadi kesalahan, maka kontraktor berpotensi mengalami kerugian yang besar. <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/sistem-akuntansi\"><span style=\"font-weight: 400;\">Software Akuntansi HashMicro<\/span><\/a><span style=\"font-weight: 400;\"> dilengkapi dengan berbagai macam fitur yang dapat membantu kontraktor menjalankan bisnisnya dengan baik.\u00a0<\/span><\/p>\n\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script> <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<p><b>Baca juga: <\/b><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/manfaat-software-akuntansi-untuk-perusahaan-konstruksi\/\"><b>Manfaat Software Akuntansi untuk Perusahaan Konstruksi<\/b><\/a><\/p>\n<h2 id=\"1\"><b>Fungsi <\/b><b>Software<\/b><b> Akuntansi<\/b> <b>untuk Perusahaan Kontraktor\u00a0<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-43271 size-full aligncenter\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/10\/Desain-tanpa-judul-42-1.png\" alt=\"software akuntansi kontraktor memiliki fungsi yang dapat memudahkan perusahaan seperti memantau arus utang piutang\" width=\"700\" height=\"360\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/10\/Desain-tanpa-judul-42-1.png 700w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/10\/Desain-tanpa-judul-42-1-300x154.png 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/10\/Desain-tanpa-judul-42-1-150x77.png 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/10\/Desain-tanpa-judul-42-1-696x358.png 696w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/software-penting-untuk-perusahaan-konstruksi\/\">Software Akuntansi Kontraktor<\/a> memiliki fungsi yang dapat memudahkan perusahaan Anda. Dengan mengetahui fungsi-fungsi dalam<span style=\"font-weight: 400;\"> software <\/span><span style=\"font-weight: 400;\">akuntansi, Anda dapat melakukan secara otomatis dan dengan mudah dalam mengelola keuangan perusahaan.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Berikut adalah beberapa fungsi <\/span><span style=\"font-weight: 400;\">software<\/span><span style=\"font-weight: 400;\"> akuntansi keuangan yang perlu Anda ketahui.<\/span><\/p>\n<h3 id=\"a\"><span style=\"font-weight: 400;\">1. Memudahkan dalam memantau arus utang piutang<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Utang piutang adalah hal yang cukup krusial, tidak hanya untuk bisnis kontraktor saja namun untuk segala jenis bisnis. Dengan melakukan pemantauan arus utang piutang dalam bisnis, Anda dapat mencegah kerugian yang mungkin saja dapat terjadi.<\/span><\/p>\n<p><a href=\"https:\/\/www.hashmicro.com\/id\/sistem-akuntansi\"><span style=\"font-weight: 400;\">Software Akuntansi HashMicro<\/span><\/a><span style=\"font-weight: 400;\"> yang dilengkapi dengan fitur yang dapat memantau utang piutang akan memudahkan kontraktor dalam pencatatan serta perhitungan akrual dan amortisasi secara otomatis. Dari perhitungan tersebut, dapat Anda ambil keputusan yang tepat untuk bisnis Anda.<\/span><\/p>\n<h3 id=\"b\"><span style=\"font-weight: 400;\">2. Tata kelola faktur pembayaran<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Pencatatan transaksi dalam perusahaan adalah bagian penting dari setiap laporan keuangan. Setiap Anda melakukan transaksi pembayaran tentunya perlu mencatatnya sebagai bukti yang dapat dipegang perusahaan. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Pengelolaan faktur pembayaran tidak perlu Anda lakukan lagi secara manual dengan menggunakan <\/span><span style=\"font-weight: 400;\">sistem<\/span><span style=\"font-weight: 400;\"> akuntansi kontraktor. <\/span><span style=\"font-weight: 400;\">Software<\/span><span style=\"font-weight: 400;\">\u00a0ini nantinya akan secara otomatis mencatat transaksi dengan mengelola data untuk Anda gunakan sebagai pelaporan keuangan yang dapat memudahkan kontraktor.<\/span><\/p>\n<p><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/7-software-rab-kontraktor-terbaik-untuk-manajemen-prakonstruksi\/\">Software RAB kontraktor<\/a> yang terintegrasi dengan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/rekomendasi-software-akuntansi-di-indonesia\/\">aplikasi accounting<\/a> juga dapat digunakan untuk merencanakan anggaran biaya untuk berbagai macam proyek konstruksi, sehingga pembengkakan biaya dapat dihindari.<\/p>\n<h3 id=\"c\"><span style=\"font-weight: 400;\">3. Mempermudah penyesuaian transaksi dengan laporan keuangan\u00a0<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Perusahaan pastinya sudah melakukan transaksi dan sudah dicatat secara otomatis, maka setiap proses laporan keuangan bisa Anda proses dengan mudah. Data transaksi yang telah tercatat tidak perlu lagi Anda tulis ulang. <\/span><\/p>\n<p>Sistem akuntansi yang memiliki fitur transaksi dan laporan keuangan akan sangat membantu kontraktor dalam menjalankan perusahaan. Selain itu, software akuntansi dapat mengetahui pendapatan dan biaya pengeluaran secara tepat dalam jangka waktu yang perusahaan tentukan, sekaligus terintegrasi dengan data dari <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/contoh-rab\/\">contoh RAB kegiatan<\/a> yang dibuat sebelumnya.<\/p>\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>\n<h3 id=\"d\"><span style=\"font-weight: 400;\">4. Memantau detail aset kontraktor dengan <\/span><span style=\"font-weight: 400;\">Software<\/span><span style=\"font-weight: 400;\"> Akuntansi<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Monitoring<\/span><span style=\"font-weight: 400;\"> aset tentunya tidak perlu lagi Anda lakukan secara manual dengan menggunakan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/fungsi-manajemen-keuangan-proyek-konstruksi\/\">manajemen keuangan proyek konstruksi<\/a>. Kontraktor tentunya dapat tetap menjalankan bisnis dan memantau aset secara detail dengan mudah dan bisa Anda lakukan kapan saja.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> Aplikasi akuntansi juga dapat memberikan perhitungan detail aset secara akurat. Dengan menggunakan fitur-fitur dari <\/span><span style=\"font-weight: 400;\">software<\/span><span style=\"font-weight: 400;\"> ini, kontraktor mengambil langkah tepat untuk memantau detail aset yang mereka miliki.<\/span><\/p>\n<h3 id=\"e\"><span style=\"font-weight: 400;\">5. Rekonsiliasi bank<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Rekonsiliasi bank tentunya dapat menjadi proses yang sangat rumit bagi pemilik usaha. Perhitungan yang rumit serta akurat sangat perusahaan perlukan karena jika adanya sedikit kesalahan bisa berakibat fatal. Perhitungan secara manual bisa menimbulkan <\/span><span style=\"font-weight: 400;\">human error<\/span><span style=\"font-weight: 400;\"> yang berdampak bagi perusahaan. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Software<\/span><span style=\"font-weight: 400;\"> akuntansi kontraktor dapat membantu proses rekonsiliasi bank agar meminimalisir kesalahan.\u00a0<\/span><\/p>\n<p><b>Baca juga: <\/b><b><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/contoh-rab\/\">Contoh RAB<\/a> untuk Perusahaan Anda<\/b><\/p>\n<h2 id=\"2\"><b>Manfaat <\/b><b>Software<\/b><b> Akuntansi HashMicro untuk Perusahaan Kontraktor<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-43273 size-full aligncenter\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/10\/Desain-tanpa-judul-41-1.png\" alt=\"software akuntansi kontraktor dapat mengotomatiskan sistem gaji karyawan dalam perusahaan\" width=\"700\" height=\"360\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/10\/Desain-tanpa-judul-41-1.png 700w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/10\/Desain-tanpa-judul-41-1-300x154.png 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/10\/Desain-tanpa-judul-41-1-150x77.png 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2022\/10\/Desain-tanpa-judul-41-1-696x358.png 696w\" sizes=\"auto, (max-width: 700px) 100vw, 700px\" \/><a href=\"https:\/\/www.hashmicro.com\/id\/sistem-akuntansi\"><span style=\"font-weight: 400;\">Software Akuntansi dari HashMicro<\/span><\/a><span style=\"font-weight: 400;\"> tentunya dapat membantu kontraktor dalam banyak hal. Aplikasi ini dapat terhubung dan terintegrasi dengan sistem lainnya, Anda dapat mengotomatiskan sistem <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-penggajian\/\"><span style=\"font-weight: 400;\">penggajian<\/span><\/a><span style=\"font-weight: 400;\"> karyawan melalui <\/span><span style=\"font-weight: 400;\">software payroll <\/span><span style=\"font-weight: 400;\">di HashMicro.<\/span><\/p>\n<p>Selain itu, sistem akuntansi kontraktor dapat mempermudah pengelolaan data transaksi serta memudahkan proses pembukuan dan pencatatan, yang terintegrasi dengan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/aplikasi-untuk-kontraktor\/\">aplikasi untuk perusahaan kontraktor<\/a>. Software akuntansi ini menawarkan manfaat yang dapat memenuhi kebutuhan akuntansi perusahaan, sehingga kontraktor dapat menggunakannya dengan lebih efisien.<\/p>\n<p><span style=\"font-weight: 400;\">Software<\/span><span style=\"font-weight: 400;\"> akuntansi HashMicro dapat mempermudah Anda yang menjalankan usaha jasa kontraktor dalam mengelola akuntansi perusahaan. Berikut manfaat <\/span><span style=\"font-weight: 400;\">software<\/span><span style=\"font-weight: 400;\"> akuntansi kontraktor.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\">\n<h3><span style=\"font-weight: 400;\">Dapat menghemat waktu<\/span><\/h3>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Dengan menggunakan aplikasi<\/span><span style=\"font-weight: 400;\"> akuntansi kontraktor, Anda dapat mengurangi proses akuntansi secara manual yang biasanya memakan cukup waktu yang lama. Selain itu, Anda dapat menghemat waktu seperti melakukan pembukuan, kalkulasi depresiasi aset, dan lain-lain.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"> Dengan sistem ini, semua hal yang perlu Anda lakukan dalam akuntansi dapat Anda lakukan secara otomatis sehingga waktu pengerjaan menjadi singkat dan cepat.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\">\n<h3><span style=\"font-weight: 400;\">Dapat melihat informasi secara <\/span><span style=\"font-weight: 400;\">real-time<\/span><\/h3>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Manfaat yang dapat Anda rasakan dengan menggunakan <\/span><span style=\"font-weight: 400;\">software<\/span><span style=\"font-weight: 400;\"> ini adalah anda dapat melihat informasi keuangan secara <\/span><span style=\"font-weight: 400;\">real-time. <\/span><span style=\"font-weight: 400;\">Perusahan kontraktor akan mudah dalam membuat laporan keuangan secara otomatis. <\/span><span style=\"font-weight: 400;\">Software<\/span><span style=\"font-weight: 400;\"> akuntansi juga dapat membuat keputusan bisnis yang lebih baik menggunakan aplikasi akuntansi <\/span><span style=\"font-weight: 400;\">online<\/span><span style=\"font-weight: 400;\">.\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\">\n<h3><span style=\"font-weight: 400;\">Akurasi tinggi<\/span><\/h3>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Dengan bantuan Software Terbaik HashMicro, <\/span><span style=\"font-weight: 400;\">Anda dapat mengetahui kondisi keuangan di setiap cabang bisnis Anda. Anda harus melakukan analisis mendalam dan estimasi pendapatan secara akurat. Perusahaan dapat mengotomatisasi pencatatan transaksi yang efisien dan efektif.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\">\n<h3><span style=\"font-weight: 400;\">Meningkatkan profitabilitas dengan sistem akuntansi kontraktor<\/span><\/h3>\n<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Manfaat terakhir jika Anda menggunakan <\/span><span style=\"font-weight: 400;\">software<\/span><span style=\"font-weight: 400;\"> ini adalah dapat meningkatkan profitabilitas. Profitabilitas menjadi meningkat karena perhitungan <\/span><span style=\"font-weight: 400;\">budget <\/span><span style=\"font-weight: 400;\">yang lebih tepat. Dengan <\/span><span style=\"font-weight: 400;\">software<\/span><span style=\"font-weight: 400;\"> ini, secara otomatis dapat menghitung laporan laba dan rugi hanya dalam hitungan detik.<\/span><\/p>\n<p><b>Baca juga: <\/b><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi\/\"><b>Sistem Akuntansi: Pengertian, Manfaat, Unsur, dan Penerapannya<\/b><\/a><\/p>\n<h2 id=\"3\"><b>Kesimpulan\u00a0<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Dengan memahami cara kerja <\/span><span style=\"font-weight: 400;\">Software Akuntansi<\/span><span style=\"font-weight: 400;\"> Kontraktor, tentunya dapat mempermudah Anda dalam mengelola laporan keuangan dalam perusahaan kontraktor. Selain itu, Anda dapat secara mudah memproses pembukuan dan pencatatan seluruh transaksi perusahaan yang dapat Anda kelola dengan sistem ini. <\/span><\/p>\n<p><span style=\"font-weight: 400;\">Melalui sistem ini juga dapat membantu Anda mengetahui pendapatan dan biaya pengeluaran secara tepat dalam jangka waktu yang ditentukan.<\/span><\/p>\n<p><a href=\"https:\/\/www.hashmicro.com\/id\/sistem-akuntansi\"><span style=\"font-weight: 400;\">Software Akuntansi<\/span><\/a><span style=\"font-weight: 400;\"> terbaik dari HashMicro dapat memudahkan kontraktor dalam memonitor kondisi keuangan perusahaan secara menyeluruh. Anda juga dapat menggunakan fitur-fitur yang tersedia di software akuntansi dengan mudah.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Software<\/span><span style=\"font-weight: 400;\"> ini juga dapat terintegrasi dengan sistem lainnya secara menyeluruh. Unduh <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/offer\/download-skema-harga-software-erp\"><span style=\"font-weight: 400;\">skema perhitungan harga<\/span><\/a><span style=\"font-weight: 400;\"> untuk mendapatkan gambaran harganya. Serta dapatkan <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/tour-produk-gratis\/\"><span style=\"font-weight: 400;\">demo gratis<\/span><\/a><span style=\"font-weight: 400;\"> di sini!<\/span><\/p>\n<a href=\"https:\/\/www.hashmicro.com\/id\/sistem-akuntansi?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/accounting-definitive.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/accounting-definitive.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/01\/accounting-definitive-m.webp\" alt=\"Accounting_Definisi\" class=\"responsive-image-banner\"><\/a>\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"Apa yang dimaksud Software Akuntansi?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Software Akuntansi adalah sebuah program yang dirancang khusus untuk mengelola catatan komersial atau transaksi. Program akuntansi digunakan oleh akuntan untuk mempermudah pengelolaan data transaksi. Software akuntansi adalah sebuah program yang berguna untuk memudahkan kinerja seorang akuntan dalam mencatat transaksi. Proses pembukuan dan pencatatan seluruh transaksi perusahaan dapat dikelola secara mudah dengan software akuntansi.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Bagaimana tips memilih software akuntansi yang tepat ?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Memperhatikan tingkat keamanan yang ada, Memilah software online atau offline, Memiliki fitur back up data, Memiliki kemudahan akses, tersedia layanan customer support, dan sesuaikan fitur yang tersedia dengan kebutuhan. Aplikasi akuntansi yang baik tentu dapat terhubung dan terintegrasi dengan software lainnya. Contohnya adalah sistem akuntansi yang terhubung dengan software payroll untuk mengotomatiskan sistem penggajian karyawan.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Mengapa perusahaan harus menggunakan sistem akuntansi?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Sistem akuntansi dapat mengurangi akuntan dalam mencatat seluruh transaksi dan pembukuan perusahaan sehingga lebih efektif. Sistem akuntansi juga dapat memudahkan pembayaran akuntan karena telah terintegrasi dengan berbagai bank di Indonesia. Software akuntansi juga dapat memudahkan akuntan untuk menggaji karyawan karena telah terintegrasi dengan software payroll.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa saja kelebihan penggunaan aplikasi akuntansi?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Perusahaan dapat mengotimatisasi pencatatan transaksi yang efisien, Meningkatkan keamanan data perusahaan, dan memudahkan akuntan dalam melakukan pembukuan. Aplikasi akuntansi dapat memudahkan akuntan dalam membayar pajak dan gaji karyawan. Selain itu, program akuntansi juga memudahkan para akuntan untuk melakukan pembayaran operasional secara otomatis. Akuntan dapat meningkatkan dan meringankan beban kerja mereka.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Usaha jasa kontraktor sangat berperan dalam pembangunan rumah, gedung, dan bangunan lain. Kontraktor atau biasa Anda kenal sebagai pemborong menjadi salah satu profesi yang dapat menghasilkan banyak keuntungan. Namun, kontraktor juga rawan mengalami kerugian jika tidak mampu mengelola keuangannya dengan baik. Hal ini karena sistem perputaran dana kontraktor terjadi dengan cepat. Maka dari itu, Anda [&hellip;]<\/p>\n","protected":false},"author":164,"featured_media":140317,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1232],"tags":[],"class_list":{"0":"post-41648","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-accounting"},"acf":{"post_reviewer":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.1 (Yoast SEO v25.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Pentingnya Software Akuntansi Kontraktor untuk Aktualisasi RAB<\/title>\n<meta name=\"description\" content=\"Perusahaan kontraktor tentunya memerlukan software akuntansi kontraktor dalam mengelola laporan keuangan. Simak artikel berikut lebih lanjut!\" \/>\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\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Pentingnya Software Akuntansi Kontraktor untuk Aktualisasi RAB\" \/>\n<meta property=\"og:description\" content=\"Perusahaan kontraktor tentunya memerlukan software akuntansi kontraktor dalam mengelola laporan keuangan. Simak artikel berikut lebih lanjut!\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/\" \/>\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=\"2024-05-01T03:02:07+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-21T03:51:42+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/05\/Pentingnya_Software_Akuntansi_Kontraktor_untuk_Aktualisasi_RAB.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"650\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Dewi Sartika\" \/>\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=\"Dewi Sartika\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 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\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/\"},\"author\":{\"name\":\"Dewi Sartika\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/9d2e46cf3129df0cdcfe1ea9bbdb74f1\"},\"headline\":\"Pentingnya Software Akuntansi Kontraktor untuk Aktualisasi RAB\",\"datePublished\":\"2024-05-01T03:02:07+00:00\",\"dateModified\":\"2026-01-21T03:51:42+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/\"},\"wordCount\":975,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/05\/Pentingnya_Software_Akuntansi_Kontraktor_untuk_Aktualisasi_RAB.png\",\"articleSection\":[\"Accounting\"],\"inLanguage\":\"id\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/\",\"name\":\"Pentingnya Software Akuntansi Kontraktor untuk Aktualisasi RAB\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/05\/Pentingnya_Software_Akuntansi_Kontraktor_untuk_Aktualisasi_RAB.png\",\"datePublished\":\"2024-05-01T03:02:07+00:00\",\"dateModified\":\"2026-01-21T03:51:42+00:00\",\"description\":\"Perusahaan kontraktor tentunya memerlukan software akuntansi kontraktor dalam mengelola laporan keuangan. Simak artikel berikut lebih lanjut!\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/05\/Pentingnya_Software_Akuntansi_Kontraktor_untuk_Aktualisasi_RAB.png\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/05\/Pentingnya_Software_Akuntansi_Kontraktor_untuk_Aktualisasi_RAB.png\",\"width\":1200,\"height\":650,\"caption\":\"Pentingnya Software Akuntansi Kontraktor untuk Aktualisasi RAB\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/id\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Pentingnya Software Akuntansi Kontraktor untuk Aktualisasi RAB\"}]},{\"@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\/9d2e46cf3129df0cdcfe1ea9bbdb74f1\",\"name\":\"Dewi Sartika\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Dewi-Sartika-2-96x96.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Dewi-Sartika-2-96x96.webp\",\"caption\":\"Dewi Sartika\"},\"description\":\"Berbekal pengalaman selama 6 tahun dalam industri SaaS, Dewi telah menjadi praktisi untuk penulisan artikel terkait accounting dan bidang keuangan. Ia berfokus menulis artikel seputar Laporan keuangan (neraca, laba rugi, arus kas), standar akuntansi (PSAK, IFRS, GAAP), perpajakan (e-faktur, PPn, tax planning), dan manajemen biaya.\",\"sameAs\":[\"https:\/\/www.hashmicro.com\/id\/\"],\"gender\":\"Perempuan\",\"knowsAbout\":[\"Akuntansi\",\"Keuangan\",\"Pembukuan\"],\"knowsLanguage\":[\"Inggris\",\"Indonesia\"],\"jobTitle\":\"Senior Content Writer\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/author\/dewisartika\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Pentingnya Software Akuntansi Kontraktor untuk Aktualisasi RAB","description":"Perusahaan kontraktor tentunya memerlukan software akuntansi kontraktor dalam mengelola laporan keuangan. Simak artikel berikut lebih lanjut!","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\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/","og_locale":"id_ID","og_type":"article","og_title":"Pentingnya Software Akuntansi Kontraktor untuk Aktualisasi RAB","og_description":"Perusahaan kontraktor tentunya memerlukan software akuntansi kontraktor dalam mengelola laporan keuangan. Simak artikel berikut lebih lanjut!","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2024-05-01T03:02:07+00:00","article_modified_time":"2026-01-21T03:51:42+00:00","og_image":[{"width":1200,"height":650,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/05\/Pentingnya_Software_Akuntansi_Kontraktor_untuk_Aktualisasi_RAB.png","type":"image\/png"}],"author":"Dewi Sartika","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Ditulis oleh":"Dewi Sartika","Estimasi waktu membaca":"6 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/"},"author":{"name":"Dewi Sartika","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/9d2e46cf3129df0cdcfe1ea9bbdb74f1"},"headline":"Pentingnya Software Akuntansi Kontraktor untuk Aktualisasi RAB","datePublished":"2024-05-01T03:02:07+00:00","dateModified":"2026-01-21T03:51:42+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/"},"wordCount":975,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/05\/Pentingnya_Software_Akuntansi_Kontraktor_untuk_Aktualisasi_RAB.png","articleSection":["Accounting"],"inLanguage":"id"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/","name":"Pentingnya Software Akuntansi Kontraktor untuk Aktualisasi RAB","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/05\/Pentingnya_Software_Akuntansi_Kontraktor_untuk_Aktualisasi_RAB.png","datePublished":"2024-05-01T03:02:07+00:00","dateModified":"2026-01-21T03:51:42+00:00","description":"Perusahaan kontraktor tentunya memerlukan software akuntansi kontraktor dalam mengelola laporan keuangan. Simak artikel berikut lebih lanjut!","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/05\/Pentingnya_Software_Akuntansi_Kontraktor_untuk_Aktualisasi_RAB.png","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/05\/Pentingnya_Software_Akuntansi_Kontraktor_untuk_Aktualisasi_RAB.png","width":1200,"height":650,"caption":"Pentingnya Software Akuntansi Kontraktor untuk Aktualisasi RAB"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/pentingnya-software-akuntansi-kontraktor-untuk-aktualisasi-rab\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Pentingnya Software Akuntansi Kontraktor untuk Aktualisasi RAB"}]},{"@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\/9d2e46cf3129df0cdcfe1ea9bbdb74f1","name":"Dewi Sartika","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Dewi-Sartika-2-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Dewi-Sartika-2-96x96.webp","caption":"Dewi Sartika"},"description":"Berbekal pengalaman selama 6 tahun dalam industri SaaS, Dewi telah menjadi praktisi untuk penulisan artikel terkait accounting dan bidang keuangan. Ia berfokus menulis artikel seputar Laporan keuangan (neraca, laba rugi, arus kas), standar akuntansi (PSAK, IFRS, GAAP), perpajakan (e-faktur, PPn, tax planning), dan manajemen biaya.","sameAs":["https:\/\/www.hashmicro.com\/id\/"],"gender":"Perempuan","knowsAbout":["Akuntansi","Keuangan","Pembukuan"],"knowsLanguage":["Inggris","Indonesia"],"jobTitle":"Senior Content Writer","url":"https:\/\/www.hashmicro.com\/id\/blog\/author\/dewisartika\/"}]}},"focus_keyword":"software akuntansi kontraktor","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/41648","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\/164"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/comments?post=41648"}],"version-history":[{"count":13,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/41648\/revisions"}],"predecessor-version":[{"id":186415,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/41648\/revisions\/186415"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/140317"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=41648"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=41648"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=41648"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}