{"id":24355,"date":"2025-04-17T08:32:06","date_gmt":"2025-04-17T08:32:06","guid":{"rendered":"https:\/\/www.hashmicro.com\/ph\/blog\/?p=24355"},"modified":"2025-04-17T08:32:06","modified_gmt":"2025-04-17T08:32:06","slug":"procure-to-pay","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/","title":{"rendered":"What is Procure to Pay (P2P)? Definition and Process"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Is your business facing challenges with efficiency, accuracy, and process management? Do outdated procurement methods make tracking performance and managing supplier data hard? If so, optimizing your procure-to-pay (P2P) process is the answer!<\/span><\/p>\n<p><span style=\"font-weight: 400\">Ignoring these issues can result in poor financial visibility, supply delays, and inefficiencies in payment handling\u2014factors that can disrupt operations and increase costs. Adopting a modern P2P system can streamline purchasing, enhance supplier collaboration, and boost productivity.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">In today&#8217;s competitive landscape, having an efficient procure-to-pay process is crucial. Keep reading to discover how a <\/span><a href=\"https:\/\/www.hashmicro.com\/ph\/procurement-system\"><span style=\"font-weight: 400\">P2P system<\/span><\/a><span style=\"font-weight: 400\"> can transform your procurement strategy \u2014 <\/span><i><span style=\"font-weight: 400\">tara, tuklasin natin ito nang sama-sama!\u00a0<\/span><\/i><\/p>\n<p><span style=\"font-weight: 400\"><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 Contents\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\">Content Lists<\/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\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 20px 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  padding-top: 20px;\r\n  margin-top: 0px;\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: 84% !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<\/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\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\/\/ Function to handle click on all <a> elements with href starting with #\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\/\/ Add event listener for all <a> elements in toc-list and 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 class 'td-post-content'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within the article\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');\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.innerWidth < 767){\r\n\t\t\ttocTitle.textContent = 'Table of Contents'; \/\/ 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\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  tocTitle.textContent = 'Table of Contents'; \/\/ 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        tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\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 Contents'; \/\/ 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\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}\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 Contents'; \/\/ 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\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\/\/             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        } 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\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        let headerCounter = 0; \/\/ Counter to generate unique IDs\r\n\r\n\t\t\/\/ Function to generate ID in header0, header1, etc. format\r\n\t\tfunction formatId() {\r\n\t\t\treturn `header-${headerCounter++}`; \/\/ ID format: header0, header1, etc.\r\n\t\t}\r\n\r\n\/\/ \t\tfunction formatId(text) {\r\n\/\/             return text.trim().replace(\/[^\\w\\d]+\/g, '_');\r\n\/\/         }\r\n\t\r\n        \/\/ Function to create 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        \/\/ Object to store list of h2 and h3 with their titles\r\n        const headings = [];\r\n\r\n           \/\/ Get all h2 and h3 elements\r\n        \/\/ Get all h2 and h3 elements\r\n\t\tconst elements = document.querySelectorAll('.td-post-content h2');\r\n\r\n\t\telements.forEach(element => {\r\n\t\t\tif (element.tagName === 'H2') {\r\n\t\t\t\tconst id = formatId(); \/\/ Generate new ID\r\n\t\t\t\telement.id = id; \/\/ Set ID to h2 element\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Hide Key Takeaways di ToC\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 = formatId(); \/\/ Generate new ID\r\n\t\t\t\telement.id = id; \/\/ Set ID to h3 element\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       \/\/ Create HTML list from headings object\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}`; \/\/ Use the newly generated ID\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\/\/ Get ul element with id 'list_toc'\r\n\t\tconst ulFloat = document.getElementById('list_toc');\r\n\r\n\t\t\/\/ Get content (child elements) from ul with id 'list_toc'\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\r\n\t\t\/\/ Get ul element with id 'list_toc_float'\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\r\n\t\t\/\/ Add content obtained from 'list_toc' to ul with id 'list_toc_float'\r\n\t\tulToc.append(...clonedChildren);\r\n\r\n\r\n        \/\/ Function to get navbar height\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\/\/ Function to add scroll position offset\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\/\/ Function to handle title link click\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\/\/ Add event listener for all title links\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});\r\n    <\/script> -->\r\n<a href=\"https:\/\/www.hashmicro.com\/ph\/free-product-tour\/?medium=free-product-tour\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/bir-demo-gratis.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/bir-demo-gratis.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/mobile-bir-demo-gratis.webp\" alt=\"FreeDemo\" class=\"responsive-image-banner\" width=\"620\" height=\"255\"><\/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;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><span style=\"font-weight: 400\"><a href=\"#procure\">Procure-to-pay (P2P)<\/a> streamlines purchasing from request to payment, helping businesses cut costs, boost efficiency, and ensure compliance.<\/span><\/li>\n<li><span style=\"font-weight: 400\">Procuring to pay can <a href=\"#improve\">improve<\/a> your business operations, such as cost savings, stronger supplier relationships, and enhanced efficiency.<\/span><\/li>\n<li><a href=\"https:\/\/www.hashmicro.com\/ph\/procurement-system\"><span style=\"font-weight: 400\">HashMicro&#8217;s Procurement Software<\/span><\/a><span style=\"font-weight: 400\"> offers a solution to simplify procurement processes. Integrated with ERP systems, it automates purchase requisitions, vendor selection, and order management<\/span><span style=\"font-weight: 400\">.<\/span><\/li>\n<\/ul>\n<p><span id=\"procure\"><\/span><span style=\"font-weight: 400\"><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\/ph\/free-product-tour\/?medium=cta-button\" target=\"_blank\">Click Here to Get the Free Demo!<\/a><\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><b>What is Procure to Pay?<\/b><\/h2>\n<p><span style=\"font-weight: 400\">Procure-to-pay (P2P), or purchase-to-pay, is a structured workflow businesses use to purchase goods and services from outside vendors. It covers everything from recognizing the need for a product or service to completing the supplier payment.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">This process is key in optimizing procurement tasks, managing expenses, and maintaining effective supplier relationships. Automating P2P systems leads to better budgeting, stronger compliance, and increased operational efficiency for businesses of all sizes.<\/span><\/p>\n<h2><b>Why is P2P Important?<\/b><\/h2>\n<p><span style=\"font-weight: 400\">Procure-to-pay (P2P) is important because it helps businesses manage procurement and spending more effectively. It ensures goods and services are purchased within budget and policy limits. With centralized data, companies can monitor expenses, negotiate with suppliers, and find cost-saving opportunities.<\/span><\/p>\n<p><span style=\"font-weight: 400\">P2P automates tasks like purchase orders, invoice matching, and payments. It reduces errors, speeds up processes, and ensures accurate transactions. It also helps maintain strong supplier relationships through on-time payments and supports better supply chain management.<\/span><\/p>\n<h2><b>The Procure to Pay Process<\/b><\/h2>\n<p><span style=\"font-weight: 400\">Businesses customize their procurement workflows by considering budget, resource availability, sustainability, and operational priorities. Every company develops a procurement strategy that aligns with its overall objectives. Typically, the procure-to-pay cycle includes the following key steps:<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Step 1: Identify needs<\/span><\/h3>\n<p><span style=\"font-weight: 400\">The initial stage in the procure-to-pay cycle involves identifying and outlining the organization&#8217;s needs, often in collaboration with various departments. After confirming a legitimate requirement, the procurement team drafts broad specifications for the required goods or products, a terms of reference (TOR) for services, and a statement of work (SOW) if needed.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Step 2: Create requisitions<\/span><\/h3>\n<p><span style=\"font-weight: 400\">If TOR or SOW are confirmed, the next step is to generate a formal purchase requisition. The requester completes and submits this form after verifying that all required administrative criteria are fulfilled. Purchase requisitions can be made for various procurement types, including standard orders, consignment items, or subcontracted services.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Step 3: Purchase requisitions approval<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Department heads or procurement officers review purchase requisitions after they are submitted. They assess the need, verify the available budget, and check the accuracy of the requisition form. If the requisition meets all the required criteria, it will be approved; otherwise, it will be sent back to the initiator for corrections and resubmission.\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Step 4: Create a purchase order<\/span><\/h3>\n<p><span style=\"font-weight: 400\">A spot buy is performed for quick procurement if the requested items are one-time purchases, low-value commodities, or outside managed categories. Purchase orders are created from the approved requisitions for more structured or recurring needs. It ensures that formal documentation is maintained for larger purchases.\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Step 5: Purchase order approval<\/span><\/h3>\n<p><span style=\"font-weight: 400\">Purchase orders undergo an approval cycle to confirm the request&#8217;s accuracy and validity. Once approved, they are forwarded to the selected vendor. The vendor reviews the order and may accept, decline, or initiate negotiations. The purchase order becomes a legally binding agreement between both parties upon internal approval.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Step 6: Goods receipt<\/span><\/h3>\n<p><span style=\"font-weight: 400\">After the supplier provides the agreed-upon goods or services, the buyer reviews them to confirm they meet the contract&#8217;s conditions. Based on this inspection, the delivery is either accepted or rejected, depending on whether it aligns with the quality and terms outlined in the purchase order or agreement.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Step 7: Supplier performance<\/span><\/h3>\n<p><span style=\"font-weight: 400\">The buyer assesses the supplier&#8217;s performance using data from the earlier stages. Key metrics include product quality, timely delivery, service level, adherence to contract terms, responsiveness, and overall cost efficiency. Poor performance is recorded in internal systems and supplier lists to guide future procurement decisions.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Step 8: Invoice approval<\/span><\/h3>\n<p><span style=\"font-weight: 400\">After approving the goods receipt, a three-way matching process compares the purchase order, vendor invoice, and received goods. If all documents align, the invoice is approved and sent to the finance department for payment processing.<\/span><\/p>\n<h3><span style=\"font-weight: 400\">Step 9: Vendor payment\u00a0<\/span><\/h3>\n<p><span id=\"improve\"><\/span><span style=\"font-weight: 400\">Once the invoice is approved, the finance department will pay based on the agreed contract terms. Any adjustments to the contract or evaluations of financial guarantees are also considered. Payments to suppliers may be categorized as advance, partial, progress, final, or retention payments.<\/span><\/p>\n<h2><b>The Benefits of Procure to Pay<\/b><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-24356\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/The-Benefits-of-Procure-to-Pay.webp\" alt=\"The Benefits of Procure to Pay\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/The-Benefits-of-Procure-to-Pay.webp 1200w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/The-Benefits-of-Procure-to-Pay-300x169.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/The-Benefits-of-Procure-to-Pay-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/The-Benefits-of-Procure-to-Pay-768x432.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/The-Benefits-of-Procure-to-Pay-747x420.webp 747w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/The-Benefits-of-Procure-to-Pay-150x84.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/The-Benefits-of-Procure-to-Pay-696x392.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/The-Benefits-of-Procure-to-Pay-1068x601.webp 1068w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p><span style=\"font-weight: 400\">The procure-to-pay (P2P) process improves the efficiency and coordination of purchasing and financial operations in a business. Connecting each stage\u2014from identifying needs to completing payments\u2014ensures a smooth workflow, better control, and greater transparency across procurement activities.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400\">So, here are the<\/span><a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/benefits-of-procurement-system\/\"> <span style=\"font-weight: 400\">benefits of the procurement system<\/span><\/a><span style=\"font-weight: 400\"> that your business can get:<\/span><\/p>\n<ul>\n<li><b>Improved financial oversight and reporting:<\/b><span style=\"font-weight: 400\"> Connecting procurement with finance systems gives companies up-to-date insights into spending and obligations. This connection enables precise budgeting, enhances financial planning, and supports smarter decisions.\u00a0<\/span><\/li>\n<li><b>Enhanced operational efficiency: <\/b><span style=\"font-weight: 400\">Automating procurement tasks like order creation and invoice matching boosts speed, reduces errors, and ensures compliance with policies and regulations.<\/span><\/li>\n<li><b>Stronger supplier relationships:<\/b><span style=\"font-weight: 400\"> P2P systems improve supplier relationships through timely payments and invoice transparency, encouraging reliable and responsive service.<\/span><\/li>\n<li><b>Cost savings: <\/b><span style=\"font-weight: 400\">The P2P process helps businesses reduce costs by fostering strong supplier relationships and improving the management of orders, inventory, and expenses. Automation boosts forecasting and prevents urgent purchases.<\/span><\/li>\n<li><b>Greater visibility: <\/b><span style=\"font-weight: 400\">P2P solutions provide full visibility and control over procurement, helping track cash flow, monitor transactions, and spot areas for improvement.<\/span><\/li>\n<li><b>Robust fraud prevention: <\/b>The <b>\u00a0<\/b>P2P system includes detailed invoice verification and multiple approval steps to reduce the risk of fraud. It supports stronger vendor and contract management by ensuring that purchases align with agreed terms and only qualified suppliers are selected.<\/li>\n<\/ul>\n<h2><b>How Does Procure to Pay Software Bring Efficiency to Purchasing?<\/b><\/h2>\n<p><span style=\"font-weight: 400\">According to a recent Gartner report, by 2025, more than 50% of global organizations will be using cloud-based P2P systems. This shift highlights how digital tools like<\/span><a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/e-procurement-software-philippines\/\"> <span style=\"font-weight: 400\">e-procurement software<\/span><\/a><span style=\"font-weight: 400\"> transform purchasing processes by reducing costs, increasing visibility, and streamlining workflows.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Here are the explanations of how procure to pay software can bring significant efficiency to your business:<\/span><\/p>\n<ul>\n<li><b>Purchasing insights:<\/b><span style=\"font-weight: 400\"> Automation gives clear visibility into the entire process. Custom reports allow you to track progress, review vendor performance, and gain insights.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Invoice matching<\/b><span style=\"font-weight: 400\">: Enables accurate three-way matching between POs, invoices, and receipts. It helps approve payments, manage discrepancies, and connect with accounting systems.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Digital vendor management:<\/b><span style=\"font-weight: 400\"> This helps procurement teams easily evaluate and compare vendors by selecting vendors based on pricing, delivery, discounts, and compliance, which becomes more efficient and transparent.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Purchase order management:<\/b><span style=\"font-weight: 400\"> The software auto-generates purchase orders from approved requisitions, streamlining the PO dispatch process for bulk or multiple orders.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Purchase requisition and approvals:<\/b><span style=\"font-weight: 400\"> The procure to pay software automates routing purchase requests to the right stakeholders and approvers, eliminating the need for email chains.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">Well-chosen procurement software can greatly streamline purchasing processes, reduce manual errors, and enhance operational efficiency.<\/span><a href=\"https:\/\/www.hashmicro.com\/ph\/procurement-system\"> <span style=\"font-weight: 400\">HashMicro&#8217;s Procurement Software<\/span><\/a><span style=\"font-weight: 400\"> takes this a step further by automating data collection and ensuring accurate tracking of procurement activities.<\/span><\/p>\n<p><span style=\"font-weight: 400\">With its seamless integration, businesses can optimize supplier management, expedite order processing, and strengthen cost control. By providing greater visibility across the entire procurement cycle, the software enables companies to maintain their purchasing needs while driving efficiencies.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Want to explore how HashMicro&#8217;s Procurement Software can elevate your procure to pay process? Click the banner below to learn more about its features and pricing.<\/span><\/p>\n<p><span style=\"font-weight: 400\"><a href=\"https:\/\/www.hashmicro.com\/ph\/offer\/download-erp-pricing-list?medium=banner-article\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/bir-skema-harga.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/bir-skema-harga.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/mobile-bir-skema-harga.webp\" alt=\"SkemaHarga\" class=\"responsive-image-banner\" width=\"620\" height=\"255\"><\/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><b>Upgrade Your Procure to Pay Process with HashMicro Procurement Software<\/b><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-24358\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/hashmicro-e-procurement-software-philippines.webp\" alt=\"Hashmicro E-procurement Software\" width=\"1024\" height=\"555\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/hashmicro-e-procurement-software-philippines.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/hashmicro-e-procurement-software-philippines-300x163.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/hashmicro-e-procurement-software-philippines-768x416.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/hashmicro-e-procurement-software-philippines-775x420.webp 775w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/hashmicro-e-procurement-software-philippines-150x81.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/hashmicro-e-procurement-software-philippines-696x377.webp 696w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/><\/p>\n<p><a href=\"https:\/\/www.hashmicro.com\/ph\/procurement-system\"><span style=\"font-weight: 400\">HashMicro&#8217;s Procurement Software<\/span><\/a><span style=\"font-weight: 400\"> is an excellent solution designed to streamline procurement processes. Fully integrated with ERP systems, it automates purchase requests, vendor management, and order fulfilment, ensuring seamless and efficient procurement operations.<\/span><\/p>\n<p><span style=\"font-weight: 400\">The highly customizable software allows businesses to adjust its features according to specific operational needs. With flexible modules and endless configuration options, it&#8217;s perfect for companies looking for a scalable and powerful procurement management solution.<\/span><\/p>\n<p><span style=\"font-weight: 400\">HashMicro also offers a<\/span><a href=\"https:\/\/www.hashmicro.com\/ph\/free-product-tour\/\"> <span style=\"font-weight: 400\">free demo<\/span><\/a><span style=\"font-weight: 400\">, allowing businesses to explore its capabilities. This hands-on preview showcases how the software automates procurement workflows, enhances vendor management, and supports better decision-making.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Here are some of HashMicro&#8217;s Procurement Software key features that make managing your business procurement easier:<\/span><\/p>\n<ul>\n<li><b>Real-Time Purchase Analysis<\/b><span style=\"font-weight: 400\">: Gain valuable insights into frequently purchased items, preferred vendors, and pricing trends to refine procurement strategies.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Budget Control<\/b><span style=\"font-weight: 400\">: Set purchase limits and track spending, ensuring financial oversight and preventing overspending throughout the procurement process.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Vendor Rating System<\/b><span style=\"font-weight: 400\">: Automatically evaluate vendors based on delivery, pricing, and quality, ensuring better supplier selection and cost management.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Multi-Option Comparison:<\/b><span style=\"font-weight: 400\"> Compare various purchase requests or quotes to select the best option, improving decision-making and reducing procurement costs.<\/span><\/li>\n<li style=\"font-weight: 400\"><b>Streamlined RFQ\/ITQ Management:<\/b><span style=\"font-weight: 400\"> Facilitate online tenders and efficiently manage RFQs\/ITQs, speeding up supplier selection and organizing the procurement process.<\/span><\/li>\n<\/ul>\n<h2><b>Conclusion<\/b><\/h2>\n<p><span style=\"font-weight: 400\">A modern procure-to-pay (P2P) system is vital in managing purchasing activities, tracking spending, and improving operational efficiency. Effective P2P solutions are widely implemented across various industries to ensure smooth procurement processes and reduce manual errors.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Choosing the right procurement software requires thoughtful evaluation.<\/span><a href=\"https:\/\/www.hashmicro.com\/ph\/procurement-system\"> <span style=\"font-weight: 400\">HashMicro&#8217;s Procurement Software<\/span><\/a><span style=\"font-weight: 400\"> offers a dependable and efficient solution that simplifies every stage of the P2P cycle\u2014from requisitions to payments\u2014helping businesses boost productivity and cut unnecessary costs.<\/span><\/p>\n<p><span style=\"font-weight: 400\">With key features like <\/span><b>automated PR &amp; PO creation, real-time budget control, vendor management, and detailed purchase reporting<\/b><span style=\"font-weight: 400\">, HashMicro&#8217;s system allows seamless procurement operations with full transparency and control.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Are you curious how a smart P2P solution can enhance procurement efficiency? Try HashMicro&#8217;s<\/span><a href=\"https:\/\/www.hashmicro.com\/ph\/free-product-tour\/\"> <span style=\"font-weight: 400\">free demo<\/span><\/a><span style=\"font-weight: 400\"> and experience how it can elevate your purchasing strategy!<\/span><\/p>\n<p><span style=\"font-weight: 400\"><\/span><\/p>\n<h2><strong>Frequently Asked Questions<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>What is meant by procure to pay?<\/strong><\/summary>\n<p>Procure-to-pay (P2P) is the end-to-end process organizations use to acquire goods and services. It encompasses requisition, sourcing, purchase orders, receiving, invoicing, and payment, and helps ensure efficient procurement operations and policy compliance.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What is the P2P payment process?<\/strong><\/summary>\n<p>Also known as purchase-to-pay and P2P, procure-to-pay is the process of requisitioning, purchasing, receiving, paying for, and accounting for goods and services, covering the entire process from point of order to payment.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What is an example of a P2P process?<\/strong><\/summary>\n<p>An example of a P2P process is when an organization identifies a need for a product or service, creates a purchase requisition, obtains approvals, issues a purchase order, receives the goods or services, verifies the invoice against the purchase order and receipt, and proceeds to make the payment to the supplier.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Is your business facing challenges with efficiency, accuracy, and process management? Do outdated procurement methods make tracking performance and managing supplier data hard? If so, optimizing your procure-to-pay (P2P) process is the answer! Ignoring these issues can result in poor financial visibility, supply delays, and inefficiencies in payment handling\u2014factors that can disrupt operations and increase [&hellip;]<\/p>\n","protected":false},"author":45,"featured_media":24359,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[156],"tags":[],"class_list":{"0":"post-24355","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 Procure to Pay (P2P)? Definition and Process<\/title>\n<meta name=\"description\" content=\"Learn what Procure-to-Pay (P2P) means, its process steps, and how it streamlines purchasing and payment operations for your businesses.\" \/>\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\/ph\/blog\/procure-to-pay\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is Procure to Pay (P2P)? Definition and Process\" \/>\n<meta property=\"og:description\" content=\"Learn what Procure-to-Pay (P2P) means, its process steps, and how it streamlines purchasing and payment operations for your businesses.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Philippine Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-04-17T08:32:06+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/What-is-Procure-to-Pay-P2P_-Definition-and-Process-HashMicro.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=\"Jose Bautista\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jose Bautista\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/\",\"name\":\"What is Procure to Pay (P2P)? Definition and Process\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/What-is-Procure-to-Pay-P2P_-Definition-and-Process-HashMicro.webp\",\"datePublished\":\"2025-04-17T08:32:06+00:00\",\"author\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/d7444f5c9f2bca7334bbac6101f8cb33\"},\"description\":\"Learn what Procure-to-Pay (P2P) means, its process steps, and how it streamlines purchasing and payment operations for your businesses.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/#breadcrumb\"},\"inLanguage\":\"en-PH\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-PH\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/What-is-Procure-to-Pay-P2P_-Definition-and-Process-HashMicro.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/What-is-Procure-to-Pay-P2P_-Definition-and-Process-HashMicro.webp\",\"width\":1200,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/ph\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What is Procure to Pay (P2P)? Definition and Process\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/\",\"name\":\"HashMicro Philippine Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/ph\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-PH\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/d7444f5c9f2bca7334bbac6101f8cb33\",\"name\":\"Jose Bautista\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-PH\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/11\/Jose-96x96.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/11\/Jose-96x96.webp\",\"caption\":\"Jose Bautista\"},\"description\":\"Jose Bautista focuses on procurement processes, delivering content that explains sourcing strategies, supplier management, and cost optimization. He consistently writes with the reader in mind, making complex procedures easier to grasp.\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/author\/jose-bautista\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"What is Procure to Pay (P2P)? Definition and Process","description":"Learn what Procure-to-Pay (P2P) means, its process steps, and how it streamlines purchasing and payment operations for your businesses.","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\/ph\/blog\/procure-to-pay\/","og_locale":"en_US","og_type":"article","og_title":"What is Procure to Pay (P2P)? Definition and Process","og_description":"Learn what Procure-to-Pay (P2P) means, its process steps, and how it streamlines purchasing and payment operations for your businesses.","og_url":"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/","og_site_name":"HashMicro Philippine Blog","article_published_time":"2025-04-17T08:32:06+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/What-is-Procure-to-Pay-P2P_-Definition-and-Process-HashMicro.webp","type":"image\/webp"}],"author":"Jose Bautista","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Jose Bautista","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/","url":"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/","name":"What is Procure to Pay (P2P)? Definition and Process","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/What-is-Procure-to-Pay-P2P_-Definition-and-Process-HashMicro.webp","datePublished":"2025-04-17T08:32:06+00:00","author":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/d7444f5c9f2bca7334bbac6101f8cb33"},"description":"Learn what Procure-to-Pay (P2P) means, its process steps, and how it streamlines purchasing and payment operations for your businesses.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/#breadcrumb"},"inLanguage":"en-PH","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/"]}]},{"@type":"ImageObject","inLanguage":"en-PH","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/#primaryimage","url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/What-is-Procure-to-Pay-P2P_-Definition-and-Process-HashMicro.webp","contentUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/04\/What-is-Procure-to-Pay-P2P_-Definition-and-Process-HashMicro.webp","width":1200,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/procure-to-pay\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/ph\/blog\/"},{"@type":"ListItem","position":2,"name":"What is Procure to Pay (P2P)? Definition and Process"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#website","url":"https:\/\/www.hashmicro.com\/ph\/blog\/","name":"HashMicro Philippine Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/ph\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-PH"},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/d7444f5c9f2bca7334bbac6101f8cb33","name":"Jose Bautista","image":{"@type":"ImageObject","inLanguage":"en-PH","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/11\/Jose-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/11\/Jose-96x96.webp","caption":"Jose Bautista"},"description":"Jose Bautista focuses on procurement processes, delivering content that explains sourcing strategies, supplier management, and cost optimization. He consistently writes with the reader in mind, making complex procedures easier to grasp.","url":"https:\/\/www.hashmicro.com\/ph\/blog\/author\/jose-bautista\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/24355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/users\/45"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/comments?post=24355"}],"version-history":[{"count":3,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/24355\/revisions"}],"predecessor-version":[{"id":24363,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/24355\/revisions\/24363"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media\/24359"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media?parent=24355"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/categories?post=24355"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/tags?post=24355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}