{"id":39989,"date":"2024-08-16T13:00:47","date_gmt":"2024-08-16T06:00:47","guid":{"rendered":"https:\/\/www.hashmicro.com\/id\/blog\/?p=39989"},"modified":"2026-04-29T16:53:30","modified_gmt":"2026-04-29T09:53:30","slug":"pengertian-stock-opname-tujuan-manfaat-serta-tahapannya","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/","title":{"rendered":"Stock Opname: Definisi, Langkah dan Contohnya"},"content":{"rendered":"<p data-start=\"0\" data-end=\"341\">Stock opname merupakan proses penting untuk memastikan jumlah dan kondisi barang di gudang sesuai dengan data yang tercatat dalam sistem. Kegiatan ini menjadi dasar untuk menjaga akurasi persediaan, kelancaran operasional di gudang, dan ketepatan dalam pengambilan keputusan untuk bisnis.<\/p>\n<p data-start=\"343\" data-end=\"724\" data-is-last-node=\"\" data-is-only-node=\"\">Tanpa stock opname yang rapi, perusahaan berisiko menghadapi perbedaan data stok, kehilangan barang, hingga kesalahan dalam menyusun strategi penjualan. Karena itu, penerapan strategi stok opname yang tepat sangat dibutuhkan agar perusahaan dapat mengelola persediaan dengan lebih efisien, mengurangi kerugian, dan menyesuaikan stok dengan kebutuhan pasar.<\/p>\n<style>\r\n\t.takeaways-container {\r\n\t\tmargin: 20px 0;\r\n\t\tfont-family: sans-serif;\r\n\t}\r\n\t.box-content {\r\n\t\tbackground-color: #fffacd;\r\n\t\tbox-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\r\n\t\tborder-radius: 25px;\r\n\t\tpadding: 25px;\r\n\t}\r\n\t.title {\r\n\t\tmargin-bottom: 20px;\r\n\t}\r\n\t.title p {\r\n\t\tdisplay: inline-block;\r\n\t\tbackground-color: #8A0E19;\r\n\t\tcolor: #ffffff;\r\n\t\tpadding: 8px 15px;\r\n\t\tborder-radius: 8px;\r\n\t\tfont-size: 22px;\r\n\t\tfont-weight: bold;\r\n\t\tmargin: 0;\r\n\t}\r\n\t.item {\r\n\t\tdisplay: flex;\r\n\t\talign-items: flex-start;\r\n\t\tmargin-bottom: 12px;\r\n\t}\r\n\t.item .circle {\r\n\t\twidth: 8px;\r\n\t\theight: 8px;\r\n\t\tbackground-color: #000000;\r\n\t\tborder-radius: 50%;\r\n\t\tmargin-right: 12px;\r\n\t\tflex-shrink: 0;\r\n\t\tmargin-top: 8px;\r\n\t}\r\n\t.item p {\r\n\t\tmargin: 0;\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 1.6;\r\n\t}\r\n\t.item p a {\r\n\t\tcolor: #8A0E19;\r\n\t\tfont-weight: normal;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.item p a:hover {\r\n\t\ttext-decoration: underline;\r\n\t}\r\n\t.button-wrapper {\r\n\t\tmargin-top: 25px;\r\n\t}\r\n\t.submit-button {\r\n\t\tbackground-color: #8a0e19;\r\n\t\tcolor: #fff !important;\r\n\t\ttransition: all .3s ease;\r\n\t\tpadding: 12px 28px;\r\n\t\tdisplay: inline-block;\r\n\t\tborder-radius: 12px;\r\n\t\tfont-size: 16px;\r\n\t\tfont-weight: bold;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.submit-button:hover {\r\n\t\tbackground-color: #991b26;\r\n\t}\r\n\t@media (max-width: 767px) {\r\n\t\t.takeaways-container {\r\n\t\t\theight: auto;\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\t\t.box-content {\r\n\t\t\tpadding: 24px;\r\n\t\t}\r\n\t\t.content,\r\n\t\t.main-content,\r\n\t\t.list-item {\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<div class=\"takeaways-container\">\r\n\t<div class=\"box-content\">\r\n\t\t<div class=\"content\">\r\n\t\t\t<div class=\"title\">\r\n\t\t\t\t<p>Key Takeaways<\/p>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"main-content\">\r\n\t\t\t\t<div class=\"list-item\">\r\n\t\t\t\t\t<div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#stock\">Stock opname<\/a> memastikan jumlah barang yang tersedia di gudang sama dengan yang tercatat pada sistem untuk mencegah perusahaan mengalami kerugian karena selisih stok.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#pemberlakuan\">Stock opname membantu analisis tren penjualan<\/a> karena memberi informasi barang mana yang paling laku terjual.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#tempatkan\">Menjaga barang tetap di area gudang<\/a> penting agar tidak membingungkan saat proses stock opname dan mencegah terjadinya pencatatan ganda atau selisih jumlah.<\/p><\/div>\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n<!-- \t\t\t<div class=\"button-wrapper\">\r\n\t\t\t\t<a href=\"https:\/\/www.equiperp.com\/tour-produk-gratis\/?medium=key-takeaways\" class=\"submit-button\">Klik untuk Demo Gratis!<\/a>\r\n\t\t\t<\/div> -->\r\n\t\t<\/div>\r\n\t<\/div>\r\n<\/div>\n<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><b>Apa yang Dimaksud dengan <\/b><b>Stock Opname<\/b><b>?<\/b><\/h2>\n<p id=\"stock\">Stock opname<span style=\"font-weight: 400;\"> merupakan tahapan menyesuaikan jumlah dan status barang berdasarkan kondisi riil di gudang untuk dibandingkan dengan catatan laporan stok pada sistem perusahaan.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Tujuannya<\/span><span style=\"font-weight: 400;\">\u00a0yaitu untuk mengetahui apakah ada selisih stok atau kelebihan stok, serta proses pengiriman dan penerimaan barang yang tidak tercatat.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Proses rutin <\/span><span style=\"font-weight: 400;\">stok opname<\/span><span style=\"font-weight: 400;\"> penting bagi perusahaan Anda dalam mencegah potensi kerugian yang ada yang disebabkan selisih stok maupun pencurian melalui rekonsiliasi data stok sebenarnya dengan data stok pada catatan.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Selain itu, <\/span><span style=\"font-weight: 400;\">stok opname<\/span><span style=\"font-weight: 400;\"> juga menjadi kunci untuk memastikan kepatuhan perusahaan Anda pada regulasi yang ada. <\/span><a href=\"https:\/\/www.pajak.go.id\/id\/peraturan\/ketentuan-umum-dan-tata-cara-perpajakan\"><span style=\"font-weight: 400;\">UU KUP Pasal 28<\/span><\/a><span style=\"font-weight: 400;\"> mengatur secara tegas bahwa pembukuan harus diselenggarakan dengan itikad baik, mencerminkan keadaan usaha yang sebenarnya. Karena itu, data stok yang akurat menjadi bagian penting dari pembukuan dan berhubungan dengan perpajakan.<\/span><\/p>\n<h2><b>Tujuan &amp; Manfaat <\/b><b>Stock Opname<\/b><b> bagi Operasional Gudang<\/b><\/h2>\n<p id=\"pemberlakuan\">Pemberlakuan <span style=\"font-weight: 400;\">stock opname<\/span><span style=\"font-weight: 400;\"> yang terencana membawa sejumlah keuntungan bagi perusahaan Anda dalam menjaga ketersediaan stok dan kelancaran penjualan. Berikut Anda dapat pahami apa saja tujuan<\/span><span style=\"font-weight: 400;\">\u00a0serta manfaatnya:<\/span><\/p>\n<ul>\n<li aria-level=\"1\"><b>Memastikan jumlah stok fisik sesuai dengan catatan: <\/b><span style=\"font-weight: 400;\">Dengan mengetahui jumlah stok fisik dengan catatan akan membuat perusahaan lebih siap dalam menangani atau mencegah potensi kerugian.<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\"><b>Mengurangi risiko pencurian atau penyimpangan lainnya: <\/b><span style=\"font-weight: 400;\">Stok opname<\/span><span style=\"font-weight: 400;\"> rutin akan <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/shrinkage-penyusutan-inventaris-industri-retail\/\"><span style=\"font-weight: 400;\">memudahkan deteksi <\/span><span style=\"font-weight: 400;\">shrinkage<\/span><\/a><span style=\"font-weight: 400;\"> dan menyulitkan tindak pencurian karena kondisi stok dicek berkala, memastikan persediaan inventaris perusahaan tetap aman untuk waktu lama.<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\"><b>Mengevaluasi kondisi kerja gudang: <\/b><span style=\"font-weight: 400;\">Kondisi di gudang tidak akan selalu ideal karena pemahaman SOP yang berbeda pada setiap staf. <\/span><span style=\"font-weight: 400;\">Stock opname <\/span><span style=\"font-weight: 400;\">secara tidak langsung memberikan gambaran seberapa efisien kerja gudang yang berguna untuk perbaikan cara kerja ke depannya.<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\"><b>Membandingkan data historis penjualan dengan tren yang berlangsung: <\/b><span style=\"font-weight: 400;\">Stock opname<\/span><span style=\"font-weight: 400;\"> memberikan informasi produk mana yang paling laku terjual beberapa tahun lalu dengan kondisi penjualan perusahaan yang terbaru. Keputusan penjualan dapat dibuat lebih cepat melalui laporan <\/span><span style=\"font-weight: 400;\">stok opname<\/span><span style=\"font-weight: 400;\">.<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\"><b>Menyediakan informasi lengkap akuntansi gudang: <\/b><span style=\"font-weight: 400;\">Melalui <\/span><span style=\"font-weight: 400;\">stock opname<\/span><span style=\"font-weight: 400;\">, informasi akuntansi gudang seperti <\/span><span style=\"font-weight: 400;\">jumlah aktiva, piutang, utang, dan kas terkait persediaan dapat diketahui. Data ini bisa untuk pelaporan akuntansi perusahaan.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Manajemen <\/span><span style=\"font-weight: 400;\">stock opname<\/span><span style=\"font-weight: 400;\"> memegang peranan penting agar manajemen perusahaan Anda tidak salah dalam mengambil keputusan penjualan. Proses <\/span><span style=\"font-weight: 400;\">stok opname<\/span><span style=\"font-weight: 400;\"> rentan kesalahan pencatatan karena tenaga manusia terbatas.<\/span><\/p>\n<p>Di Indonesia, sudah banyak perusahaan yang menerapkan stok opname secara cerdas. PT Toyota Motor Manufacturing Indonesia (TMMIN) melakukan studi pada real-time stock monitoring berbasis RFID (Radio Frequency Identification) di tahun 2020 dan menyebut sistem usulan itu dapat meningkatkan efisiensi proses kerja inventory control sebesar 69%.<\/p>\n<h2><b>Apa Saja Jenis <\/b><b>Stock Opname<\/b><b>?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Stock opname<\/span><span style=\"font-weight: 400;\"> memiliki beberapa jenis menyesuaikan dengan kompleksitas gudang. Jika stok <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/contoh-stock-keeping-unit\/\"><span style=\"font-weight: 400;\">terdiri lebih dari 100 SKU (<\/span><span style=\"font-weight: 400;\">Stock Keeping Unit<\/span><span style=\"font-weight: 400;\">)<\/span><\/a><span style=\"font-weight: 400;\">, <\/span><span style=\"font-weight: 400;\">stok opname<\/span><span style=\"font-weight: 400;\"> harian mungkin menjadi pilihan yang lebih tepat untuk diterapkan.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Berikut tipe-tipenya <\/span><span style=\"font-weight: 400;\">yang bisa Anda pahami:<\/span><\/p>\n<ul>\n<li aria-level=\"1\"><b>Continuous Stock Taking<\/b><b> (harian): <\/b><span style=\"font-weight: 400;\">Tim melakukan pemeriksaan item setiap hari atau dengan frekuensi yang sangat sering.<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\"><b>Periodic Stock Verification<\/b><b> (berkala\/kuartal): <\/b><span style=\"font-weight: 400;\">Tim melakukan verifikasi stok fisik secara berkala, misalnya setiap 3 bulan sekali.<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\"><b>Annual Stock Taking<\/b><b> (tahunan): <\/b><span style=\"font-weight: 400;\">Tim melakukan penghitungan stok fisik secara menyeluruh dengan interval satu tahun.<\/span><\/li>\n<\/ul>\n<ul>\n<li aria-level=\"1\"><b>Cycle Counting<\/b><b> (berdasarkan siklus):<\/b>Tim menghitung stok berdasarkan siklus penghitungan setiap jenis barang yang sudah tersusun sebelumnya.<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Tidak ada satupun jenis <\/span><span style=\"font-weight: 400;\">yang terbaik untuk semua jenis bisnis. Gunakanlah metode<\/span><span style=\"font-weight: 400;\">\u00a0yang paling cocok dengan kebutuhan SKU gudang Anda.<\/span><\/p>\n<h2><b>Langkah Melakukan <\/b><b>Stock Opname<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-192676\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/langkah-melakukan-stock-opname-hashmicro.webp\" alt=\"Langkah melakukan stock opname\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/langkah-melakukan-stock-opname-hashmicro.webp 1536w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/langkah-melakukan-stock-opname-hashmicro-300x200.webp 300w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/langkah-melakukan-stock-opname-hashmicro-1024x683.webp 1024w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/langkah-melakukan-stock-opname-hashmicro-768x512.webp 768w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/langkah-melakukan-stock-opname-hashmicro-630x420.webp 630w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/langkah-melakukan-stock-opname-hashmicro-150x100.webp 150w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/langkah-melakukan-stock-opname-hashmicro-696x464.webp 696w, https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/langkah-melakukan-stock-opname-hashmicro-1068x712.webp 1068w\" sizes=\"auto, (max-width: 1536px) 100vw, 1536px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Stock opname<\/span><span style=\"font-weight: 400;\"> memerlukan langkah sistematis untuk dieksekusi karena prosesnya melibatkan <a href=\"https:\/\/www.hashmicro.com\/id\/blog\/cara-menghitung-stok-barang\/\">penghitungan jumlah item yang sangat banyak<\/a>. Oleh karena itu,\u00a0<\/span><\/p>\n<h3><b>1. Pertama, rapikan gudang terlebih dahulu<\/b><\/h3>\n<p>Tim perlu menjalankan tahap ini jauh hari sebelum stock opname berlangsung. Dengan menempatkan barang secara rapi sesuai kategorinya masing-masing, tim akan lebih mudah mencari dan menghitung barang.<\/p>\n<h3><b>2. Tentukan periode dan cakupan <\/b><b>stock opname<\/b><\/h3>\n<p>Jumlah barang yang banyak seringkali bercampur antara yang sudah tim cek dan yang belum. Pastikan manajemen menentukan periode barang yang akan tim cek serta berapa banyak jenis item yang akan tim hitung.<\/p>\n<h3><b>3. Pilih tim pemeriksa barang dan beri instruksi yang jelas<\/b><\/h3>\n<p id=\"tempatkan\">Tempatkan seluruh staf pemeriksa gudang di bagian item yang berbeda-beda. Sebaiknya, dua karyawan menangani satu area pemeriksaan: satu karyawan menghitung dan satu lagi mencatat.<br \/>\nSebelum memulai penghitungan, manajemen perlu mengadakan briefing yang jelas kepada karyawan mengenai cakupan item yang perlu mereka hitung, serta langkah-langkah pengecekan jika ada item yang memerlukan cara penghitungan khusus.<\/p>\n<h3><b>4. Mulai lakukan penghitungan fisik dan jaga barang di area<\/b><\/h3>\n<p>Karyawan bisa memulai penghitungan stok fisik dan membandingkannya dengan catatan laporan stok sebelumnya. Tim harus menganggap stok yang hilang dan kedaluwarsa sebagai stok yang tidak terhitung.<br \/>\nSelama proses penghitungan, pastikan karyawan tidak memindah-pindah barang dari area dan lot gudang agar tidak membingungkan penghitungan yang bisa berakibat pada selisih hitung.<\/p>\n<h3><b>5. Masukkan hasil ke sistem dan cek selisihnya<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Setelah melakukan penghitungan, catat hasilnya ke <\/span><span style=\"font-weight: 400;\">physical inventory recording<\/span><span style=\"font-weight: 400;\"> atau rekam inventaris fisik, lalu bandingkan selisihnya dengan data laporan sebelumnya.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Selanjutnya, lakukan penyesuaian pada jumlah stok fisik dengan data untuk memastikan akurasi jumlah barang yang ada.<\/span><\/p>\n<h3><b>6. Terakhir, posting penyesuaian inventaris<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Jika penyesuaian sudah dilakukan, langkah selanjutnya yaitu memposting hasil penyesuaian ke sistem inventaris atau WMS (<\/span><span style=\"font-weight: 400;\">Warehouse Management System)<\/span><span style=\"font-weight: 400;\"> untuk memvalidasi data stok terbaru.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Semua langkah di atas dapat Anda terapkan pada manajemen gudang perusahaan untuk diaplikasikan saat proses <\/span><span style=\"font-weight: 400;\">stok opname<\/span><span style=\"font-weight: 400;\">.<\/span><\/p>\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\/kode-inventaris-barang\/\">Panduan Kode Inventaris Barang untuk Perusahaan<\/a><\/span>\r\n<\/div>\n<h2><b>Alat untuk Membantu Proses <\/b><b>Stock Opname<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Proses <\/span><span style=\"font-weight: 400;\">stock opname<\/span><span style=\"font-weight: 400;\"> menggunakan catatan <\/span><span style=\"font-weight: 400;\">spreadsheet<\/span><span style=\"font-weight: 400;\"> bisa menyulitkan proses kerja karena lama dilakukan untuk <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/contoh-stock-keeping-unit\/\"><span style=\"font-weight: 400;\">menangani SKU produk<\/span><\/a><span style=\"font-weight: 400;\"> yang bisa ratusan jumlahnya.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Sekarang, sudah banyak teknologi canggih untuk mengefisienkan prosesnya.<\/span><span style=\"font-weight: 400;\">\u00a0Simak jenis-jenis teknologi <\/span><span style=\"font-weight: 400;\">stok opname<\/span><span style=\"font-weight: 400;\"> berikut ini:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Formulir hitung atau <\/b><b>count tags<\/b><b>:<\/b><span style=\"font-weight: 400;\"> Checker mengisi formulir dua bagian ini saat penghitungan fisik berlangsung untuk mendokumentasikan inventaris.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Barcode scanner<\/b><b> genggam:<\/b><span style=\"font-weight: 400;\"> Checker menggunakan alat ini saat menginspeksi gudang dengan mengarahkannya ke barcode atau SKU yang tersemat pada setiap barang.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>RFID <\/b><b>reader<\/b><b>:<\/b> Radio Frequency Identification adalah teknologi yang mampu menangkap tag barang dari jarak tertentu, sehingga checker tidak perlu memindai barang satu per satu.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Sistem manajemen inventaris atau WMS:<\/b><span style=\"font-weight: 400;\"> Sistem ini mengintegrasikan hasil hitung jumlah stok, pelacakan, dan sinkronisasi data secara real-time.<\/span><\/li>\n<\/ul>\n<h2><b>Contoh Laporan <\/b><b>Stock Opname<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Proses pencatatan hasil audit <\/span><span style=\"font-weight: 400;\">stock opname<\/span><span style=\"font-weight: 400;\"> harus jelas dan ringkas serta tidak bertele-tele. <\/span><span style=\"font-weight: 400;\">Format laporan <\/span><span style=\"font-weight: 400;\">stok opname<\/span><span style=\"font-weight: 400;\"> yang rapi<\/span><span style=\"font-weight: 400;\"> dan rinci akan membantu prosesnya<\/span><span style=\"font-weight: 400;\">\u00a0menjadi lebih efisien.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Untuk itu, Anda dapat men-<\/span><span style=\"font-weight: 400;\">download<\/span><span style=\"font-weight: 400;\"> dan mempelajari <\/span><span style=\"font-weight: 400;\">template<\/span><span style=\"font-weight: 400;\"> laporan <\/span><span style=\"font-weight: 400;\">stock opname<\/span><span style=\"font-weight: 400;\"> berikut ini:<\/span><\/p>\n<!-- shortcode CTA download new -->\r\n\r\n<div class=\"download-wrapper new\">\r\n\t<p class=\"download-desc\">Template Laporan Stock Opname<\/p>\r\n\t\r\n\t<div class=\"download-top\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/gambar-template-laporan-stock-opname.webp\">\r\n\t<\/div>\r\n\t\r\n\t<div class=\"button-wrapper\">\r\n\t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"template\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/template_laporan_stock_opname_hashmicro_2026.xlsx\"\r\n\t\t\tdata-format=\"excel\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Sekarang<\/p>\r\n\t\t<\/button>\r\n\t\t\r\n  \t\t\r\n  \t\t\t<\/div>\r\n\t\r\n\t\t<div class=\"download-bottom\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/gambar-template-laporan-stock-opname.webp\" alt=\"Contoh Laporan Stock Opname\">\r\n\t<\/div>\r\n\t<\/div>\r\n\r\n\r\n<style>\r\n\t.button-wrapper{\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new p.download-text{\r\n\t\tmargin-bottom: 0;\r\n\t\tcolor: #9C171E;\r\n\t}\r\n\t\r\n\t.color-me-white{\r\n\t\tcolor: #FFF !important;\r\n\t}\r\n\t.download-bottom, .download-top{\r\n\t\tmargin-top: 32px;\r\n\t\theight: 250px;\r\n\t\toverflow: hidden;\r\n\t\tborder-radius: 8px 8px 0 0;\r\n\t}\r\n\t\r\n\t.download-top{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t.download-img{\r\n\t\twidth: 100%;\r\n\/* \t\tfilter: blur(1px); *\/\r\n\t}\r\n\r\n\t.opacity-ef{\r\n\t\tposition: absolute;\r\n\t\tdisplay: block;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\tbottom: 0;\r\n\t\tbackground-image: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 35%, #FFF 88%);\r\n\t\tbackdrop-filter: blur(1px);\r\n\t\tz-index: 1;\r\n\t\twidth: 100%;\r\n\t}\r\n\t\r\n\t.download-wrapper.new{\r\n\t\tbackground: unset;\r\n\t\tpadding: 40px 16px;\r\n\t\tborder-radius: unset;\r\n\t\tborder-bottom: 2px solid #D9D9D9;\r\n\t\tborder-top: 2px solid #D9D9D9;\r\n\t}\r\n\t\r\n\t.icon-unduh{\r\n\t\tbackground-image: url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/11\/icon-unduh.webp');\r\n\t\tbackground-size: cover;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-position: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn{\r\n\t\twidth: 200px;\r\n\t\tpadding: 10px 14px;\r\n\t\tmargin-right: 16px;\r\n\t\tcolor: #FFF !important;\r\n\t\tbox-shadow: 5px 6px 16px 0px rgba(0, 0, 0, 0.25);\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn:last-child{\r\n\t\tmargin-right: 0;\r\n\t}\r\n\t\r\n\t.new .download-desc{\r\n\t\tcolor: #282828 !important;\r\n\t\ttext-align: center;\r\n\t\tfont-size: 27px !important;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 700;\r\n\t\tline-height: 28px;\r\n\t\tmargin-bottom: 24px !important;\r\n\t}\r\n\t\r\n\t.btn-pdf{\r\n\t\tborder: 2px solid #D01517;\r\n\t\tbackground: #D01517;\r\n\t}\r\n\t\r\n\t.btn-word{\r\n\t\tborder: 2px solid #25589A;\r\n\t\tbackground: #25589A;\r\n\t}\r\n\t\r\n\t.btn-excel{\r\n\t\tborder: 2px solid #20744A;\r\n\t\tbackground: #20744A;\r\n\t}\r\n\t\r\n\t.d-none{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t@media (min-width:992px) and (max-width:1399px){\r\n\t\tp.download-text{\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:991px){\r\n\t\t.button-wrapper{\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t\t\r\n\t\t.new .downloadBtn{\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-left: 0;\r\n\t\t\tmargin-right: 0;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.download-bottom{\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t\t\r\n\t\t.download-top{\r\n\t\t\tdisplay: block;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.new .download-desc{\r\n\t\t\tmargin-bottom: 16px !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:576px){\r\n\t\t.download-top{\r\n\t\t\theight: 120px;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.querySelectorAll('.downloadBtn').forEach(button=>{\r\n\t\tconst formatData = button.getAttribute('data-format');\r\n\t\tconst btnText = button.querySelector('.download-text');\r\n\t\tconst linkData = button.getAttribute('data-link');\r\n\t\tconst iconUnduh = button.querySelector('.icon-unduh');\r\n\t\tconst popupContent = button.getAttribute('popup-content');\r\n\t\t\r\n\t\tif(formatData == 'pdf'){\r\n\t\t\tbutton.classList.add('btn-pdf'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download PDF\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/teenyicons_pdf-solid.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'word'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Word\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/file-icons_microsoft-word.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'excel'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Excel\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/vscode-icons_file-type-excel2.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'docs'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Docs\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googledocs.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'sheet'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Sheet\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googlesheets.webp')\"\r\n\t\t}\r\n\t\t\r\n\t\tif(linkData == ''){\r\n\t\t\tbutton.classList.add('d-none');\r\n\t\t}\r\n\t})\r\n<\/script>\n<p>Anda dapat mengotomatisasi pelaporan stok opname dengan menggunakan software stok barang yang terintegrasi dengan barcode SKU barang. Otomatisasi ini menjamin pelaporan gudang Anda menjadi lebih akurat dan minim kesalahan.<\/p>\n\r\n    <div class=\"adjustable-banner-wrap\">\r\n        <a href=\"https:\/\/www.hashmicro.com\/id\/inventaris?medium=moneysite-banner\" target=\"_blank\">\r\n            <img decoding=\"async\" loading=\"lazy\"\r\n                 src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/inventory_desktop_3.webp\"\r\n                 data-desktop-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/inventory_desktop_3.webp\"\r\n                 data-mobile-src=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2026\/03\/inventory_mobile_3.webp\"\r\n                 alt=\"Inventory3\"\r\n                 class=\"responsive-image-banner\">\r\n\r\n            \r\n            <div class=\"adjustable-banner-overlay\" style=\"width: 58%\">\r\n                <p class=\"adjustable-banner-text\">Otomatiskan proses stock opname gudang Anda dengan <span class=\"adjustable-highlight\">Software Stok Barang<\/span><\/p>\r\n                <div class=\"adjustable-banner-btn\">Demo Gratis<\/div>\r\n            <\/div>\r\n\r\n        <\/a>\r\n    <\/div>\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><b>Kegunaan <\/b><b>Software<\/b><b> Stok Barang untuk <\/b><b>Stock Opname <\/b><b>yang Lebih Baik<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Mengurus <\/span><span style=\"font-weight: 400;\">stock opname<\/span><span style=\"font-weight: 400;\"> bisa dilakukan secara manual. Meski begitu, bila bisnis Anda semakin berkembang dan jumlah SKU yang ada semakin banyak, pencatatan manual bisa rentan kesalahan karena mengandalkan tenaga manusia yang terbatas.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Maka itu, <\/span><a href=\"https:\/\/www.hashmicro.com\/id\/blog\/aplikasi-stok-barang-terbaik\/\"><span style=\"font-weight: 400;\">penggunaan <\/span><span style=\"font-weight: 400;\">software<\/span><span style=\"font-weight: 400;\"> stok barang<\/span><\/a><span style=\"font-weight: 400;\"> dapat memastikan <\/span><span style=\"font-weight: 400;\">semua proses bisa lebih terkendali. Anda dapat melihat pergerakan barang secara <\/span><span style=\"font-weight: 400;\">real-time<\/span><span style=\"font-weight: 400;\">, memastikan jumlah stok selalu akurat, dan mengetahui kapan harus memesan atau memproduksi barang baru.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Software<\/span><span style=\"font-weight: 400;\"> stok barang juga dapat diintegrasikan dengan <\/span><span style=\"font-weight: 400;\">barcode scanner<\/span><span style=\"font-weight: 400;\"> yang digunakan <\/span><span style=\"font-weight: 400;\">checker<\/span><span style=\"font-weight: 400;\"> gudang untuk memvalidasi jumlah stok, membuat proses <\/span><span style=\"font-weight: 400;\">scanning<\/span><span style=\"font-weight: 400;\"> barang lebih cepat.<\/span><\/p>\n<div style=\"border: 1px solid #ddd; border-radius: 8px; overflow: hidden; margin: 30px 0; box-shadow: 0 4px 12px rgba(0,0,0,0.12);\">\n<div style=\"background-color: #990000; color: #fff; padding: 14px 20px; font-size: 18px; font-weight: bold; letter-spacing: 0.5px;\">Expert\u2019s Review<\/div>\n<div style=\"background-color: #fff; padding: 25px; font-size: 16px; line-height: 1.7; display: flex; align-items: flex-start; gap: 20px;\">\n<div style=\"flex: 1; position: relative;\">\n<div style=\"font-size: 40px; color: #990000; font-weight: bold; line-height: 0; position: absolute; top: -10px; left: -10px;\">\u201c<\/div>\n<p style=\"margin: 0 0 15px 25px; font-style: italic; color: #333;\">Software stok barang memudahkan kami mengurangi selisih stok hingga nyaris nol berkat pencatatan otomatis yang konsisten.<br \/>\nFitur laporan real-time juga membuat keputusan pembelian dan distribusi jauh lebih cepat dan terukur.<\/p>\n<p style=\"margin: 0 0 0 25px; font-weight: bold; color: #444;\">\u2014 Anandia Denisha, Regional Manager<span style=\"color: #222222; font-size: 15px;\">\u00a0<\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"Review\",\n  \"itemReviewed\": {\n    \"@type\": \"SoftwareApplication\",\n    \"name\": \"HashMicro Inventory Management Software\",\n    \"applicationCategory\": \"BusinessApplication\",\n    \"operatingSystem\": \"Web-based\",\n    \"publisher\": {\n      \"@type\": \"Organization\",\n      \"name\": \"HashMicro\",\n      \"url\": \"https:\/\/www.hashmicro.com\/id\"\n    }\n  },\n  \"author\": {\n    \"@type\": \"Person\",\n    \"name\": \"Anandia Denisha\",\n    \"jobTitle\": \"Regional Manager\"\n  },\n  \"reviewBody\": \"HashMicro memudahkan kami mengurangi selisih stok hingga nyaris nol berkat pencatatan otomatis yang konsisten. Fitur laporan real-time juga membuat keputusan pembelian dan distribusi jauh lebih cepat dan terukur.\",\n  \"reviewRating\": {\n    \"@type\": \"Rating\",\n    \"ratingValue\": \"5\",\n    \"bestRating\": \"5\"\n  },\n  \"publisher\": {\n    \"@type\": \"Organization\",\n    \"name\": \"HashMicro\"\n  }\n}\n<\/script><\/p>\n<h2><b>Kesimpulan<\/b><\/h2>\n<p>Perusahaan harus menganggap stock opname sebagai bagian dari job description gudang yang penting bagi keseimbangan ekosistem perusahaan. Tanpa stock opname, perusahaan Anda berisiko merugi karena sering kehilangan barang atau ternyata stok telah kedaluwarsa.<\/p>\n<p>Di samping stock opname, pelatihan yang baik dan efektif bagi staf gudang Anda akan meningkatkan kompetensi mereka dalam menjalankan stock opname dan memastikan keamanan gudang. Latih tim gudang Anda sesuai kebutuhan untuk menjamin ekosistem gudang yang efisien.<\/p>\n<h2><strong>FAQ Seputar Stock Opname<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>Siapa yang mengerjakan stock opname?<\/strong><\/summary>\n<p>Beberapa pihak terlibat dalam stock opname: checker gudang bertugas menghitung jumlah stok, audit internal bertugas memastikan keakuratan dan mencegah kecurangan dalam penghitungan, tim akuntansi bertugas mencocokkan data dengan sistem untuk membuat laporan keuangan, serta manajemen gudang bertanggung jawab atas keseluruhan evaluasi hasil opname.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apakah stok dan persediaan itu sama?<\/strong><\/summary>\n<p>Stok mengacu pada barang yang akan perusahaan jual atau gunakan dalam waktu dekat, sedangkan persediaan merujuk pada seluruh barang yang perusahaan miliki, baik yang akan segera terjual maupun belum.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apa hubungan stock opname dengan akuntansi?<\/strong><\/summary>\n<p>Stock opname memiliki hubungan kuat dengan akuntansi penjualan karena ketersediaan stok sangat memengaruhi laporan nilai stok pada gudang. Hubungan ini tampak pada standar persediaan, yaitu perusahaan harus mengukur persediaan pada nilai yang lebih rendah antara biaya perolehan dan net realizable value.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Apa saja dokumen yang diperlukan untuk stock opname?<\/strong><\/summary>\n<p>Untuk menjalankan stock opname, tim memerlukan beberapa dokumen: daftar persediaan, count sheet, dokumen cut-off barang masuk dan keluar, berita acara stock opname, laporan selisih stok, form penyesuaian persediaan, serta daftar barang rusak.<\/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\": \"Siapa yang mengerjakan stock opname?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Pihak yang terlibat dalam stock opname adalah checker gudang sebagai penghitung jumlah stok, audit internal untuk memastikan keakuratan dan tidak ada kecurangan dalam penghitungan, tim akuntansi untuk mencocokkan data dengan sistem untuk membuat laporan keuangan, dan manajemen gudang sebagai penanggung jawab keseluruhan evaluasi hasil opname.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apakah stok dan persediaan itu sama?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Stok mengacu pada barang yang akan dijual atau digunakan perusahaan dalam waktu dekat, sedangkan persediaan merujuk pada seluruh barang yang dimiliki perusahaan, baik itu yang akan dijual dalam waktu dekat atau belum.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa hubungan stock opname dengan akuntansi?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Stock opname memiliki hubungan kuat dengan akuntansi penjualan karena ketersediaan stok sangat memengaruhi laporan nilai stok pada gudang. Hubungannya seperti pada standar persediaan yang di mana harus diukur pada nilai yang lebih rendah antara biaya perolehan dan net realizable value.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Apa saja dokumen yang diperlukan untuk stock opname?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Dokumen yang diperlukan untuk opname adalah: daftar persediaan, count sheet, dokumen cut-off barang masuk dan keluar, berita acara stock opname, laporan selisih stok, form penyesuaian persediaan, dan daftar barang rusak.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Stock opname merupakan proses penting untuk memastikan jumlah dan kondisi barang di gudang sesuai dengan data yang tercatat dalam sistem. Kegiatan ini menjadi dasar untuk menjaga akurasi persediaan, kelancaran operasional di gudang, dan ketepatan dalam pengambilan keputusan untuk bisnis. Tanpa stock opname yang rapi, perusahaan berisiko menghadapi perbedaan data stok, kehilangan barang, hingga kesalahan dalam [&hellip;]<\/p>\n","protected":false},"author":160,"featured_media":192674,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[88],"tags":[],"class_list":{"0":"post-39989","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-inventory"},"acf":{"post_reviewer":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.1 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Stock Opname: Definisi, Tahapan, Tujuan dan Contohnya<\/title>\n<meta name=\"description\" content=\"Stock opname adalah kegiatan mencocokkan catatan persediaan dengan stok fisik. Pahami pentingnya stock opname untuk akurasi persediaan barang.\" \/>\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\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/\" \/>\n<meta property=\"og:locale\" content=\"id_ID\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Stock Opname: Definisi, Langkah dan Contohnya\" \/>\n<meta property=\"og:description\" content=\"Stock opname adalah kegiatan mencocokkan catatan persediaan dengan stok fisik. Pahami pentingnya stock opname untuk akurasi persediaan barang.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/\" \/>\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-08-16T06:00:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-29T09:53:30+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/pengertian-stock-opname-hashmicro.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Jessica Wijaya\" \/>\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=\"Jessica Wijaya\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimasi waktu membaca\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 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\\\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\\\/\"},\"author\":{\"name\":\"Jessica Wijaya\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#\\\/schema\\\/person\\\/4d83ca1a7056c0a44f813f8721086980\"},\"headline\":\"Stock Opname: Definisi, Langkah dan Contohnya\",\"datePublished\":\"2024-08-16T06:00:47+00:00\",\"dateModified\":\"2026-04-29T09:53:30+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\\\/\"},\"wordCount\":1663,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/pengertian-stock-opname-hashmicro.webp\",\"articleSection\":[\"Inventory\"],\"inLanguage\":\"id\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\\\/\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\\\/\",\"name\":\"Stock Opname: Definisi, Tahapan, Tujuan dan Contohnya\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/pengertian-stock-opname-hashmicro.webp\",\"datePublished\":\"2024-08-16T06:00:47+00:00\",\"dateModified\":\"2026-04-29T09:53:30+00:00\",\"description\":\"Stock opname adalah kegiatan mencocokkan catatan persediaan dengan stok fisik. Pahami pentingnya stock opname untuk akurasi persediaan barang.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\\\/#breadcrumb\"},\"inLanguage\":\"id\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/pengertian-stock-opname-hashmicro.webp\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2024\\\/08\\\/pengertian-stock-opname-hashmicro.webp\",\"width\":1920,\"height\":1080,\"caption\":\"Pengertian stock opname\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Stock Opname: Definisi, Langkah dan Contohnya\"}]},{\"@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\\\/4d83ca1a7056c0a44f813f8721086980\",\"name\":\"Jessica Wijaya\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"id\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Jessica-Wijaya-1-1-96x96.webp\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Jessica-Wijaya-1-1-96x96.webp\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/wp-content\\\/uploads\\\/2025\\\/10\\\/Jessica-Wijaya-1-1-96x96.webp\",\"caption\":\"Jessica Wijaya\"},\"description\":\"Selama lebih dari 5 tahun sebagai Senior Content Writer, Jessica telah menulis topik yang mengulas tentang bidang inventory dan warehouse management. Keahliannya mencakup penulisan artikel manajemen stok dan persediaan, perencanaan kebutuhan, multi-warehouse management, dan integrasi sistem digital untuk pengelolaan barang.\",\"sameAs\":[\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/\"],\"gender\":\"Perempuan\",\"knowsAbout\":[\"Inventory\",\"inventory management\",\"manajemen inventaris\"],\"knowsLanguage\":[\"Inggris\",\"Indonesia\"],\"jobTitle\":\"Senior Content Writer\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/id\\\/blog\\\/author\\\/jessicawijaya\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Stock Opname: Definisi, Tahapan, Tujuan dan Contohnya","description":"Stock opname adalah kegiatan mencocokkan catatan persediaan dengan stok fisik. Pahami pentingnya stock opname untuk akurasi persediaan barang.","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\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/","og_locale":"id_ID","og_type":"article","og_title":"Stock Opname: Definisi, Langkah dan Contohnya","og_description":"Stock opname adalah kegiatan mencocokkan catatan persediaan dengan stok fisik. Pahami pentingnya stock opname untuk akurasi persediaan barang.","og_url":"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/","og_site_name":"HashMicro Indonesia","article_publisher":"https:\/\/www.facebook.com\/hashmicro","article_published_time":"2024-08-16T06:00:47+00:00","article_modified_time":"2026-04-29T09:53:30+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/pengertian-stock-opname-hashmicro.webp","type":"image\/webp"}],"author":"Jessica Wijaya","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Ditulis oleh":"Jessica Wijaya","Estimasi waktu membaca":"10 menit"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/"},"author":{"name":"Jessica Wijaya","@id":"https:\/\/www.hashmicro.com\/id\/blog\/#\/schema\/person\/4d83ca1a7056c0a44f813f8721086980"},"headline":"Stock Opname: Definisi, Langkah dan Contohnya","datePublished":"2024-08-16T06:00:47+00:00","dateModified":"2026-04-29T09:53:30+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/"},"wordCount":1663,"publisher":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/pengertian-stock-opname-hashmicro.webp","articleSection":["Inventory"],"inLanguage":"id"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/","url":"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/","name":"Stock Opname: Definisi, Tahapan, Tujuan dan Contohnya","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/pengertian-stock-opname-hashmicro.webp","datePublished":"2024-08-16T06:00:47+00:00","dateModified":"2026-04-29T09:53:30+00:00","description":"Stock opname adalah kegiatan mencocokkan catatan persediaan dengan stok fisik. Pahami pentingnya stock opname untuk akurasi persediaan barang.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/#breadcrumb"},"inLanguage":"id","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/"]}]},{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/#primaryimage","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/pengertian-stock-opname-hashmicro.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/08\/pengertian-stock-opname-hashmicro.webp","width":1920,"height":1080,"caption":"Pengertian stock opname"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/id\/blog\/pengertian-stock-opname-tujuan-manfaat-serta-tahapannya\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/id\/blog\/"},{"@type":"ListItem","position":2,"name":"Stock Opname: Definisi, Langkah dan Contohnya"}]},{"@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\/4d83ca1a7056c0a44f813f8721086980","name":"Jessica Wijaya","image":{"@type":"ImageObject","inLanguage":"id","@id":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jessica-Wijaya-1-1-96x96.webp","url":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jessica-Wijaya-1-1-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2025\/10\/Jessica-Wijaya-1-1-96x96.webp","caption":"Jessica Wijaya"},"description":"Selama lebih dari 5 tahun sebagai Senior Content Writer, Jessica telah menulis topik yang mengulas tentang bidang inventory dan warehouse management. Keahliannya mencakup penulisan artikel manajemen stok dan persediaan, perencanaan kebutuhan, multi-warehouse management, dan integrasi sistem digital untuk pengelolaan barang.","sameAs":["https:\/\/www.hashmicro.com\/id\/"],"gender":"Perempuan","knowsAbout":["Inventory","inventory management","manajemen inventaris"],"knowsLanguage":["Inggris","Indonesia"],"jobTitle":"Senior Content Writer","url":"https:\/\/www.hashmicro.com\/id\/blog\/author\/jessicawijaya\/"}]}},"focus_keyword":"Stock opname adalah","order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/39989","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\/160"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/comments?post=39989"}],"version-history":[{"count":76,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/39989\/revisions"}],"predecessor-version":[{"id":193124,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/posts\/39989\/revisions\/193124"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media\/192674"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/media?parent=39989"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/categories?post=39989"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/id\/blog\/wp-json\/wp\/v2\/tags?post=39989"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}