{"id":81812,"date":"2024-02-17T14:13:29","date_gmt":"2024-02-17T07:13:29","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=81812"},"modified":"2026-02-04T14:50:35","modified_gmt":"2026-02-04T07:50:35","slug":"sistem-akuntansi-perusahaan-jasa","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/","title":{"rendered":"Sistem Akuntansi Perusahaan Jasa untuk Billing Rapi"},"content":{"rendered":"<p>Di perusahaan jasa, satu klien bisa ditagih dengan cara yang beda: retainer bulanan, milestone per tahap, atau time &amp; material berdasarkan jam kerja. Di saat yang sama, ada reimbursement, biaya vendor, dan biaya internal yang termasuk ke pekerjaan yang sama.<\/p>\n<p>Sistem akuntansi perusahaan jasa dipakai untuk merapikan hubungan antara pekerjaan yang dilakukan, biaya yang keluar, dan pendapatan yang diakui. Jadi, transaksi tidak berdiri sendiri, tapi punya konteks proyek\/klien yang jelas sejak awal.<\/p>\n<p>Hasilnya, tim bisa melihat angka yang lebih relevan. Performa per proyek, profit per klien, dan progres penagihan tanpa harus bongkar catatan satu-satu. Angka laporan jadi lebih mudah dipakai untuk evaluasi rutin dan perencanaan.<\/p>\n<table style=\"border-collapse: collapse; background-color: #fffacd; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); border-radius: 25px 25px 25px 25px;\" width=\"100%\">\n<tbody>\n<tr>\n<td style=\"padding: 15px; border: none;\">\n<h3 style=\"margin-bottom: 10px;\"><span style=\"background-color: #990000; color: #ffffff; padding: 5px;\"><b>Key Takeaways<\/b><\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><a href=\"#akun\">Akuntansi perusahaan jasa<\/a> terdiri atas dua frase yang memiliki definisi atau arti yang berbeda, yaitu akuntansi dan perusahaan jasa.<\/span><\/li>\n<li aria-level=\"1\">Banyak perusahaan jasa yang melakukan sebagian besar kegiatannya <a href=\"#mengapa\">berhubungan dengan perencanaan bisnis<\/a>.<\/li>\n<li aria-level=\"1\"><span style=\"font-weight: 400;\">Perusahaan jasa perlu menyimpan seluruh <a href=\"#bukti\">bukti<\/a> yang menandakan bahwa sebuah transaksi yang mereka lakukan pernah benar-benar terjadi.<\/span><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span id=\"akun\">\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><\/span><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 id=\"mengenal-akuntansi-perusahaan-jasa\"><b>Apa itu Akuntansi Perusahaan Jasa?\u00a0<\/b><\/h2>\n<article class=\"text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" tabindex=\"-1\" data-turn-id=\"request-WEB:c3eebf6a-abff-4721-9f68-9e879b17481d-9\" data-testid=\"conversation-turn-16\" data-scroll-anchor=\"true\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" tabindex=\"-1\">\n<div class=\"flex max-w-full flex-col grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"d4a7c041-65c9-4c31-93d7-0c86a6074778\" data-message-model-slug=\"gpt-5-1\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[1px]\">\n<div class=\"markdown prose dark:prose-invert w-full break-words dark markdown-new-styling\">\n<p data-start=\"94\" data-end=\"358\">Akuntansi adalah proses untuk mencatat, mengelompokkan, dan merangkum berbagai transaksi yang terjadi dalam sebuah bisnis. Informasi yang dihasilkan dari proses ini menjadi dasar untuk memahami kondisi keuangan dan membuat keputusan yang lebih tepat.<\/p>\n<p data-start=\"360\" data-end=\"607\" data-is-last-node=\"\" data-is-only-node=\"\">Perusahaan jasa adalah jenis usaha yang kegiatan utamanya menyediakan layanan kepada pelanggan, bukan menjual produk fisik. Nilai yang diberikan berasal dari keahlian, waktu, atau bentuk pelayanan lain yang membantu memenuhi kebutuhan konsumennya.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/article>\n<p><span style=\"font-weight: 400;\">Maka akuntansi perusahaan jasa adalah sebuah sistem pencatatan, pengelompokan, dan proses analisis berbagai transaksi keuangan yang terjadi pada perusahaan jasa yang dapat menjadi bagian dari<a href=\"https:\/\/www.hashmicro.com\/id\/blog\/contoh-laporan-keuangan-perusahaan\/\"> laporan keuangan akhir perusahaan<\/a>.<\/span><\/p>\n<h2 id=\"karakteristik-perusahaan-jasa\"><b>Apa Saja Karakteristik Perusahaan Jasa?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Berikut merupakan karakteristik-karakteristik dari perusahaan jasa beserta penjelasan secara detail:<\/span><\/p>\n<h3 id=\"menjual-jasa-sebagai-kegiatan-utama\"><strong>1. Menjual jasa sebagai kegiatan utama<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Karakteristik yang pertama dari perusahaan jasa adalah untuk menjadikan penjualan jasa sebagai kegiatan yang utama. Walaupun menggunakan satu atau lebih objek dalam melaksanakan kegiatan bisnisnya, perusahaan jasa hanya bergerak dalam menawarkan jasa yang mereka miliki.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Apabila konsumen atau target pasar mereka tertarik, perusahaan jasa dapat melaksanakan proses penjualan kepada para pelanggan mereka.<\/span><\/p>\n<h3 id=\"tidak-menyediakan-produk-dalam-bentuk-fisik\"><strong>2. Tidak menyediakan produk dalam bentuk fisik<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Selanjutnya, karakteristik yang kedua dari perusahaan jasa adalah perusahaan ini tidak memperjualbelikan produk dalam bentuk fisik. Jasa memiliki bentuk atau sifat <\/span><span style=\"font-weight: 400;\">intangible<\/span><span style=\"font-weight: 400;\"> atau tidak berwujud, sehingga baik dari perusahaan atau konsumen tidak dapat melihat atau menyimpan jasa.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Walaupun tidak memiliki wujud, konsumen atau pengguna tetap dapat merasakan manfaat dari jasa yang mereka terima dari perusahaan.<\/span><\/p>\n<h3 id=\"hasil-tidak-dapat-disamakan\"><strong>3. Hasil tidak dapat disamakan<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Berikutnya, karakteristik yang ketiga dari perusahaan jasa adalah bahwa hasil usaha tidak dapat sama. Hal ini karena adanya subjektivitas seputar kepuasan pelanggan, dimana setiap pelanggan memiliki tingkat kepuasan yang berbeda antara satu pelanggan dengan yang lainnya.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Selain itu, kualitas karyawan juga menyebabkan penyamarataan pendapatan atau hasil menjadi semakin sulit. Sehingga, hasil usaha tidak dapat disamaratakan terhadap semua konsumen perusahaan jasa tersebut.<\/span><\/p>\n<h3 id=\"tidak-ada-standar-harga-yang-umum\"><strong>4. Tidak ada standar harga yang umum<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Karakteristik terakhir yang terdapat dalam perusahaan jasa adalah tidak terdapat standarisasi harga yang bersifat umum. Kebutuhan dari setiap pelanggan akan selalu berbeda-beda tergantung dengan apa yang mereka ingini dan juga keluhan yang mereka miliki.<\/span><\/p>\n<p>Di sisi lain, pemilik usaha baru dapat menjalankan suatu perusahaan atau bisnis jasa jika penganggaran dilakukan secara optimal. Dengan mengontrol arus kas dan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/tahapan-siklus-akuntansi-perusahaan-jasa-yang-perlu-anda-ketahui\/\">siklus akuntansi perusahaan jasa<\/a> yang dapat memungkinkan pebisnis untuk berinvestasi dalam peluang baru di saat yang tepat.<\/p>\n<h2 id=\"jenis-transaksi-akuntansi-perusahaan-jasa\"><b>Jenis Transaksi Akuntansi Perusahaan Jasa<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Terdapat beberapa jenis transaksi yang harus masuk ke dalam laporan, yaitu:<\/span><\/p>\n<ol>\n<li><strong>Pembelian operasional:<\/strong> Di dalam laporan<span style=\"font-weight: 400;\">\u00a0m<\/span>encakup pembelian barang\/jasa penunjang seperti perlengkapan kantor, langganan software, biaya vendor, transport, dan kebutuhan proyek.<\/li>\n<li><strong>Beban dibayar di muka:<\/strong> Untuk biaya yang manfaatnya lebih dari satu periode, seperti sewa, asuransi, atau langganan tahunan, lalu dialokasikan bertahap per bulan.<\/li>\n<li><strong>Pendapatan jasa (tunai dan kredit):<\/strong> Pendapatan dari layanan yang diberikan, baik langsung dibayar maupun ditagihkan lewat invoice, termasuk model retainer, milestone, atau time &amp; material.<\/li>\n<li><strong>Piutang usaha:<\/strong> Muncul saat invoice diterbitkan tetapi klien belum membayar, sehingga saldo piutang harus dipantau per klien agar tidak tercampur.<\/li>\n<li><strong>Penerimaan piutang:<\/strong> Dicatat saat pembayaran dari klien masuk, baik penuh maupun sebagian, termasuk potongan, denda, atau selisih pembayaran jika ada.<\/li>\n<li><strong>Utang usaha:<\/strong> Terjadi saat perusahaan memakai jasa pihak ketiga atau membeli kebutuhan operasional secara kredit, misalnya vendor, freelancer, atau supplier.<\/li>\n<li><strong>Pembayaran utang:<\/strong> Dicatat saat kewajiban ke vendor\/supplier dibayarkan, termasuk biaya tambahan seperti administrasi atau selisih kurs bila relevan.<\/li>\n<li><strong>Payroll dan biaya karyawan:<\/strong> Meliputi gaji, lembur, insentif, benefit\/BPJS, dan reimburse yang menjadi beban perusahaan agar biaya tenaga kerja terbaca jelas per periode.<\/li>\n<li><strong>Pajak dan kewajiban perpajakan:<\/strong> Mencakup PPN (jika PKP), PPh 21\/23, serta setoran pajak yang sebaiknya dicatat sebagai kewajiban terpisah dari biaya operasional.<\/li>\n<li><strong>Modal dan investasi pemilik:<\/strong> Setoran modal awal atau tambahan dari pemilik\/investor dicatat sebagai ekuitas, termasuk penarikan pemilik (prive\/dividen) bila terjadi.<\/li>\n<li><strong>Pendapatan diterima di muka:<\/strong> Uang muka\/DP dari klien sebelum pekerjaan selesai dicatat sebagai kewajiban dulu, lalu diakui sebagai pendapatan saat layanan diberikan, lalu dicatat dalam <span style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/laporan-keuangan-perusahaan-jasa\/\">laporan keuangan perusahaan jasa<\/a><\/span>.<\/li>\n<\/ol>\n<h2 data-start=\"68\" data-end=\"117\"><strong data-start=\"71\" data-end=\"117\">Contoh Penerapan Akuntansi Perusahaan Jasa<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-188158\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/infografis-akuntansi-jasa.webp\" alt=\"infografis-akuntansi-jasa\" width=\"1024\" height=\"1536\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/infografis-akuntansi-jasa.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/infografis-akuntansi-jasa-200x300.webp 200w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/infografis-akuntansi-jasa-683x1024.webp 683w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/infografis-akuntansi-jasa-768x1152.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/infografis-akuntansi-jasa-280x420.webp 280w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/infografis-akuntansi-jasa-150x225.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/infografis-akuntansi-jasa-300x450.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/02\/infografis-akuntansi-jasa-696x1044.webp 696w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p>Kasus: PT Sinar Konsultan (jasa konsultasi) dapat proyek dari PT Maju Jaya senilai Rp60.000.000. Klien bayar DP 20% dulu, lalu sisanya saat milestone 1 selesai. Klien memotong PPh 23 = 2% dari pembayaran jasa.<\/p>\n<p>Transaksi dan pencatatan di <span style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi\/\">sistem akuntansi khusus perusahaan jasa<\/a><\/span> yaitu sebagai berikut.<\/p>\n<h3><strong>1. 03\/02\/26 \u2014 Terima DP 20% (Rp12.000.000)<\/strong><\/h3>\n<ul>\n<li>Debit Bank Rp12.000.000<\/li>\n<li>Kredit Pendapatan Diterima di Muka Rp12.000.000<\/li>\n<li>DP belum jadi pendapatan sampai jasa diberikan.<\/li>\n<\/ul>\n<h3><strong>2. 10\/02\/26 \u2014 Bayar vendor (desain\/pihak ketiga) Rp4.000.000<\/strong><\/h3>\n<ul>\n<li>Debit Beban Jasa Pihak Ketiga Rp4.000.000<\/li>\n<li>Kredit Bank Rp4.000.000<\/li>\n<\/ul>\n<h3><strong>3. 28\/02\/26 \u2014 Bayar gaji staf proyek Rp18.000.000<\/strong><\/h3>\n<ul>\n<li>Debit Beban Gaji Rp18.000.000<\/li>\n<li>Kredit Bank Rp18.000.000<\/li>\n<\/ul>\n<h3><strong>4. 01\/03\/26 \u2014 Milestone 1 selesai, terbitkan invoice Rp30.000.000<\/strong><\/h3>\n<ul>\n<li>Debit Piutang Usaha Rp30.000.000<\/li>\n<li>Kredit Pendapatan Jasa Rp30.000.000<\/li>\n<\/ul>\n<h3><strong>5. 01\/03\/26 \u2014 Alokasikan DP untuk mengurangi piutang (Rp12.000.000)<\/strong><\/h3>\n<ul>\n<li>Debit Pendapatan Diterima di Muka Rp12.000.000<\/li>\n<li>Kredit Piutang Usaha Rp12.000.000<\/li>\n<li>Setelah ini, piutang yang tersisa = Rp30.000.000 \u2212 Rp12.000.000 = Rp18.000.000.<\/li>\n<\/ul>\n<h3><strong>6) 15\/03\/26 \u2014 Terima pelunasan Rp18.000.000, dipotong PPh 23 (2%)<\/strong><\/h3>\n<ul>\n<li>PPh 23 = 2% \u00d7 18.000.000 = Rp360.000<br \/>\n<strong>Kas masuk<\/strong> = 18.000.000 \u2212 360.000 = Rp17.640.000<\/li>\n<li>Debit Bank Rp17.640.000<\/li>\n<li>Debit Pajak Dibayar di Muka (PPh 23) Rp360.000<\/li>\n<li>Kredit Piutang Usaha Rp18.000.000<\/li>\n<\/ul>\n<p>Jadi, bagaimana ringkasannya?<\/p>\n<h4><strong>Laba Rugi mini (periode transaksi di atas)<\/strong><\/h4>\n<ul>\n<li>Pendapatan Jasa: Rp30.000.000<\/li>\n<li>Beban Jasa Pihak Ketiga: Rp4.000.000<\/li>\n<li>Beban Gaji: Rp18.000.000<\/li>\n<li>Laba: Rp8.000.000<\/li>\n<\/ul>\n<h4><strong>Posisi akun penting setelah transaksi<\/strong><\/h4>\n<ul>\n<li>Piutang Usaha: Rp0 (sudah lunas)<\/li>\n<li>Pendapatan Diterima di Muka: Rp0 (sudah dialihkan saat milestone)<\/li>\n<li>Pajak Dibayar di Muka (PPh 23): Rp360.000 (jadi kredit pajak saat pelaporan)<\/li>\n<li>Kenaikan kas bersih: 12.000.000 \u2212 4.000.000 \u2212 18.000.000 + 17.640.000 = Rp7.640.000<\/li>\n<\/ul>\n<style>\r\n\t#baca-juga {\r\n\t\tpadding: 16px;\r\n\t\tbackground-color: #f7eaea;\r\n\t\tborder-left: 3px solid #af2828;\r\n\t\tfont-weight: 500;\r\n\t\tmargin-bottom: 26px;\r\n\t}\r\n\t\r\n\t#baca-juga a {\r\n\t\tcolor: #af2828 !important;\r\n\t\ttransition: all 0.2s ease-in-out;\r\n\t}\r\n\t\r\n\t#baca-juga a:hover {\r\n\t\tcolor: #af282880 !important;\r\n\t}\r\n<\/style>\r\n\r\n<div id=\"baca-juga\">\r\n\t<span>Baca juga: <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/kwitansi-online\/\">10 Aplikasi Kwitansi Online Terbaik Gratis dan Berbayar<\/a><\/span>\r\n<\/div>\n<h2 id=\"peran-sistem-akuntansi-dalam-perencanaan-keuangan-perusahaan-jasa\"><strong>Peran Sistem Akuntansi dalam Perencanaan Keuangan Perusahaan Jasa<\/strong><\/h2>\n<p>Dalam bisnis atau perusahaan jasa, perencanaan keuangan penting untuk stabilitas. Karena itu, sistem akuntansi memiliki peran sentral dalam mengumpulkan dan menganalisis informasi keuangan.<\/p>\n<p>Sistem ini memungkinkan perusahaan untuk mencapai tujuan finansial dan operasional. Maka dari itu, penting bagi Anda untuk pahami manfaat <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/penerapan-erp-pada-perusahaan-jasa\/\">penerapan ERP pada perusahaan jasa.<\/a><\/p>\n<h3 id=\"2\"><strong>1. Menganalisis alokasi perencanaan keuangan bisnis jasa anda<\/strong><\/h3>\n<p>Dengan kegiatan yang tepat sasaran, tentunya akan memperkecil pengeluaran perusahaan agar menjadi jelas dan lebih terarah serta terhindar dari kegiatan operasional. Dengan menganalisis alokasi keuangan yang mana mencakup analisis rasio keuangan.<\/p>\n<p>Terdapat\u00a0 kelemahan dan kelebihan pada finansial yang dapat membantu dalam\u00a0 menilai prestasi manajemen masa lalu dan prospeknya pada masa depan.<\/p>\n<p>Dengan adanya pencatatan pada setiap pengeluaran dan pemasukan dengan baik, maka akan memudahkan perusahaan Anda untuk memonitor setiap perputaran arus keuangan perusahaan.<\/p>\n<p>Jika Anda belum mampu mencatat keuangan perusahaan dengan baik, maka Anda dapat memanfaatkan <a href=\"https:\/\/www.hashmicro.com\/id\/sistem-akuntansi\" target=\"_blank\" rel=\"noopener\">software accounting<\/a>. Hal ini yang menjadikan keberadaan perencanaan manajemen keuangan sangatlah penting dalam menganalisis alokasi keuangan pada suatu perusahaan.<\/p>\n<p><b>Baca juga: <\/b><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/tips-mudah-analisis-laporan-keuangan-perusahaan-dengan-otomatis\/\" target=\"_blank\" rel=\"noopener\"><b>Permudah Analisis Laporan Keuangan Perusahaan\u00a0<\/b><\/a><\/p>\n<h3 id=\"3\"><strong>2. Menyusun tujuan pengelolaan perencanaan keuangan<\/strong><\/h3>\n<p>Keberhasilan sebuah perusahaan dapat terlihat dari kemampuan para pengelola atau pihak manajemen dalam mengelola keuangan dan memanfaatkan peluang secara maksimal sehingga akan menghasilkan return atau imbalan sesuai harapan.<\/p>\n<p>Anda dapat menggunakan aplikasi laporan keuangan untuk dapat membantu perusahaan Anda dalam mengelola keuangan. Tentunya ini berdasarkan konsep perencanaan keuangan yang mana merupakan suatu proses dalam pengaturan aktivitas atau kegiatan keuangan pada suatu perusahaan.<\/p>\n<p>Lebih rinci lagi, dengan analisis laporan keuangan memiliki tujuan sebagai berikut:<\/p>\n<ul>\n<li aria-level=\"1\">Sebagai sumber informasi yang mana berfungsi untuk mengambil keputusan strategis<\/li>\n<li aria-level=\"1\">Untuk menilai kinerja manajemen pada tahun berjalan<\/li>\n<li aria-level=\"1\">Melihat kemampuan perusahaan dalam melunasi hutang-hutangnya<\/li>\n<li aria-level=\"1\">Sebagai bahan pertimbangan untuk para investor<\/li>\n<li aria-level=\"1\">Untuk dapat mengetahui perubahan posisi keuangan perusahaan dalam periode tertentu<\/li>\n<li aria-level=\"1\">Untuk dapat memproyeksikan bisnis di masa yang akan datang. Serta mengidentifikasi pos-pos keuangan yang bermasalah.<\/li>\n<\/ul>\n<h3 id=\"4\"><strong>3. Memonitor kondisi keuangan bisnis jasa<\/strong><\/h3>\n<article class=\"text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" tabindex=\"-1\" data-turn-id=\"request-WEB:c3eebf6a-abff-4721-9f68-9e879b17481d-13\" data-testid=\"conversation-turn-24\" data-scroll-anchor=\"true\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" tabindex=\"-1\">\n<div class=\"flex max-w-full flex-col grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"78d965df-8d06-437f-9f1a-0ceda083e282\" data-message-model-slug=\"gpt-5-1\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[1px]\">\n<div class=\"markdown prose dark:prose-invert w-full break-words dark markdown-new-styling\">\n<article class=\"text-token-text-primary w-full focus:outline-none [--shadow-height:45px] has-data-writing-block:pointer-events-none has-data-writing-block:-mt-(--shadow-height) has-data-writing-block:pt-(--shadow-height) [&amp;:has([data-writing-block])&gt;*]:pointer-events-auto scroll-mt-[calc(var(--header-height)+min(200px,max(70px,20svh)))]\" dir=\"auto\" tabindex=\"-1\" data-turn-id=\"request-WEB:c3eebf6a-abff-4721-9f68-9e879b17481d-14\" data-testid=\"conversation-turn-26\" data-scroll-anchor=\"true\" data-turn=\"assistant\">\n<div class=\"text-base my-auto mx-auto pb-10 [--thread-content-margin:--spacing(4)] thread-sm:[--thread-content-margin:--spacing(6)] thread-lg:[--thread-content-margin:--spacing(16)] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] thread-lg:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\" tabindex=\"-1\">\n<div class=\"flex max-w-full flex-col grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"a83b8d2c-1324-41d3-98f6-105bc5a844e3\" data-message-model-slug=\"gpt-5-1\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[1px]\">\n<div class=\"markdown prose dark:prose-invert w-full break-words dark markdown-new-styling\">\n<p data-start=\"47\" data-end=\"275\">Keuangan adalah aspek penting dalam bisnis jasa, tetapi sering terabaikan karena banyaknya tugas yang harus ditangani pemilik usaha. Di sinilah akuntansi perusahaan jasa berperan untuk menjaga kondisi finansial tetap terkontrol.<\/p>\n<p data-start=\"465\" data-end=\"678\" data-is-last-node=\"\" data-is-only-node=\"\">Untuk meminimalkan risiko dan memudahkan pengelolaan data, banyak perusahaan jasa mulai memakai software akuntansi. Sistem ini merangkum laporan dalam satu platform sehingga pemantauan keuangan jadi lebih efisien.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/article>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/article>\n<h3 id=\"5\"><strong>4. Mengevaluasi kondisi perencanaan keuangan bisnis<\/strong><\/h3>\n<p>Evaluasi bisnis melalui laporan keuangan, hal pertama yang dapat perusahaan Anda dengan melihat laba serta rugi, maka Anda dapat melihat atau mengevaluasi kinerja keuangan pada selama satu periode.<\/p>\n<p>Selain itu, <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/contoh-laporan-keuangan-perusahaan\/\">contoh laporan keuangan perusahaan<\/a> juga bisa dijadikan dengan patokan pada tolak ukur kas perusahaan dimasa yang akan datang.<\/p>\n<p>Perusahaan besar telah beralih ke HashMicro untuk dapat bisa mempermudah seluruh kegiatan operasionalnya melalui sistem akuntansi dari HashMicro.<\/p>\n<h2 id=\"kesimpulan\"><b>Kesimpulan<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Sistem akuntansi perusahaan jasa dapat memberi kemudahan bagi para pengusaha di bidang tersebut dalam melakukan pengelolaan terhadap seluruh transaksi yang terjadi antara mereka dengan seluruh pihak yang berhubungan dengan mereka. Selain itu, sistem ini juga dapat meningkatkan efisiensi waktu pekerjaan yang terjadi dalam perusahaan.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Agar dapat mempermudah pengelolaan kegiatan akuntansi perusahaan, Anda dapat menggunakan HashMicro sebagai software akuntansi terbaik<\/span><span style=\"font-weight: 400;\">. Sistem <\/span><span style=\"font-weight: 400;\">software<\/span><span style=\"font-weight: 400;\"> ini dapat memberikan kemudahan bagi Anda dalam mengelola keuangan dan akuntansi perusahaan dengan baik dan teratur sehingga dapat meningkatkan efisiensi waktu dan kerja.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Daftarkan perusahaan jasa Anda dan dapatkan <a href=\"https:\/\/www.hashmicro.com\/id\/tour-produk-gratis\/\" target=\"_blank\" rel=\"noopener\">demo gratis<\/a> sekarang juga!<\/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>\n<h2><strong>Pertanyaan Seputar Akuntansi Perusahaan Jasa<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>Apa Itu Software Akuntansi Online?<\/strong><\/summary>\n<p>Software akuntansi online adalah sebuah software yang mencatat, mengolah, dan menampilkan data transaksi keuangan bisnis secara real-time. Software ini memberikan solusi bagi UKM dan perusahaan dalam hal pembukuan, laporan keuangan, invoice, dan neraca keuangan secara online. Baca selengkapnya <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi\/\">di sini!<\/a><\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apa Saja Manfaat Yang Dapat Diperoleh Dengan Menggunakan Software Akuntansi?<\/strong><\/summary>\n<p>Berikut adalah manfaat yang dapat diperoleh dengan menggunakan software akuntansi:<br \/>\n1. Proses akuntansi berjalan otomatis dan sederhana.<br \/>\n2. Laporan keuangan selesai dengan cepat.<br \/>\n3. Pekerjaan menjadi lebih efisien dan cepat.<br \/>\n4. Akses mudah di berbagai cabang perusahaan.<br \/>\n5. Mengurangi biaya yang dikeluarkan.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apa Kelebihan Dari Software Akuntansi?<\/strong><\/summary>\n<p>Kelebihan dari software akuntansi adalah kemampuannya untuk menyajikan data dengan akurasi tinggi. Anda bebas ragu karena software ini mendetail dan akurat.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Mengapa Software Akuntansi Penting Dalam Dunia Bisnis?<\/strong><\/summary>\n<p>Dengan menggunakan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/software-akuntansi-terbaik-untuk-mempermudah-pekerjaan-akuntan-publik\/\">software akuntansi<\/a>, Anda dapat mengakses informasi keuangan yang mendalam. Hal ini dapat mengidentifikasi area untuk meningkatkan efisiensi biaya dan mendorong produktivitas. Dengan sistem yang tepat, perusahaan dapat mengotomatisasi tugas-tugas pembukuan dan menghasilkan laporan yang sesuai dengan peraturan pajak dengan tepat waktu.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"Apa Itu Software Akuntansi Online?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Software akuntansi online adalah sebuah software yang mencatat, mengolah, dan menampilkan data transaksi keuangan bisnis secara real-time. Software ini memberikan solusi bagi UKM dan perusahaan dalam hal pembukuan, laporan keuangan, invoice, dan neraca keuangan secara online. Baca selengkapnya di sini!\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa Saja Manfaat Yang Dapat Diperoleh Dengan Menggunakan Software Akuntansi?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"\\\"Berikut adalah manfaat yang dapat diperoleh dengan menggunakan software akuntansi:\n1. Proses akuntansi berjalan otomatis dan sederhana.\n2. Laporan keuangan selesai dengan cepat.\n3. Pekerjaan menjadi lebih efisien dan cepat.\n4. Akses mudah di berbagai cabang perusahaan.\n5. Mengurangi biaya yang dikeluarkan.\\\"\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Mengapa Software Akuntansi Penting Dalam Dunia Bisnis?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Dengan menggunakan software akuntansi, Anda dapat mengakses informasi keuangan yang mendalam. Hal ini dapat mengidentifikasi area untuk meningkatkan efisiensi biaya dan mendorong produktivitas. Dengan sistem yang tepat, perusahaan dapat mengotomatisasi tugas-tugas pembukuan dan menghasilkan laporan yang sesuai dengan peraturan pajak dengan tepat waktu.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa Kelebihan Dari Software Akuntansi?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Kelebihan dari software akuntansi adalah kemampuannya untuk menyajikan data dengan akurasi tinggi. Anda bebas ragu karena\u00a0software ini mendetail dan akurat.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Di perusahaan jasa, satu klien bisa ditagih dengan cara yang beda: retainer bulanan, milestone per tahap, atau time &amp; material berdasarkan jam kerja. Di saat yang sama, ada reimbursement, biaya vendor, dan biaya internal yang termasuk ke pekerjaan yang sama. Sistem akuntansi perusahaan jasa dipakai untuk merapikan hubungan antara pekerjaan yang dilakukan, biaya yang keluar, [&hellip;]<\/p>\n","protected":false},"author":164,"featured_media":136431,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1232],"tags":[],"class_list":{"0":"post-81812","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>Pengertian Sistem Akuntansi Perusahaan Jasa dan Manfaatnya<\/title>\n<meta name=\"description\" content=\"Sistem akuntansi perusahaan jasa adalah proses pencatatan dan pelaporan transaksi keuangan dari penyediaan layanan jasa.\" \/>\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\/sistem-akuntansi-perusahaan-jasa\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Sistem Akuntansi Perusahaan Jasa untuk Billing Rapi\" \/>\n<meta property=\"og:description\" content=\"Sistem akuntansi perusahaan jasa adalah proses pencatatan dan pelaporan transaksi keuangan dari penyediaan layanan jasa.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/\" \/>\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-02-17T07:13:29+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-02-04T07:50:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/05\/sistem-akuntansi-perusahaan-jasa.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=\"11 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\/sistem-akuntansi-perusahaan-jasa\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/\"},\"author\":{\"name\":\"Dewi Sartika\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/9d2e46cf3129df0cdcfe1ea9bbdb74f1\"},\"headline\":\"Sistem Akuntansi Perusahaan Jasa untuk Billing Rapi\",\"datePublished\":\"2024-02-17T07:13:29+00:00\",\"dateModified\":\"2026-02-04T07:50:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/\"},\"wordCount\":1748,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/05\/sistem-akuntansi-perusahaan-jasa.png\",\"articleSection\":[\"Accounting\"],\"inLanguage\":\"id\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/\",\"name\":\"Pengertian Sistem Akuntansi Perusahaan Jasa dan Manfaatnya\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/05\/sistem-akuntansi-perusahaan-jasa.png\",\"datePublished\":\"2024-02-17T07:13:29+00:00\",\"dateModified\":\"2026-02-04T07:50:35+00:00\",\"description\":\"Sistem akuntansi perusahaan jasa adalah proses pencatatan dan pelaporan transaksi keuangan dari penyediaan layanan jasa.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/05\/sistem-akuntansi-perusahaan-jasa.png\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/05\/sistem-akuntansi-perusahaan-jasa.png\",\"width\":1200,\"height\":650,\"caption\":\"sistem akuntansi perusahaan jasa\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/id\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Sistem Akuntansi Perusahaan Jasa untuk Billing Rapi\"}]},{\"@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":"Pengertian Sistem Akuntansi Perusahaan Jasa dan Manfaatnya","description":"Sistem akuntansi perusahaan jasa adalah proses pencatatan dan pelaporan transaksi keuangan dari penyediaan layanan jasa.","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\/sistem-akuntansi-perusahaan-jasa\/","og_locale":"id_ID","og_type":"article","og_title":"Sistem Akuntansi Perusahaan Jasa untuk Billing Rapi","og_description":"Sistem akuntansi perusahaan jasa adalah proses pencatatan dan pelaporan transaksi keuangan dari penyediaan layanan jasa.","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2024-02-17T07:13:29+00:00","article_modified_time":"2026-02-04T07:50:35+00:00","og_image":[{"width":1200,"height":650,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/05\/sistem-akuntansi-perusahaan-jasa.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":"11 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/"},"author":{"name":"Dewi Sartika","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/9d2e46cf3129df0cdcfe1ea9bbdb74f1"},"headline":"Sistem Akuntansi Perusahaan Jasa untuk Billing Rapi","datePublished":"2024-02-17T07:13:29+00:00","dateModified":"2026-02-04T07:50:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/"},"wordCount":1748,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/05\/sistem-akuntansi-perusahaan-jasa.png","articleSection":["Accounting"],"inLanguage":"id"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/","name":"Pengertian Sistem Akuntansi Perusahaan Jasa dan Manfaatnya","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/05\/sistem-akuntansi-perusahaan-jasa.png","datePublished":"2024-02-17T07:13:29+00:00","dateModified":"2026-02-04T07:50:35+00:00","description":"Sistem akuntansi perusahaan jasa adalah proses pencatatan dan pelaporan transaksi keuangan dari penyediaan layanan jasa.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/05\/sistem-akuntansi-perusahaan-jasa.png","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2023\/05\/sistem-akuntansi-perusahaan-jasa.png","width":1200,"height":650,"caption":"sistem akuntansi perusahaan jasa"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/sistem-akuntansi-perusahaan-jasa\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Sistem Akuntansi Perusahaan Jasa untuk Billing Rapi"}]},{"@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":"Sistem akuntansi perusahaan jasa","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/81812","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=81812"}],"version-history":[{"count":23,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/81812\/revisions"}],"predecessor-version":[{"id":188428,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/81812\/revisions\/188428"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/136431"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=81812"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=81812"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=81812"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}