{"id":70357,"date":"2025-03-26T06:26:12","date_gmt":"2025-03-26T06:26:12","guid":{"rendered":"https:\/\/www.hashmicro.com\/blog\/?p=70357"},"modified":"2025-12-23T04:22:27","modified_gmt":"2025-12-23T04:22:27","slug":"purchase-requisition-vs-purchase-order","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/","title":{"rendered":"Understanding Purchase Requisition vs Purchase Order"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Imagine your company&#8217;s procurement process running without clear controls. Purchase requests are submitted haphazardly, and goods are ordered without proper approval. Such a situation risks leading to budget wastage, process delays, and potential fraud.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In Singapore, the adoption of e-procurement has become an important strategy in improving efficiency and competitiveness.<\/span><a href=\"https:\/\/link.springer.com\/article\/10.1023\/A:1013388018056\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\"> A study shows<\/span><\/a><span style=\"font-weight: 400;\"> that the application of internet-based technology in the procurement function helps organizations improve their competitiveness, although challenges in implementation remain.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This article will examine the differences between purchase requisition and purchase order, the importance of these two processes in business, and how systems like HashMicro ERP can simplify and optimize them. Companies can achieve more structured and efficient procurement by understanding and effectively implementing these two documents.<\/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\"><span style=\"font-weight: 400;\">A purchase requisition is an internal document used to request the procurement of goods or services, ensuring proper approval before purchase.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">A purchase order is a formal agreement between a buyer and supplier, outlining transaction details like quantity, price, and delivery terms.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><a href=\"#po-pr\">Implementing both<\/a> processes enhances procurement control, reduces unauthorized spending, strengthens supplier communication, and improves budget management.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.hashmicro.com\/procurement-and-purchasing-management-system\"><span style=\"font-weight: 400;\">HashMicro<\/span><\/a><span style=\"font-weight: 400;\"> offers a comprehensive procurement management solution, streamlining processes with advanced features like automated approvals and vendor comparisons. <\/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\/free-product-tour\/?medium=cta-button\" target=\"_blank\">Book a Demo Now!<\/a><\/span><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/free-product-tour\/?medium=free-product-tour\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" width=\"712\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/11\/Free-Product-Tour-resized.webp\" alt=\"Free Demo\"><\/a><\/span><\/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 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\">Table of Content<\/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<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\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<!-- 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\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\r\n\r\n\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/ \/\/ \t\t\tconsole.log(\"prevent default\");\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<!-- START script lama -->\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<\/script> -->\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\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']; \/\/ 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\nToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\"\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;} \/\/ Kalau Key Takeaways, jangan dimasukin\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\tDapatkan elemen ul dengan id 'list_toc_float'\r\nconst ulFloat = document.getElementById('list_toc');\r\nconst ulJourney = document.getElementById('list_journey');\r\n\r\nDapatkan 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\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<\/span><\/p>\n<h2><b>Understanding the Difference Between Purchase Requisition and Purchase Order<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">In the procurement process, two essential documents ensure proper control over purchasing: the purchase requisition and the purchase order. Although they may appear similar, each serves a distinct purpose in guiding procurement activities. Understanding these differences is key for businesses that maintain organized and transparent purchasing workflows.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A purchase requisition is an internal document used to request the procurement of goods or services. It acts as the first step in the process, allowing employees or departments to propose purchases formally. This request undergoes an approval process to ensure the need is justified and aligns with the company&#8217;s budget and policies.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">On the other hand, a purchase order is a formal document issued to a supplier after the requisition is approved. It serves as a legally binding agreement that outlines critical details like item descriptions, quantities, prices, and payment terms. By using both documents, businesses can ensure accountability, prevent unauthorized spending, and maintain smoother supplier relationships.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Choosing the right procurement management solution can enhance efficiency while controlling costs. HashMicro\u2019s flexible pricing allows businesses to access advanced features tailored to their needs. Click the banner below to explore pricing schemes and discover the perfect solution for your procurement process!<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><style>\r\n.cta-in-article-image .desktop-banner{\r\n    display: none;\r\n    text-align: center;\r\n}\r\n.cta-in-article-image .desktop-mobile{\r\n    display: block;\r\n    text-align: center;\r\n    width: 100%;\r\n}\r\n@media (min-width: 650px) {\r\n    .cta-in-article-image .desktop-banner {\r\n        display: block!important;\r\n    }\r\n}\r\n@media (min-width: 650px) {\r\n   .cta-in-article-image .desktop-mobile {\r\n        display: none!important;\r\n    }\r\n}\r\n<\/style>\r\n<div class=\"cta-in-article-image\">\r\n\t<a href=\"https:\/\/www.hashmicro.com\/grants?utm_source=blog&medium=banner-article\" target=\"_blank\" rel=\"noopener\">\r\n\t\t<div id=\"desktop-banner-container\">\r\n\t\t\t<div class=\"desktop-banner\">\r\n<!-- \tnew CTC Grants Banner\t\t -->\r\n\t\t\t\t<img decoding=\"async\" width='696' height='189' src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/07\/CTC-Grants-scaled.webp\" alt=\"download skema harga software erp\">\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t\t<div id=\"mobile-banner-container\">\r\n\t\t\t<div class=\"desktop-mobile\">\r\n\t\t\t\t<img decoding=\"async\" width='450' height='497' src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2023\/11\/EDG-Banner-Mobile.png.webp\" alt=\"download skema harga software erp\">\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t<\/a>\r\n<\/div>\r\n\r\n\r\n<\/span><\/p>\n<h2><b>What is a Purchase Requisition?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">A purchase requisition is an internal document submitted by an employee or department to request the purchase of goods or services. It acts as the initial step in the procurement process, ensuring that there is a formal approval before committing to any expenditures.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The purpose of a purchase requisition is to maintain control over company spending by introducing a layer of oversight. When a department identifies the need for new materials, equipment, or services, a purchase requisition is created. This document typically includes details such as:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">The items or services required<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Quantity needed<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Estimated cost<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Reason for the purchase<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Preferred vendors (if applicable)<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Once submitted, the requisition undergoes an approval process. Managers or procurement teams review the request to ensure it aligns with the company\u2019s budget and policies. Upon approval, the procurement team can proceed by issuing a purchase order to the vendor.<\/span><\/p>\n<h2><b>What is a Purchase Order?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">A purchase order (PO) is a formal document sent from a buyer to a supplier authorizing the purchase of specified goods or services. Unlike a purchase requisition, which is internal, a purchase order serves as a binding agreement between the buyer and the vendor.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">A purchase order typically includes:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Purchase order number (for tracking)<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Supplier information<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Item descriptions, quantities, and prices<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Delivery date and location<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Payment terms<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">The issuance of a purchase order confirms that the company has approved the purchase and is ready to proceed with the transaction. For businesses, purchase orders provide a legal framework that safeguards against misunderstandings, ensures accurate record-keeping, and strengthens supplier relationships.<\/span><\/p>\n<h2><b>Key Differences Between Purchase Requisition and Purchase Order<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">A purchase requisition is an internal request to procure goods or services, while a purchase order is a formal agreement with a supplier. These documents serve different roles in the procurement process, ensuring proper control and accountability. The table below outlines their key differences:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td style=\"background-color: #990000; color: #ffffff; padding: 5px; text-align: center;\"><b>Aspect<\/b><\/td>\n<td style=\"background-color: #990000; color: #ffffff; padding: 5px; text-align: center;\"><b>Purchase Requisition<\/b><\/td>\n<td style=\"background-color: #990000; color: #ffffff; padding: 5px; text-align: center;\"><b>Purchase Order<br \/>\n<\/b><\/td>\n<\/tr>\n<tr>\n<td><strong>Purpose<\/strong><\/td>\n<td><span style=\"font-weight: 400;\">Internal request to procure goods or services<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Formal agreement to purchase goods or services from a supplier<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong>Initiated By<\/strong><\/td>\n<td><span style=\"font-weight: 400;\">Employees or department heads<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Procurement or purchasing team<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong>Approval Process<\/strong><\/td>\n<td><span style=\"font-weight: 400;\">Requires internal approval before progressing<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Issued only after requisition approval<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong>Legal Binding<\/strong><\/td>\n<td><span style=\"font-weight: 400;\">Not legally binding<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Legally binding<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong>Involved Parties<\/strong><\/td>\n<td><span style=\"font-weight: 400;\">Internal departments<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Buyer and supplier<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong>Key Components<\/strong><\/td>\n<td><span style=\"font-weight: 400;\">Item description, quantity, estimated cost, reason for purchase<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Supplier details, item description, price, payment terms<\/span><\/td>\n<\/tr>\n<tr>\n<td><strong>Outcome<\/strong><\/td>\n<td><span style=\"font-weight: 400;\">Authorization to proceed with a purchase<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Formal purchase agreement and supplier contract initiation<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><b><span id=\"po-pr\">Why Businesses Need Both Purchase Requisition and Purchase Order Processes<\/span><\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-70359 size-full\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-and-Purchase-Order.webp\" alt=\"Purchase Requisition vs Purchase Order\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-and-Purchase-Order.webp 1200w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-and-Purchase-Order-300x169.webp 300w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-and-Purchase-Order-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-and-Purchase-Order-768x432.webp 768w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-and-Purchase-Order-747x420.webp 747w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-and-Purchase-Order-150x84.webp 150w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-and-Purchase-Order-696x392.webp 696w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-and-Purchase-Order-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Incorporating both purchase requisition and purchase order processes is vital for maintaining proper procurement controls, improving transparency, and ensuring accountability. Here&#8217;s why businesses benefit from having both:<\/span><\/p>\n<h3><b>1. Enhanced control and approval<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">The purchase requisition acts as the first line of control, ensuring that procurement requests undergo a thorough review before funds are allocated. By requiring authorization from relevant departments, businesses prevent unnecessary or impulsive spending. This step ensures that only essential purchases aligned with organizational goals are approved.<\/span><\/p>\n<h3><b>2. Reduced risk of unauthorized spending<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Requisitions serve as a formal mechanism to prevent unauthorized purchases by requiring proper documentation and management oversight. This process minimizes the chances of employees making unapproved or unnecessary transactions. As a result, businesses maintain tighter financial control and reduce the risk of fraud or budget misuse.<\/span><\/p>\n<h3><b>3. Clear communication with suppliers<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Purchase orders create a formal agreement between the buyer and supplier, ensuring all parties are aligned on expectations. This document outlines critical details such as quantities, pricing, delivery timelines, and payment terms. Clear communication reduces misunderstandings, helping to build stronger supplier relationships and ensuring the timely delivery of goods or services.<\/span><\/p>\n<h3><b>4. Audit and compliance<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Both purchase requisitions and purchase orders provide a transparent record of procurement activities, making audits smoother and more accurate. These documents serve as evidence of compliance with internal policies and external regulations. Having a clear audit trail simplifies financial tracking, reduces errors, and enhances accountability.<\/span><\/p>\n<h3><b>5. Budget management\u00a0<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Implementing purchase requisition and purchase order processes improves spending visibility and prevents overspending. Requiring prior approvals ensures expenses align with budgets, enhancing financial control.<\/span><\/p>\n<h2><b>How HashMicro\u2019s Procurement Software Simplifies the Purchasing Process<\/b><\/h2>\n<h2><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-70358 size-full\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Software-Procurement.webp\" alt=\"Purchase Requisition vs Purchase Order \" width=\"1470\" height=\"900\" srcset=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Software-Procurement.webp 1470w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Software-Procurement-300x184.webp 300w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Software-Procurement-1024x627.webp 1024w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Software-Procurement-768x470.webp 768w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Software-Procurement-686x420.webp 686w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Software-Procurement-150x92.webp 150w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Software-Procurement-696x426.webp 696w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Software-Procurement-1068x654.webp 1068w\" sizes=\"auto, (max-width: 1470px) 100vw, 1470px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Managing procurement processes requires the right tools to ensure accuracy, efficiency, and transparency. While traditional methods can be time-consuming,<\/span><a href=\"https:\/\/www.hashmicro.com\/procurement-and-purchasing-management-system\"><span style=\"font-weight: 400;\"> HashMicro Procurement Management Software<\/span><\/a><span style=\"font-weight: 400;\"> offers a more advanced and automated solution. It helps businesses streamline every step of their procurement journey with AI-powered features and customizable workflows.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This <a href=\"https:\/\/www.hashmicro.com\/blog\/purchase-order-system\/\">purchase order system<\/a> simplifies complex procurement tasks, from handling purchase requests to managing supplier relationships. Its web-based and mobile access ensures seamless procurement management anytime, anywhere, making it ideal for businesses of all sizes.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">HashMicro provides a robust set of features designed to enhance procurement efficiency and optimize decision-making. Let\u2019s take a closer look:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Hashy AI<\/b><span style=\"font-weight: 400;\">: Simplify procurement with AI-based vendor comparison and RFQ approval management. Easily assess vendor quotes based on price, quality, delivery time, and past performance. Automate approval workflows with real-time tracking and notifications, ensuring timely responses and a smoother procurement process.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>E-Procurement<\/b><span style=\"font-weight: 400;\">: Automate purchase requests and instantly convert them into purchase orders. Send RFQs to multiple suppliers with ease.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>PR approval management<\/b><span style=\"font-weight: 400;\">: Approve or reject purchase requests from any department with one click, preventing unauthorized purchases.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Online portal for suppliers<\/b><span style=\"font-weight: 400;\">: Through a supplier portal, vendors can share digital catalogs, simplifying the tender process and securing the best offers.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Vendor\/supplier rating<\/b><span style=\"font-weight: 400;\">: To improve supplier management, assess vendors by evaluating product quality, pricing, delivery time, and overall performance.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Blanket order management<\/b><span style=\"font-weight: 400;\">: A <a href=\"https:\/\/www.hashmicro.com\/blog\/blanket-order\/\">blanket order system<\/a> allows businesses to place recurring orders based on pre-agreed prices and schedules, ensuring a consistent and predictable supply chain process.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Landed cost calculation<\/b><span style=\"font-weight: 400;\">: Accurately calculate total item costs, including taxes, shipping fees, insurance, and currency conversion.<\/span><\/li>\n<\/ul>\n<h2><b>Conclusion<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">While purchase requisitions and purchase orders serve different purposes, both are critical for effective procurement management. Requisitions ensure proper approvals, while POs formalize transactions with suppliers.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Implementing <\/span><a href=\"https:\/\/www.hashmicro.com\/procurement-and-purchasing-management-system\"><span style=\"font-weight: 400;\">procurement management software<\/span><\/a><span style=\"font-weight: 400;\"> like HashMicro further enhances control, efficiency, and cost savings. For businesses looking to optimize their procurement process, adopting a structured approach with these tools is a strategic advantage.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">To learn more about how HashMicro can optimize your procurement process, schedule a <\/span><a href=\"https:\/\/www.hashmicro.com\/free-product-tour\/?medium=web-form-header\"><span style=\"font-weight: 400;\">free demo <\/span><\/a><span style=\"font-weight: 400;\">today. Experience firsthand how this powerful solution can help you manage purchase requisitions and purchase orders more effectively, improve workflow efficiency, and drive business success.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/procurement-and-purchasing-management-system?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" width=\"712\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Procurement.webp\" alt=\"Procurement\"><\/a><\/span><\/p>\n<h2><strong>Question About Purchase Requisition vs Purchase Order<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>Which comes first, PO or PR?<\/strong><\/summary>\n<p>The Purchase Requisition (PR) is the first internal document used to request the purchase of goods or services. After the PR is approved, the purchase order (PO) is created to formally place the order with a supplier.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Does PR come before PO?<\/strong><\/summary>\n<p>Yes, in a standard procurement process, the PR always comes before the PO. The PR initiates the request and approval process, ensuring proper authorization before generating a PO<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What is the process flow of PR to PO?<\/strong><\/summary>\n<p>The process starts with the requester creating a PR detailing the required items or services. The relevant department then reviews and approves the PR. Once approved, the procurement team generates a PO based on the PR, which is then sent to the supplier to place the order officially.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Can there be a PO without a PR?<\/strong><\/summary>\n<p>A PR is required before creating a PO to ensure approval and control in standard procurement processes. However, depending on the organization&#8217;s policy, a PO can be issued without a PR in urgent cases or for specific direct purchases.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Imagine your company&#8217;s procurement process running without clear controls. Purchase requests are submitted haphazardly, and goods are ordered without proper approval. Such a situation risks leading to budget wastage, process delays, and potential fraud. In Singapore, the adoption of e-procurement has become an important strategy in improving efficiency and competitiveness. A study shows that the [&hellip;]<\/p>\n","protected":false},"author":204,"featured_media":70360,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1128],"tags":[],"class_list":{"0":"post-70357","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>Understanding Purchase Requisition vs Purchase Order<\/title>\n<meta name=\"description\" content=\"Key differences between Purchase Requisition and Purchase Order to streamline procurement, prevent unauthorized spending, and enhance budget control\" \/>\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\/blog\/purchase-requisition-vs-purchase-order\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Understanding Purchase Requisition vs Purchase Order\" \/>\n<meta property=\"og:description\" content=\"Key differences between Purchase Requisition and Purchase Order to streamline procurement, prevent unauthorized spending, and enhance budget control\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/\" \/>\n<meta property=\"og:site_name\" content=\"BusinessTech\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/web.facebook.com\/hashmicro\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-03-26T06:26:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-23T04:22:27+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-vs-Purchase-Order-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=\"Jessica Huang\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hashmicro\" \/>\n<meta name=\"twitter:site\" content=\"@hashmicro\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jessica Huang\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/\"},\"author\":{\"name\":\"Jessica Huang\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/d9ce9078b3c6acc563217892590f8023\"},\"headline\":\"Understanding Purchase Requisition vs Purchase Order\",\"datePublished\":\"2025-03-26T06:26:12+00:00\",\"dateModified\":\"2025-12-23T04:22:27+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/\"},\"wordCount\":1666,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-vs-Purchase-Order-HashMicro.webp\",\"articleSection\":[\"Procurement\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/\",\"name\":\"Understanding Purchase Requisition vs Purchase Order\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-vs-Purchase-Order-HashMicro.webp\",\"datePublished\":\"2025-03-26T06:26:12+00:00\",\"dateModified\":\"2025-12-23T04:22:27+00:00\",\"description\":\"Key differences between Purchase Requisition and Purchase Order to streamline procurement, prevent unauthorized spending, and enhance budget control\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-vs-Purchase-Order-HashMicro.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-vs-Purchase-Order-HashMicro.webp\",\"width\":1200,\"height\":675,\"caption\":\"Purchase Requisition vs Purchase Order HashMicro\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Understanding Purchase Requisition vs Purchase Order\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/\",\"name\":\"BusinessTech\",\"description\":\"Business Management Blog\",\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/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\/blog\/#organization\",\"name\":\"HashMicro\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2016\/02\/bt_logo-1.png\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2016\/02\/bt_logo-1.png\",\"width\":334,\"height\":51,\"caption\":\"HashMicro\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/web.facebook.com\/hashmicro\/\",\"https:\/\/x.com\/hashmicro\",\"https:\/\/www.linkedin.com\/company\/hashmicro\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/d9ce9078b3c6acc563217892590f8023\",\"name\":\"Jessica Huang\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/01\/cropped-7-96x96.png\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/01\/cropped-7-96x96.png\",\"caption\":\"Jessica Huang\"},\"description\":\"Jessica Huang develops procurement-focused content that guides businesses in optimizing their sourcing and purchasing processes. Her writing is engaging and filled with expert advice tailored to procurement professionals.\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/author\/jessica-huang\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Understanding Purchase Requisition vs Purchase Order","description":"Key differences between Purchase Requisition and Purchase Order to streamline procurement, prevent unauthorized spending, and enhance budget control","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\/blog\/purchase-requisition-vs-purchase-order\/","og_locale":"en_US","og_type":"article","og_title":"Understanding Purchase Requisition vs Purchase Order","og_description":"Key differences between Purchase Requisition and Purchase Order to streamline procurement, prevent unauthorized spending, and enhance budget control","og_url":"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/","og_site_name":"BusinessTech","article_publisher":"https:\/\/web.facebook.com\/hashmicro\/","article_published_time":"2025-03-26T06:26:12+00:00","article_modified_time":"2025-12-23T04:22:27+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-vs-Purchase-Order-HashMicro.webp","type":"image\/webp"}],"author":"Jessica Huang","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Written by":"Jessica Huang","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/"},"author":{"name":"Jessica Huang","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/d9ce9078b3c6acc563217892590f8023"},"headline":"Understanding Purchase Requisition vs Purchase Order","datePublished":"2025-03-26T06:26:12+00:00","dateModified":"2025-12-23T04:22:27+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/"},"wordCount":1666,"publisher":{"@id":"https:\/\/www.hashmicro.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-vs-Purchase-Order-HashMicro.webp","articleSection":["Procurement"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/","url":"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/","name":"Understanding Purchase Requisition vs Purchase Order","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-vs-Purchase-Order-HashMicro.webp","datePublished":"2025-03-26T06:26:12+00:00","dateModified":"2025-12-23T04:22:27+00:00","description":"Key differences between Purchase Requisition and Purchase Order to streamline procurement, prevent unauthorized spending, and enhance budget control","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/#primaryimage","url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-vs-Purchase-Order-HashMicro.webp","contentUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/03\/Purchase-Requisition-vs-Purchase-Order-HashMicro.webp","width":1200,"height":675,"caption":"Purchase Requisition vs Purchase Order HashMicro"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/blog\/purchase-requisition-vs-purchase-order\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Understanding Purchase Requisition vs Purchase Order"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/blog\/#website","url":"https:\/\/www.hashmicro.com\/blog\/","name":"BusinessTech","description":"Business Management Blog","publisher":{"@id":"https:\/\/www.hashmicro.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/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\/blog\/#organization","name":"HashMicro","url":"https:\/\/www.hashmicro.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2016\/02\/bt_logo-1.png","contentUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2016\/02\/bt_logo-1.png","width":334,"height":51,"caption":"HashMicro"},"image":{"@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/web.facebook.com\/hashmicro\/","https:\/\/x.com\/hashmicro","https:\/\/www.linkedin.com\/company\/hashmicro"]},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/d9ce9078b3c6acc563217892590f8023","name":"Jessica Huang","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/01\/cropped-7-96x96.png","contentUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/01\/cropped-7-96x96.png","caption":"Jessica Huang"},"description":"Jessica Huang develops procurement-focused content that guides businesses in optimizing their sourcing and purchasing processes. Her writing is engaging and filled with expert advice tailored to procurement professionals.","url":"https:\/\/www.hashmicro.com\/blog\/author\/jessica-huang\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts\/70357","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/users\/204"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/comments?post=70357"}],"version-history":[{"count":3,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts\/70357\/revisions"}],"predecessor-version":[{"id":77424,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts\/70357\/revisions\/77424"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/media\/70360"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/media?parent=70357"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/categories?post=70357"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/tags?post=70357"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}