{"id":8964,"date":"2025-06-04T01:48:58","date_gmt":"2025-06-04T01:48:58","guid":{"rendered":"https:\/\/www.hashmicro.com\/my\/blog\/?p=8964"},"modified":"2026-04-14T02:56:20","modified_gmt":"2026-04-14T02:56:20","slug":"e-procurement","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/","title":{"rendered":"What Is e-Procurement? How It Works and Its Benefits"},"content":{"rendered":"<p>Did you know that digital procurement has the power to transform how businesses in Malaysia purchase goods and services completely? E-Procurement utilizes the internet to simplify and streamline the procurement process, enabling companies to operate more efficiently and reduce costs.<\/p>\n<p>However, many businesses still face the challenges of managing traditional procurement methods, resulting in inefficiencies and missed opportunities for savings. Without embracing e-procurement, companies risk high operational costs, slow workflows, and increased chances of errors in manual processes.<\/p>\n<p>A <a href=\"https:\/\/www.researchgate.net\/publication\/377535277_Investigating_the_factors_affecting_e-procurement_adoption_in_supply_chain_performance_An_empirical_study_on_Malaysia_manufacturing_industry\" target=\"_blank\" rel=\"noopener\">study<\/a> on Malaysian manufacturing companies highlights key factors like digital readiness and infrastructure limitations affecting e-procurement adoption. It shows how adopting digital procurement practices can enhance supply chain efficiency. Overcoming these barriers is essential for maximizing the benefits of e-procurement.<\/p>\n<p>Don&#8217;t worry! <strong><a href=\"https:\/\/www.hashmicro.com\/my\/procurement-and-purchasing-management-system\">HashMicro&#8217;s e-Procurement software<\/a><\/strong> can be the ideal solution to streamline your purchasing processes and improve operational efficiency. Keep reading to discover how e-procurement features can help your business excel in Malaysia&#8217;s competitive market.<\/p>\n<p><!-- <div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tTable of Content\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div class=\"dropdown-fixed-top\" id=\"dropdown-fixed-top\">\r\n\t<div class=\"row\">\r\n\t\t<p id=\"pilihDaftarIsi\">Content Lists<\/p>\r\n\t\t<p><i class=\"td-icon-menu-down\"><\/i><\/p>\r\n\t<\/div>\r\n\t\r\n\t<div>\r\n\t\t<ul id=\"list_toc_top\" class='list_toc'><\/ul>\r\n\t<\/div>\r\n<\/div> -->\r\n\r\n<!-- TOC mobile -->\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\">Table of Content<\/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<!-- TOC mobile -->\r\n\r\n<style>\r\n\t@media (max-width: 992px) {\r\n\t\t#toc_group_article {\r\n\t\t\tpadding-top: 24px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc_float {\r\n\t\tmax-height: calc(100vh - 250px);\r\n\t\toverflow-y: auto;\r\n\t}\r\n\t\r\n\t#list_toc_top {\r\n\t\tdisplay: none;\r\n\t\tbackground: #fff;\r\n\t\tmargin-bottom: 4px;\r\n\t}\r\n\t\r\n\t#list_toc_top li {\r\n\t\tdisplay: block;\r\n\t\tmargin-left: 0;\r\n\t\tlist-style: none;\r\n\t}\r\n\t\r\n\t#list_toc_top a {\r\n\t\tpadding: 5px;\r\n\t\tdisplay: block;\r\n\t}\r\n\t\r\n\t#list_toc_top.show {\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n\t#list_toc_top a {\r\n\t\tcolor: #434343;\r\n\t\tborder-bottom: 1px solid #bbb;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top {\r\n\t\tposition: fixed;\r\n\t\ttop: 59px;\r\n\t\twidth: 100%;\r\n\t\tz-index: 99;\r\n\t\tborder-bottom: 2px solid #9c171e;\r\n\t\tpadding: 12px;\r\n\t\tbackground: #fff;\r\n\t\twidth: 100%;\r\n\t\tcursor: pointer;\r\n\t\tdisplay: none;\r\n\t\tleft: 0;\r\n\t\tbox-shadow: 0 -2px 7px 6px rgba(0, 0, 0, 0.17);\r\n\t}\r\n\t\r\n\t#dropdown-fixed-top.show {\r\n\t\tanimation: showAnim 0.5s ease;\r\n\t\tdisplay: block;\r\n\t\topacity: 1;\r\n\t}\r\n\t\r\n\t@keyframes showAnim {\r\n\t\tfrom {\r\n\t\t\tdisplay: none;\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\tto {\r\n\t\t\tdisplay: block;\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top #list_toc_top {\r\n\t\tmax-height: calc(50vh - 110px);\r\n\t\toverflow-y: scroll;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row p {\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\t\r\n\t#pilihDaftarIsi {\r\n\t\tmax-width: 100%;\r\n\t\toverflow: hidden;\r\n\t\twhite-space: nowrap;\r\n\t}\r\n\t\r\n\t@media (min-width: 1018px) {\r\n\t\t.dropdown-fixed-top {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t}\r\n\t\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_top 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: 6px;\r\n\t\tpadding-top: 2px;\r\n\t\tpadding-bottom: 2px;\r\n\t\ttransition: all 0.2s ease-in-out;\r\n\t\tfont-size: 15px;\r\n\t\tline-height: 18px;\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#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}\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\t\t\t\t\r\n\t}\r\n\r\n<\/style>\r\n\r\n<style>\r\n\t@media (max-width: 992px) {\r\n\t\t#toc_group_article {\r\n\t\t\tpadding-top: 24px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc_float {\r\n\t\tmax-height: calc(100vh - 250px);\r\n\t\toverflow-y: auto;\r\n\t}\r\n\t\r\n\t#list_toc_top {\r\n\t\tdisplay: none;\r\n\t\tbackground: #fff;\r\n\t\tmargin-bottom: 4px;\r\n\t}\r\n\t\r\n\t#list_toc_top li {\r\n\t\tdisplay: block;\r\n\t\tmargin-left: 0;\r\n\t\tlist-style: none;\r\n\t}\r\n\t\r\n\t#list_toc_top a {\r\n\t\tpadding: 5px;\r\n\t\tdisplay: block;\r\n\t}\r\n\t\r\n\t#list_toc_top.show {\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n\t#list_toc_top a {\r\n\t\tcolor: #434343;\r\n\t\tborder-bottom: 1px solid #bbb;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top {\r\n\t\tposition: fixed;\r\n\t\ttop: 59px;\r\n\t\twidth: 100%;\r\n\t\tz-index: 99;\r\n\t\tborder-bottom: 2px solid #9c171e;\r\n\t\tpadding: 12px;\r\n\t\tbackground: #fff;\r\n\t\twidth: 100%;\r\n\t\tcursor: pointer;\r\n\t\tdisplay: none;\r\n\t\tleft: 0;\r\n\t\tbox-shadow: 0 -2px 7px 6px rgba(0, 0, 0, 0.17);\r\n\t}\r\n\t\r\n\t#dropdown-fixed-top.show {\r\n\t\tanimation: showAnim 0.5s ease;\r\n\t\tdisplay: block;\r\n\t\topacity: 1;\r\n\t}\r\n\t\r\n\t@keyframes showAnim {\r\n\t\tfrom {\r\n\t\t\tdisplay: none;\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\tto {\r\n\t\t\tdisplay: block;\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top #list_toc_top {\r\n\t\tmax-height: calc(50vh - 110px);\r\n\t\toverflow-y: scroll;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row p {\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\t\r\n\t#pilihDaftarIsi {\r\n\t\tmax-width: 100%;\r\n\t\toverflow: hidden;\r\n\t\twhite-space: nowrap;\r\n\t}\r\n\t\r\n\t@media (min-width: 1018px) {\r\n\t\t.dropdown-fixed-top {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t}\r\n\t\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_top 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: 6px;\r\n\t\tpadding-top: 2px;\r\n\t\tpadding-bottom: 2px;\r\n\t\ttransition: all 0.2s ease-in-out;\r\n\t\tfont-size: 15px;\r\n\t\tline-height: 18px;\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#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\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\r\n<\/style>\r\n\r\n<!-- START ToC styling  -->\r\n<style>\r\n\t\/* 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\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<!-- END ToC styling  -->\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\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 + 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 = 'Table of Content';\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 = 'Table of Content'; \/\/ 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 = 'Table of Content'; \/\/ 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 = 'Table of Content'; \/\/ 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<\/script>\r\n\r\n<!-- <script>\r\n\tvar pilihDaftarIsi = document.getElementById('pilihDaftarIsi');\r\n\t\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\tvar dropdownFixedTop = document.querySelector('.dropdown-fixed-top');\r\n\r\n\t\tdropdownFixedTop.addEventListener('click', function() {\r\n\t\t\tvar dropdownContent = this.querySelector('.list_toc');\r\n\t\t\tdropdownContent.classList.toggle('show');\r\n\t\t});\r\n\r\n\t\twindow.addEventListener('click', function(event) {\r\n\t\t\tvar listTocTop = document.getElementById('list_toc_top');\r\n\r\n\t\t\tif (!dropdownFixedTop.contains(event.target)) {\r\n\t\t\t\tlistTocTop.classList.remove('show');\r\n\t\t\t}\r\n\t\t});\r\n\t});\r\n\t\r\n\tvar daftarIsiContainer = document.getElementById('toc_group_article');\r\n\tvar dropdownFixedTop = document.getElementById('dropdown-fixed-top');\r\n    var triggered = false; \/\/ Flag to keep track of whether the function has been triggered\r\n\r\n    window.addEventListener('scroll', function() {\r\n        if (!triggered && isCompletelyScrolledPast(daftarIsiContainer)) {\r\n            showSectionDropdownFixedTop(false);\r\n            triggered = true;\r\n        } else if (triggered && !isCompletelyScrolledPast(daftarIsiContainer)) {\r\n            showSectionDropdownFixedTop(true);\r\n            triggered = false;\r\n        }\r\n    });\r\n\r\n    function isCompletelyScrolledPast(element) {\r\n        var elementTop = element.getBoundingClientRect().top;\r\n        var elementBottom = element.getBoundingClientRect().bottom;\r\n        return elementTop < 0 && elementBottom < 0;\r\n    }\r\n\r\n    function showSectionDropdownFixedTop(show) {\r\n\t\tif (show) {\r\n\t\t\tdropdownFixedTop.classList.remove(\"show\");\r\n\t\t} else {\r\n\t\t\tdropdownFixedTop.classList.add(\"show\");\r\n\t\t}\r\n    }\r\n\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        } 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\t\t  pilihDaftarIsi.innerHTML = a.textContent;\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', 'list_toc_top']; \/\/ 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<!-- END script lama -->\r\n\t\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        } 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', 'list_toc_top']; \/\/ 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\t\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        \/\/ Fungsi untuk mengubah teks menjadi format id\r\n        function formatId(text) {\r\n            return text.trim().replace(\/[^\\w\\d]+\/g, '_');\r\n        }\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        const elements = document.querySelectorAll('.td-post-content h2');\r\n\t\t\t\/\/, .td-post-content h3\r\n\r\n        elements.forEach(element => {\r\n            if (element.tagName === 'H2') {\r\n                const id = formatId(element.textContent);\r\n                element.id = id;\r\n\t\t\t\tif(element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Biar ga nampilin Key Takeaways di ToC\r\n                headings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n            } else if (element.tagName === 'H3') {\r\n                const id = formatId(element.textContent);\r\n                element.id = id;\r\n                if (headings.length > 0) {\r\n                    headings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n                }\r\n            }\r\n        });\r\n\r\n        \/\/ Membuat list HTML dari objek headings\r\n        const ul = document.getElementById('list_toc');\r\n        let currentUl = ul;\r\n        headings.forEach(heading => {\r\n            const li = document.createElement('li');\r\n            const a = document.createElement('a');\r\n            a.textContent = heading.title;\r\n            a.href = `#${heading.id}`;\r\n            li.appendChild(a);\r\n\r\n            if (heading.level === 'h2') {\r\n                \/\/ Menyimpan ul saat ini untuk menambahkan nested ul\r\n                currentUl = li;\r\n                ul.appendChild(li);\r\n            } else if (heading.level === 'h3') {\r\n                if (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n                    \/\/ Jika belum ada nested ul, buat satu\r\n                    const nestedUl = document.createElement('ul');\r\n                    currentUl.appendChild(nestedUl);\r\n                    currentUl = nestedUl;\r\n                }\r\n                currentUl.appendChild(li);\r\n            }\r\n\r\n            createNestedList(li, heading.children);\r\n        });\r\n\t\t\/\/ Dapatkan elemen ul dengan id 'list_toc_float'\r\nconst ulFloat = document.getElementById('list_toc');\r\nconst ulJourney = document.getElementById('list_journey');\r\n\r\n\/\/ Dapatkan isi (child elements) dari ul dengan id 'list_toc_float'\r\n\tif (ulFloat !== null) {\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\t\tconst ulTocTop = document.getElementById('list_toc_top');\r\n\t\tif ((ulToc !== null || ulToc !== undefined) && window.innerWidth > 1018){\r\n\t\t\tulToc.append(...clonedChildren);\r\n\t\t} else {\r\n\t\t\tulTocTop.append(...clonedChildren);\r\n\t\t}\r\n\t} \r\n\r\n\tif (ulJourney !== null) {\r\n\t\tconst clonedChildrenJourney = ulJourney.cloneNode(true).children;\r\n\t\tconst ulTocJourney = document.getElementById('list_toc_journey');\r\n\t\tulTocJourney.append(...clonedChildrenJourney);\r\n\t} \r\n\r\n\r\n\r\n\r\n\t\r\n        \/\/ Fungsi untuk mengambil tinggi navbar\r\n        function getNavbarHeight() {\r\n            const navbar = document.getElementById('tdi_34');\r\n            return navbar ? navbar.offsetHeight : 0;\r\n        }\r\n\r\n        \/\/ Fungsi untuk menambahkan offset posisi scroll\r\n        function scrollToElementWithOffset(elementId) {\r\n            const element = document.getElementById(elementId);\r\n            if (element) {\r\n                const offset = getNavbarHeight();\r\n                const elementPosition = element.getBoundingClientRect().top;\r\n                const offsetPosition = elementPosition - offset-40;\r\n\r\n                window.scrollBy({\r\n                    top: offsetPosition,\r\n                    behavior: 'smooth'\r\n                });\r\n            }\r\n        }\r\n\r\n        \/\/ Fungsi untuk menangani klik pada tautan judul\r\n        function handleTitleClick(event) {\r\n            event.preventDefault();\r\n            const href = event.target.getAttribute('href').substr(1);\r\n            scrollToElementWithOffset(href);\r\n        }\r\n\r\n        \/\/ Tambahkan event listener untuk semua tautan judul\r\n        const titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n        titleLinks.forEach(link => {\r\n            link.addEventListener('click', handleTitleClick);\r\n        });\r\n\t});\r\n    <\/script> -->\r\n<!-- \t<style>#toc_group_float{display:block !important}<\/style> -->\r\n <span data-sheets-root=\"1\"><a href=\"https:\/\/www.hashmicro.com\/my\/free-product-demo\/?medium=free-product-demo\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/free-demo-desktop-my.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/free-demo-desktop-my.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2024\/07\/free-demo-mobile-my.jpg\" alt=\"FreeDemo\" 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><\/span><\/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\">E-procurement simplifies purchasing by automating processes such as supplier selection, order placement, and payment, helping Malaysian businesses save time and reduce operational costs.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\">Adoption challenges still exist, including integration issues, user resistance, and data security risks, but overcoming these can significantly boost procurement efficiency and transparency.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.hashmicro.com\/my\/procurement-and-purchasing-management-system\">HashMicro&#8217;s e-Procurement Software<\/a> offers a complete solution, with features like vendor rating, budget control, and multi-RFQ comparison to help businesses in Malaysia streamline procurement and drive growth.<\/li>\n<\/ul>\n<p><style>\r\n.button-cta-custom {\r\n    background-color: #8a0e19;\r\n    color: #fff !important;\r\n    -webkit-transition: all .3s ease;\r\n    transition: all .3s ease;\r\n    padding: 8px 24px;\r\n    display: inline-block;\r\n    border-radius: 8px;\r\n    font-size: 16px;\r\n    font-weight: bold;\r\n}\r\n.button-cta-custom:hover{\r\n\tbackground-color:#991b26\t\t\r\n}\r\n<\/style>\r\n<a class=\"button-cta-custom\" href=\"https:\/\/www.hashmicro.com\/my\/free-product-demo?medium=cta-button\" target=\"_blank\">Click Here to Get the Free Demo!<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><strong>What is e-Procurement?<\/strong><\/h2>\n<p>E-procurement, or electronic procurement, refers to the use of digital platforms and procurement software tools to manage purchasing activities within an organization. It enables businesses in Malaysia to streamline buying processes by automating supplier selection, order placement, invoice handling, and payment, all conducted online through efficient e-procurement systems.<\/p>\n<p>By leveraging automated purchasing systems, e-procurement removes the reliance on traditional paperwork, making procurement faster and more transparent. This digital procurement solution helps companies save time and reduce administrative costs while improving supplier management and inventory control for better operational efficiency.<\/p>\n<p>Moreover, e-procurement offers access to a wider range of suppliers and products, giving Malaysian businesses greater flexibility to find competitive deals. Understanding what e-procurement is today means embracing change management e-procurement initiatives that not only enhance procurement accuracy but also provide a strategic advantage in Malaysia&#8217;s increasingly digital marketplace.<\/p>\n<h2><strong>The Differences Between E-Procurement Systems and E-Procurement Software<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-9006\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-1.webp\" alt=\"e-procurement\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-1.webp 1200w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-1-300x169.webp 300w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-1-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-1-768x432.webp 768w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-1-747x420.webp 747w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-1-150x84.webp 150w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-1-696x392.webp 696w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-1-1068x601.webp 1068w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>While the terms e-procurement system and e-procurement software are often used interchangeably, they actually describe different aspects of digital procurement solutions. Understanding these distinctions is important for businesses in Malaysia looking to implement effective automated purchasing systems.<\/p>\n<p>An e-procurement system refers to the entire integrated framework that manages the complete procurement lifecycle\u2014from supplier management and sourcing to invoicing and payment processing. This comprehensive system often combines multiple procurement software tools and may connect with other business platforms such as <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/best-erp-software\/\">ERP software<\/a> and inventory management, ensuring seamless operations across departments.<\/p>\n<p>On the other hand, e-procurement software typically refers to individual applications designed to automate specific procurement tasks like purchase order creation, supplier database management, or contract handling. These software tools can either function independently or form part of a broader e-procurement system, making them versatile components within Malaysia&#8217;s evolving digital procurement landscape.<\/p>\n<h2><strong>Main Features of e-Procurement Systems<\/strong><\/h2>\n<p>To fully understand what e-procurement is and how it can transform your business, it\u2019s important to explore the key features that make e-procurement systems indispensable. These features work together to automate purchasing processes, improve transparency, and enhance collaboration between buyers and suppliers, driving greater efficiency and cost savings.<\/p>\n<ul>\n<li><strong>Supplier Management:<\/strong> An e-procurement system helps businesses in Malaysia maintain a centralized supplier database and evaluate vendor performance effectively. This feature enables better supplier selection by considering price, quality, and delivery timelines, supporting a more strategic procurement approach.<\/li>\n<li><strong>Purchase Order Management:<\/strong> Automated purchasing systems streamline the creation, approval, and tracking of purchase orders, reducing manual errors and delays. This ensures orders are accurate and delivered on time, enhancing overall procurement efficiency.<\/li>\n<li><strong>Invoice Processing and Payment Automation:<\/strong> By digitizing invoice receipt and approval workflows, the <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/what-is-procurement-management-system\/\">procurement management system<\/a> helps minimise duplicate payments and accelerate payment cycles.\u00a0This automation boosts financial accuracy and improves supplier relationships through timely settlements.<\/li>\n<li><strong>Contract Management:<\/strong> Digital procurement solutions often include contract management modules that facilitate the creation, storage, and monitoring of supplier agreements. This promotes compliance with contract terms and simplifies renewals or amendments, reducing risks in procurement operations.<\/li>\n<li><strong>Real-Time Reporting and Analytics:<\/strong> E-procurement systems provide comprehensive dashboards and live reports on procurement activities, supplier performance, and budget adherence. These insights empower Malaysian businesses to make data-driven decisions and continuously enhance their procurement processes.<\/li>\n<li><strong>e-Sourcing and e-Tendering:<\/strong> These features enable organisations to conduct sourcing and tendering electronically, allowing suppliers to submit bids online for transparent evaluation. This increases competitiveness and helps companies secure the best value for their procurement spend.<\/li>\n<li><strong>Inventory Management Integration:<\/strong> Many e-procurement systems seamlessly integrate with inventory management platforms to maintain accurate stock levels. This integration prevents overstocking or shortages, making procurement more responsive to actual business needs.<\/li>\n<\/ul>\n<h2><strong>Components of the e-Procurement System<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-9007\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-2.webp\" alt=\"e-procurement\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-2.webp 1200w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-2-300x169.webp 300w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-2-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-2-768x432.webp 768w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-2-747x420.webp 747w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-2-150x84.webp 150w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-2-696x392.webp 696w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-2-1068x601.webp 1068w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>To fully harness the benefits of an e-procurement system, it&#8217;s essential to understand its core components that work together to simplify and automate the entire purchasing process. Each element plays a critical role in enhancing transparency, improving supplier collaboration, and driving efficiency in today&#8217;s competitive Malaysian market.<\/p>\n<ul>\n<li><strong>Management of purchase requests (indent management):<\/strong> This component handles the creation and verification of purchase requests, helping organisations accurately identify their procurement needs. Efficient management of purchase requests sets the foundation for a smooth e-procurement process in Malaysia&#8217;s dynamic business environment.<\/li>\n<li><strong>Request for Proposal (RFP) creation:<\/strong> Crafting clear and detailed RFPs allows businesses to communicate their exact requirements to potential suppliers. This step ensures suppliers can submit competitive and relevant proposals, streamlining supplier selection within digital procurement solutions.<\/li>\n<li><strong>Bid submission and evaluation:<\/strong> Suppliers respond to RFPs by submitting bids outlining their prices, delivery terms, and service commitments. The system then facilitates the fair and transparent assessment of these bids based on quality, cost, and supplier reliability.<\/li>\n<li><strong>E-Auction:<\/strong> An optional feature where suppliers compete in real-time through online bidding to offer the best prices and contract terms. This promotes a competitive environment that can help Malaysian companies achieve cost savings and better procurement outcomes.<\/li>\n<li><strong>Vendor selection:<\/strong> After thorough bid analysis or e-auction results, the most suitable vendor is selected based on alignment with organisational needs and value propositions. This crucial decision impacts the efficiency and success of the entire procurement process.<\/li>\n<li><strong>Vendor contract management:<\/strong> Once vendors are chosen, contract management ensures all terms, conditions, and compliance requirements are clearly defined and agreed upon. This component solidifies the partnership and reduces risks associated with procurement agreements.<\/li>\n<li><strong>Integration with automated purchasing systems:<\/strong> Modern e-procurement systems often integrate with automated purchasing systems and other business platforms to streamline workflows. This integration supports seamless procurement operations, enhancing transparency and efficiency across organisations in Malaysia.<\/li>\n<\/ul>\n<h2><strong>Benefits of an e-Procurement System<\/strong><\/h2>\n<p>Understanding the benefits of an e-procurement system is essential for businesses aiming to modernize their purchasing processes and stay competitive in Malaysia&#8217;s evolving market. By leveraging these advantages, companies can boost efficiency, reduce costs, and strengthen supplier relationships, paving the way for sustainable growth.<\/p>\n<ul>\n<li><strong>Information transparency:<\/strong> An e-procurement system consolidates all procurement data in one accessible platform, enhancing visibility for authorised users. This transparency enables Malaysian businesses to analyse spending patterns effectively and make informed decisions to optimise procurement strategies.<\/li>\n<li><strong>Cost savings:<\/strong> Automated purchasing systems reduce manual paperwork and administrative tasks, leading to significant time and cost savings. Additionally, digital procurement solutions allow organisations to negotiate better deals with suppliers, resulting in lower procurement expenses.<\/li>\n<li><strong>Streamlined and automated processes:<\/strong> E-procurement automates the entire procurement cycle, from order requests to payments, minimising human errors and delays. This automation ensures that procurement activities comply with company policies and are executed promptly.<\/li>\n<li><strong>Enhanced inventory management:<\/strong> Integrating e-procurement with inventory systems enables real-time tracking of stock levels and usage. This helps Malaysian companies maintain optimal inventory, preventing costly overstocking or stockouts.<\/li>\n<li><strong>Broader product and supplier selection:<\/strong> With online access to numerous suppliers and product offerings, organisations can compare options easily to find the best fit for their needs. This wider selection empowers businesses to make cost-effective and quality-driven purchasing decisions.<\/li>\n<li><strong>Improved workflow and compliance:<\/strong> E-procurement supports decentralised purchasing while maintaining control through approved catalogs and automated approval workflows. This reduces maverick spending and ensures all purchases adhere to internal policies and negotiated contracts.<\/li>\n<li><strong>Real-time reporting and data insights:<\/strong> Digital procurement solutions provide comprehensive reports and analytics on procurement activities, enabling continuous improvement. Access to real-time data helps Malaysian companies identify opportunities for consolidation and leverage buying power effectively.<\/li>\n<\/ul>\n<p><span data-sheets-root=\"1\"><a href=\"https:\/\/www.hashmicro.com\/my\/offer\/download-erp-pricing-list?medium=banner-article\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/skema-harga-desktop-my.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/skema-harga-desktop-my.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/08\/skema-harga-mobile-my.webp\" alt=\"SkemaHarga\" 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><\/span><\/p>\n<h2><strong>How does e-Procurement work?<\/strong><\/h2>\n<p>To understand the true power of e-procurement, it&#8217;s essential to see how it simplifies and enhances traditional procurement processes. By integrating digital tools and automation, e-procurement optimizes each step, from identifying needs to managing supplier relationships.<\/p>\n<p>Let&#8217;s break down how this system works to streamline procurement, ensuring efficiency and cost savings for businesses in Malaysia:<\/p>\n<ul>\n<li><strong>Accurately identifying your procurement needs:<\/strong> The first step in e-procurement is identifying the organization&#8217;s specific needs, such as the goods or services required to support daily operations. This process ensures that procurement efforts are aligned with business objectives and operational requirements.<\/li>\n<li><strong>Strategically selecting the best suppliers:<\/strong> Next, businesses evaluate potential suppliers based on criteria like quality, pricing, and reliability. By using digital procurement solutions, organisations can quickly compare supplier offers to select the best partner for cost-effective and high-quality goods or services.<\/li>\n<li><strong>Streamlining purchase order creation:<\/strong> Using e-procurement software, businesses generate detailed purchase orders that outline the required quantities, specifications, and delivery schedules. This process ensures accurate order placements, reducing the chance of errors that often occur with manual methods.<\/li>\n<li><strong>Efficiently processing orders for timely fulfillment:<\/strong> Once purchase orders are finalised, they are electronically sent to selected suppliers for fulfillment. The system ensures that suppliers deliver goods or services on time, adhering to the agreed terms.<\/li>\n<li><strong>Seamlessly tracking and managing your procurement process:<\/strong> The e-procurement system continuously tracks orders, supplier performance, and payment terms, providing real-time updates and complete visibility across the procurement process. This centralized management helps businesses monitor progress and address issues as they arise, ensuring efficiency and compliance.<\/li>\n<li><strong>Ensuring final quality and smooth payment transactions:<\/strong> After receiving goods or services, businesses use the e-procurement system to conduct quality checks and process payments. This step ensures that deliveries meet expectations and that timely payments are made to suppliers, reinforcing strong supplier relationships.<\/li>\n<\/ul>\n<h2><strong>5-Step Structure Process of Procurement<\/strong><\/h2>\n<p>To effectively implement an e-procurement system, it\u2019s essential to understand the systematic approach that ensures a smooth and efficient procurement process. Each step plays a crucial role in streamlining operations, reducing costs, and enhancing supplier relationships.<\/p>\n<p>By following this structured process, businesses in Malaysia can optimize their procurement strategies and stay competitive in the digital age:<\/p>\n<h3><strong>1. Informing: Communicating procurement needs<\/strong><\/h3>\n<p>The first step in the e-procurement process involves informing potential suppliers about the organization\u2019s requirements. Businesses typically use Requests For Information (RFI) or conduct market research to gather relevant details and identify suppliers that can meet their needs.<\/p>\n<p>This step helps establish clear expectations and ensures that suppliers fully understand the scope of the procurement. By using digital procurement solutions, organizations can efficiently reach out to a broad pool of potential suppliers.<\/p>\n<p>This process also ensures a streamlined flow of information and reduces time spent on initial negotiations. E-procurement systems simplify this communication, making the entire process faster and more transparent.<\/p>\n<h3><strong>2. Sourcing: Identifying and shortlisting suppliers<\/strong><\/h3>\n<p>In the sourcing phase, businesses evaluate potential suppliers to determine who is best suited to meet their procurement needs. This involves reviewing supplier capabilities, pricing structures, and reliability.<\/p>\n<p>Using e-procurement systems, companies can pre-qualify suppliers based on specific criteria, ensuring they only consider the most qualified candidates. The use of <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/best-procurement-software\/\">procurement software<\/a> tools ensures that supplier data is organized and accessible, simplifying the selection process.<\/p>\n<p>This step also aligns business requirements with the capabilities of the suppliers, allowing for a more efficient and effective sourcing process. With a digital approach, the company can quickly gather the necessary information and streamline decision-making.<\/p>\n<h3><strong>3. Tendering: Requesting proposals and bids<\/strong><\/h3>\n<p>Once suppliers are shortlisted, organizations move into the tendering phase, where they request proposals or bids from the chosen suppliers. This step allows businesses to compare offers based on various criteria such as price, quality, and delivery time.<\/p>\n<p>E-tendering solutions make it easier to manage and track proposals from multiple suppliers, ensuring a transparent and efficient comparison process. By automating this stage, companies can reduce the risk of human error and ensure that all bids are evaluated on the same parameters.<\/p>\n<p>The digital format also enables real-time updates and feedback between both parties. Ultimately, e-procurement systems help businesses streamline their evaluation and decision-making process.<\/p>\n<h3><strong>4. Auctioning: Negotiating terms and prices<\/strong><\/h3>\n<p>In some cases, an e-auction may be held to finalize terms and prices between the buyer and suppliers. This step involves suppliers competing to offer the best price or contract terms, helping businesses secure the most cost-effective deals.<\/p>\n<p>E-auction tools allow suppliers to bid against each other in real time, often driving prices down and creating a competitive advantage for the business. This process is particularly useful in situations where price is a critical factor in decision-making.<\/p>\n<p>With digital tools, companies can automate much of the auction process, ensuring fairness and transparency. E-auctions also help suppliers better understand the market dynamics and adjust their offers accordingly.<\/p>\n<h3><strong>5. Ordering: Finalizing orders and managing deliveries<\/strong><\/h3>\n<p>The final step in the e-procurement process involves placing the order with the selected supplier and overseeing the delivery process. The e-procurement system allows for the creation and approval of requisitions, ensuring that all orders are processed accurately and on time.<\/p>\n<p>With automated purchasing systems, businesses can track order statuses and delivery timelines, ensuring that products or services are delivered as agreed. The system also helps monitor compliance with the terms of the contract, ensuring that both parties fulfill their obligations.<\/p>\n<p>Once the order is completed, the system records the transaction, making future procurement processes more efficient. This step also simplifies the management of supplier relationships, as the entire process is digitized and streamlined.<\/p>\n<h2><strong>Common Challenges in e-Procurement Systems<\/strong><\/h2>\n<p>While e-procurement systems offer numerous advantages, implementing them is not without challenges that can impact their effectiveness. Understanding these common obstacles is crucial for businesses in Malaysia to develop strategies that ensure a smooth transition and maximize benefits.<\/p>\n<p>By proactively addressing these issues, organisations can enhance adoption, maintain data security, and fully leverage digital procurement solutions for long-term success.<\/p>\n<ul>\n<li><strong>Integration with existing systems:<\/strong> A major challenge businesses face when implementing e-procurement is ensuring seamless integration with existing systems such as ERP, accounting, and inventory management. Without proper integration, data discrepancies, delays, and inefficiencies may arise, impacting the overall procurement process.<\/li>\n<li><strong>User adoption resistance:<\/strong> Transitioning to a digital procurement system can be difficult for employees and suppliers accustomed to traditional paper-based methods. If the system is not intuitive or adequately supported, it may face resistance, slowing down implementation and diminishing its overall effectiveness.<\/li>\n<li><strong>Data security risks:<\/strong> Since e-procurement systems handle sensitive financial and business data, ensuring robust cybersecurity is essential. Companies must safeguard against potential data breaches, cyberattacks, and fraud that could compromise procurement processes and damage the organization&#8217;s reputation.<\/li>\n<li><strong>Supplier participation challenges:<\/strong> Not all suppliers are equipped to participate in e-procurement systems, with some lacking the necessary technology or preferring traditional methods. This can limit supplier options, affecting procurement flexibility and possibly leading to missed opportunities for the organization.<\/li>\n<li><strong>System customization complexity:<\/strong> Each organization has unique procurement requirements, meaning e-procurement systems often need to be customized. Customizing the system to meet specific needs can be time-consuming and costly, requiring specialized expertise that may strain company resources.<\/li>\n<li><strong>High implementation costs:<\/strong> Implementing an e-procurement system involves significant upfront costs, which can be a barrier for small and medium-sized businesses. Besides initial investments, ongoing expenses for maintenance and staff training can add to the financial strain if not planned carefully.<\/li>\n<\/ul>\n<h2><strong>How HashMicro Transforms e-Procurement for Modern Businesses<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-9008\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-3.webp\" alt=\"e-procurement\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-3.webp 1200w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-3-300x169.webp 300w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-3-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-3-768x432.webp 768w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-3-747x420.webp 747w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-3-150x84.webp 150w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-3-696x392.webp 696w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement-3-1068x601.webp 1068w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p><strong>Why we picked it: <\/strong> HashMicro e-Procurement Software is the smart choice for businesses aiming to simplify purchasing, improve supplier management, and scale efficiently. Real-time tracking and data-driven tools help you optimize workflows and stay competitive with ease.<\/p>\n<p><strong><a href=\"https:\/\/www.hashmicro.com\/my\/procurement-and-purchasing-management-system\">HashMicro Best e-Procurement Software<\/a> <\/strong>is designed to help businesses improve purchasing efficiency and supplier collaboration by automating procurement functions and providing actionable insights. It integrates seamlessly with existing systems, supporting a comprehensive <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/procurement-strategy\/\">procurement strategy<\/a> focused on cost reduction, agility, and sustainability.<\/p>\n<p>If you&#8217;re interested in exploring this solution, HashMicro offers a <a href=\"https:\/\/www.hashmicro.com\/my\/free-product-demo\/?medium=web-form-header\">free demo<\/a> that shows how its e-procurement software enhances supplier management and supports end-to-end procurement operations.<\/p>\n<p>Below are key features of HashMicro Best e-Procurement Software that can help optimize your procurement systems:<\/p>\n<ul>\n<li><strong>Automatic Vendor Rating:<\/strong> The system evaluates vendors based on factors like punctuality, pricing, and delivery completeness. This ensures that businesses consistently partner with the most reliable and cost-effective suppliers, improving overall procurement efficiency.<\/li>\n<li><strong>Budget Tracking &amp; Limit Per Purchase:<\/strong> The system monitors spending and enforces budget limits for each purchase. This helps businesses maintain financial control and avoid overspending, ensuring budget adherence and better cost management.<\/li>\n<li><strong>Multi RFQ Comparison:<\/strong> The system allows businesses to compare multiple Requests for Quotations (RFQs) side by side. This facilitates a more informed selection process, ensuring businesses choose the best offers and maximize cost savings.<\/li>\n<li><strong>Service Work Order Tracking:<\/strong> It tracks service-based work orders from start to finish, ensuring they are completed on time and according to the agreed terms. This guarantees that service-related projects meet deadlines and quality standards, improving service delivery reliability.<\/li>\n<li><strong>Multi Purchase Model:<\/strong> The software supports various procurement models, including products, services, assets, and rentals. This flexibility allows businesses to handle different types of procurement needs more efficiently, reducing complexity in the purchasing process.<\/li>\n<li><strong>In-Depth Purchase Analysis:<\/strong> The system provides detailed insights into procurement trends, such as frequently purchased items and vendor preferences. This enables businesses to make data-driven decisions, optimize supplier selection, and improve cost-efficiency.<\/li>\n<li><strong>Direct Purchase Management:<\/strong> It simplifies the direct purchase process by automating routine transactions. This reduces transaction time and boosts efficiency, allowing businesses to focus on more complex procurement tasks.<\/li>\n<li><strong>OCR for RFQ:<\/strong> The system uses Optical Character Recognition (OCR) to automate the extraction and processing of RFQ data. This enhances accuracy and speeds up the procurement process, reducing manual errors and delays.<\/li>\n<\/ul>\n<p>These features enable HashMicro to help companies enhance their procurement strategies, strengthen vendor relationships, and achieve substantial cost savings. If you&#8217;re aiming to streamline your procurement processes, HashMicro Software is definitely worth considering.<\/p>\n<h2><strong>Conclusion<\/strong><\/h2>\n<p>Adopting e-procurement is essential for businesses aiming to streamline procurement, improve transparency, and reduce costs. Effective e-procurement solutions simplify purchasing while providing valuable analytics that drive better decision-making and efficient resource management.<\/p>\n<p>Selecting the right e-procurement software is crucial, as it serves as the backbone of your company&#8217;s purchasing strategy. <a href=\"https:\/\/www.hashmicro.com\/my\/procurement-and-purchasing-management-system\">HashMicro&#8217;s e-procurement system<\/a> stands out by offering a comprehensive suite of features tailored to your specific business needs, with scalability and exceptional after-sales support to ensure long-term success.<\/p>\n<p>For businesses in Malaysia, HashMicro offers an ideal solution to enhance procurement processes. Discover the full potential of this software by trying out the <a href=\"https:\/\/www.hashmicro.com\/my\/free-product-demo\/?medium=web-form-header\">free demo<\/a> now\u2014click below to explore how HashMicro can transform your procurement operations.<\/p>\n<h2><strong>FAQ About E-Procurement<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>What is the fundamental difference between E-Procurement and E-Sourcing?<\/strong><\/summary>\n<p>Although often considered the same, they are at different stages in the supply chain. E-Sourcing is the preparation stage, where the procurement team searches for vendors, negotiates prices, and establishes contracts. Meanwhile, E-Procurement is the transaction execution stage. This is where routine purchasing, order delivery (Purchase Order), and payment are carried out based on the contract agreed upon in the Sourcing stage.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>How does E-Procurement help mitigate supply chain risk?<\/strong><\/summary>\n<p>This system acts as a \u201cradar\u201d for companies. If a vendor is frequently late in delivering goods or the quality declines, the system will automatically record this data. Procurement managers can see this trend long before the problem becomes significant, giving them time to find alternative vendors before company operations are disrupted.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>How can vendor performance be measured objectively?<\/strong><\/summary>\n<p>The E-Procurement system provides an automated assessment dashboard based on real metrics (KPIs), such as:<\/p>\n<ul>\n<li>Timeliness: What percentage of orders arrive on schedule?<\/li>\n<li>Quality: How many items have to be returned due to defects?<\/li>\n<li>Price Compliance: Does the vendor charge according to the contract price or are there often unexpected additional costs?<\/li>\n<\/ul>\n<p>&nbsp;<\/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\": \"What is the fundamental difference between E-Procurement and E-Sourcing?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Although often considered the same, they are at different stages in the supply chain. E-Sourcing is the preparation stage, where the procurement team searches for vendors, negotiates prices, and establishes contracts. Meanwhile, E-Procurement is the transaction execution stage. This is where routine purchasing, order delivery (Purchase Order), and payment are carried out based on the contract agreed upon in the Sourcing stage.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"How does E-Procurement help mitigate supply chain risk?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"This system acts as a \u201cradar\u201d for companies. If a vendor is frequently late in delivering goods or the quality declines, the system will automatically record this data. Procurement managers can see this trend long before the problem becomes significant, giving them time to find alternative vendors before company operations are disrupted.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"How can vendor performance be measured objectively?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"The E-Procurement system provides an automated assessment dashboard based on real metrics (KPIs), such as: Timeliness: What percentage of orders arrive on schedule?\nQuality: How many items have to be returned due to defects?\nPrice Compliance: Does the vendor charge according to the contract price or are there often unexpected additional costs?\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Did you know that digital procurement has the power to transform how businesses in Malaysia purchase goods and services completely? E-Procurement utilizes the internet to simplify and streamline the procurement process, enabling companies to operate more efficiently and reduce costs. However, many businesses still face the challenges of managing traditional procurement methods, resulting in inefficiencies [&hellip;]<\/p>\n","protected":false},"author":6,"featured_media":9005,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[60],"tags":[],"class_list":{"0":"post-8964","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-procurement"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.6 (Yoast SEO v26.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What Is e-Procurement? How It Works and Its Benefits<\/title>\n<meta name=\"description\" content=\"E-Procurement is an online system that helps businesses automate purchasing, streamline supplier management, and improve procurement efficiency.\" \/>\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\/my\/blog\/e-procurement\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Is e-Procurement? How It Works and Its Benefits\" \/>\n<meta property=\"og:description\" content=\"E-Procurement is an online system that helps businesses automate purchasing, streamline supplier management, and improve procurement efficiency.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Malaysia\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-04T01:48:58+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-14T02:56:20+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Afresti Fahiratunnisa\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Afresti Fahiratunnisa\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/\"},\"author\":{\"name\":\"Afresti Fahiratunnisa\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/c68697bf42fbaa4eb8c4ade5f3b69a53\"},\"headline\":\"What Is e-Procurement? How It Works and Its Benefits\",\"datePublished\":\"2025-06-04T01:48:58+00:00\",\"dateModified\":\"2026-04-14T02:56:20+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/\"},\"wordCount\":3425,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement.webp\",\"articleSection\":[\"Procurement\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/\",\"name\":\"What Is e-Procurement? How It Works and Its Benefits\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement.webp\",\"datePublished\":\"2025-06-04T01:48:58+00:00\",\"dateModified\":\"2026-04-14T02:56:20+00:00\",\"description\":\"E-Procurement is an online system that helps businesses automate purchasing, streamline supplier management, and improve procurement efficiency.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement.webp\",\"width\":1200,\"height\":675,\"caption\":\"e-procurement\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/my\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What Is e-Procurement? How It Works and Its Benefits\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/\",\"name\":\"HashMicro Malaysia\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/my\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#organization\",\"name\":\"HashMicro Malaysia\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp\",\"width\":422,\"height\":255,\"caption\":\"HashMicro Malaysia\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/c68697bf42fbaa4eb8c4ade5f3b69a53\",\"name\":\"Afresti Fahiratunnisa\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/11\/cropped-WhatsApp-Image-2024-07-31-at-14.16.47_e4fc5c69-scaled-1-96x96.jpg\",\"contentUrl\":\"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/11\/cropped-WhatsApp-Image-2024-07-31-at-14.16.47_e4fc5c69-scaled-1-96x96.jpg\",\"caption\":\"Afresti Fahiratunnisa\"},\"description\":\"A SEO content writer at HashMicro with a keen interest in savvy tech and a passion for exploring innovative digital strategies, dedicated to continuous learning and professional growth.\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/author\/afresti-fahiratunnisa\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"What Is e-Procurement? How It Works and Its Benefits","description":"E-Procurement is an online system that helps businesses automate purchasing, streamline supplier management, and improve procurement efficiency.","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\/my\/blog\/e-procurement\/","og_locale":"en_US","og_type":"article","og_title":"What Is e-Procurement? How It Works and Its Benefits","og_description":"E-Procurement is an online system that helps businesses automate purchasing, streamline supplier management, and improve procurement efficiency.","og_url":"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/","og_site_name":"HashMicro Malaysia","article_published_time":"2025-06-04T01:48:58+00:00","article_modified_time":"2026-04-14T02:56:20+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement.webp","type":"image\/webp"}],"author":"Afresti Fahiratunnisa","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Afresti Fahiratunnisa","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/"},"author":{"name":"Afresti Fahiratunnisa","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/c68697bf42fbaa4eb8c4ade5f3b69a53"},"headline":"What Is e-Procurement? How It Works and Its Benefits","datePublished":"2025-06-04T01:48:58+00:00","dateModified":"2026-04-14T02:56:20+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/"},"wordCount":3425,"commentCount":0,"publisher":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement.webp","articleSection":["Procurement"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/","url":"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/","name":"What Is e-Procurement? How It Works and Its Benefits","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement.webp","datePublished":"2025-06-04T01:48:58+00:00","dateModified":"2026-04-14T02:56:20+00:00","description":"E-Procurement is an online system that helps businesses automate purchasing, streamline supplier management, and improve procurement efficiency.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#primaryimage","url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement.webp","contentUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/06\/e-procurement.webp","width":1200,"height":675,"caption":"e-procurement"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-procurement\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/my\/blog\/"},{"@type":"ListItem","position":2,"name":"What Is e-Procurement? How It Works and Its Benefits"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#website","url":"https:\/\/www.hashmicro.com\/my\/blog\/","name":"HashMicro Malaysia","description":"","publisher":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/my\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#organization","name":"HashMicro Malaysia","url":"https:\/\/www.hashmicro.com\/my\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp","contentUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp","width":422,"height":255,"caption":"HashMicro Malaysia"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/c68697bf42fbaa4eb8c4ade5f3b69a53","name":"Afresti Fahiratunnisa","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/image\/","url":"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/11\/cropped-WhatsApp-Image-2024-07-31-at-14.16.47_e4fc5c69-scaled-1-96x96.jpg","contentUrl":"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/11\/cropped-WhatsApp-Image-2024-07-31-at-14.16.47_e4fc5c69-scaled-1-96x96.jpg","caption":"Afresti Fahiratunnisa"},"description":"A SEO content writer at HashMicro with a keen interest in savvy tech and a passion for exploring innovative digital strategies, dedicated to continuous learning and professional growth.","url":"https:\/\/www.hashmicro.com\/my\/blog\/author\/afresti-fahiratunnisa\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/8964","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/comments?post=8964"}],"version-history":[{"count":13,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/8964\/revisions"}],"predecessor-version":[{"id":18476,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/8964\/revisions\/18476"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/media\/9005"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/media?parent=8964"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/categories?post=8964"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/tags?post=8964"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}