{"id":70818,"date":"2025-04-14T07:21:43","date_gmt":"2025-04-14T07:21:43","guid":{"rendered":"https:\/\/www.hashmicro.com\/blog\/?p=70818"},"modified":"2025-06-12T08:17:34","modified_gmt":"2025-06-12T08:17:34","slug":"procurement-in-construction","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/","title":{"rendered":"Procurement in Construction: A Complete Guide for Project Success"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Imagine your construction project operating without proper oversight\u2014materials are delayed, contractor roles are unclear, and project timelines keep shifting. This type of disorganization doesn\u2019t just affect delivery; it leads to budget overruns and damages your company\u2019s reputation.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">\u200bIn Singapore, the need for streamlined procurement processes is more critical than ever. According to the <\/span><a href=\"https:\/\/www1.bca.gov.sg\/about-us\/news-and-publications\/media-releases\/2024\/01\/15\/steady-demand-for-the-construction-sector-projected-for-2024?\" target=\"_blank\" rel=\"noopener\"><span style=\"font-weight: 400;\">Building and Construction Authority (BCA)<\/span><\/a><span style=\"font-weight: 400;\">, total construction demand in Singapore is projected to range between S$32 billion and S$38 billion in 2024, driven by public housing developments, healthcare infrastructure, and transport projects like the Cross Island Line.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This article explores what procurement in construction truly means, outlines its key stages and methods, and discusses how using advanced tools like <a href=\"https:\/\/www.hashmicro.com\/procurement-and-purchasing-management-system\">HashMicro Procurement Software<\/a> can enhance efficiency. By the end, you\u2019ll gain a clear understanding of how strategic procurement supports successful construction delivery in Singapore.<\/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 href=\"#pengertian\">Procurement in construction is<\/a> the strategic process of acquiring goods, services, and contractors essential to completing a project on time and within budget.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><a href=\"#kunci\">Key stages of procurement include<\/a> planning, tendering, evaluation, contract awarding, and performance monitoring\u2014all critical for project success.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Choosing the right procurement method affects project timelines, cost efficiency, and stakeholder collaboration.<\/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 Procurement Software<\/span><\/a><span style=\"font-weight: 400;\"> is the solution for enhancing procurement efficiency with real-time tracking, automated vendor management, and seamless integration with accounting and HR systems.\u00a0 <\/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><span id=\"pengertian\">What Is Procurement in Construction?<\/span><\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Procurement in construction refers to the structured process of acquiring goods, services, and works essential for completing a construction project. It encompasses everything from materials and labor to design services and subcontracts. Effective procurement ensures that projects meet time, quality, and cost expectations.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The procurement phase is vital to the entire construction lifecycle. It aligns resources with objectives and supports the successful delivery of infrastructure. Without a solid procurement strategy, even well-planned projects face budget overruns and delays.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In Singapore, construction procurement is influenced by government regulations, public <a href=\"https:\/\/www.hashmicro.com\/blog\/tender-project\/\">tender projects,<\/a> and market dynamics. The Building and Construction Authority (BCA) mandates strict compliance in vendor selection, sustainability, and project accountability, making procurement strategies especially crucial in local projects.<\/span><\/p>\n<h2><b>How Does the Construction Procurement Process Work?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Construction procurement is a structured series of activities to secure the necessary materials, services, and labor to complete a construction project. According to insights from Autodesk and Quickbase, understanding the key stages in this process is crucial for ensuring cost control, timely execution, and contract compliance.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Planning and Budgeting: <\/b><span style=\"font-weight: 400;\">This stage involves defining the project scope, goals, and procurement requirements. It includes determining material specifications, cost estimates, and procurement timelines aligned with the construction lifecycle.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Tendering and Bidding: <\/b><span style=\"font-weight: 400;\">Here, the team prepares and releases Requests for Proposals (RFPs), Quotations (RFQs), or Invitations to Tender (ITTs). The aim is to attract qualified contractors and suppliers with competitive bids.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Evaluation and Selection: <\/b><span style=\"font-weight: 400;\">Bids are assessed based on pricing, technical capabilities, past performance, and regulatory compliance. This ensures that the chosen vendor can deliver within scope and budget constraints.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Contract Awarding: <\/b><span style=\"font-weight: 400;\">Once a vendor is selected, the contract negotiation and signing take place. This formalizes the agreed-upon terms, conditions, responsibilities, and project deliverables.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Performance Monitoring: <\/b><span style=\"font-weight: 400;\">Contractor performance is closely monitored during project execution. Key metrics include delivery timelines, material quality, adherence to specs, and issue resolution.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Closeout: <\/b><span style=\"font-weight: 400;\">This final stage involves project handover, completion documentation, final payments, and a thorough audit to ensure contractual obligations have been met.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">Still unsure whether a procurement strategy is the right fit for your construction projects? No worries! Try a pricing scheme today and consult with our experts to explore how this solution can transform the way you manage sourcing, vendor selection, and contract execution. Click the banner below to get started!<\/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>Types of Construction Procurement Methods<\/b><\/h2>\n<h3><span style=\"font-weight: 400;\">1. Traditional (Design-Bid-Build)<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">This method separates design and construction responsibilities, with the client appointing a designer first and selecting a contractor through competitive bidding. It offers cost certainty and is widely used in public-sector projects. However, disconnecting between the design and construction phases may lead to miscommunication or delays.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">2. Design and build<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">One contractor handles design and construction, allowing for streamlined coordination and faster delivery. This method reduces client risk and speeds up the overall process. However, since the contractor leads both phases, the client may have less influence over design details.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">3. Management contracting<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The client hires a construction manager who oversees multiple trade contractors, allowing design and construction to run concurrently. It enables flexibility in design changes during execution. This method suits complex projects but requires experienced project oversight.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">4. Construction management<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The client contracts with all trade contractors and coordinates with a construction manager. This offers greater control and transparency over cost and performance. It demands strong project leadership and active client participation throughout.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">5. Public-Private Partnerships (PPP) \/ Private Financing Initiatives (PFI)<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Private entities finance, build, and sometimes operate infrastructure projects in PPPs under long-term contracts. The government repays the investment over time, reducing upfront public expenditure. This model supports innovation and efficiency in delivering large-scale public projects in Singapore.<\/span><\/p>\n<h2><b><span id=\"kunci\">Key Roles in the Procurement Process<\/span><\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Successful construction procurement requires collaboration among several key roles, each contributing specific expertise and accountability. Clear communication and defined responsibilities among stakeholders are critical to managing risks and achieving project objectives.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">1, Procurement manager<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Oversees the entire procurement lifecycle, from planning and budgeting to vendor selection and contract enforcement. Ensures procurement activities align with regulations and project timelines while maintaining transparency and cost efficiency.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">2. Clients<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">The project owners or developers fund the construction and define performance expectations. They initiate procurement by setting goals, approving budgets, and signing off on key decisions throughout the project.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">3. Consultants<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Typically, architects, engineers, or quantity surveyors develop detailed project specifications. They assist in bid evaluations and quality assurance and ensure technical compliance with design and regulatory requirements.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">4. Contractors<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Responsible for executing the construction work as outlined in the contract. They mobilize resources, manage subcontractors, and adhere to schedules and quality standards under the guidance of the procurement team.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">5. Suppliers<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Deliver raw materials, equipment, or services needed during construction. Their reliability impacts project timelines, cost control, and compliance with environmental or safety standards. Suppliers must maintain accurate documentation and align deliveries with project schedules to avoid costly delays or rework.<\/span><\/p>\n<h2><b>The Benefits of Procurement in Construction<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Procurement is essential for the success of both the design and construction stages. The right strategy and expertise improve timelines, cost control, and coordination. Effective procurement brings consistent value to every project, regardless of the method used. Below are some of the core advantages of effective procurement in construction:<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">1. Time efficiency<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Efficient procurement ensures the timely delivery of materials and services, helping projects stay on schedule and meet critical milestones. For example, the timely completion of Singapore&#8217;s Thomson-East Coast MRT Line relied heavily on synchronized procurement planning across multiple contracts.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">2. Cost control<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Procurement teams reduce financial waste and maintain spending within forecasted limits by securing competitive bids and managing budgets proactively. This approach was critical in projects like the Changi Airport Terminal 5 development to avoid overrun risks.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">3. Improved coordination<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Centralized procurement improves communication between clients, consultants, and contractors. It ensures smoother workflows and more transparent accountability, which has been instrumental in integrated public housing developments by HDB.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">4. Enhanced risk mitigation<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Structured procurement minimizes delays and contractor issues through better contract management and performance tracking. Singapore&#8217;s Downtown Line project benefited from risk-managed procurement processes that helped avoid significant cost and timeline setbacks.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">5. Better resource allocation<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Procurement helps align the supply of materials and services with actual project demands. By planning purchases and managing supplier performance, companies can avoid resource wastage or shortages. This allows for better coordination on-site and more strategic use of available assets.<\/span><\/p>\n<h2><b>Challenges in Construction Procurement<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Construction procurement is a complex process that often encounters various challenges, impacting project timelines, budgets, and overall success. Understanding these challenges is crucial for stakeholders to develop effective strategies to mitigate risks and ensure smooth project execution. Below are five common challenges faced in construction procurement:\u200b<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">1. Supply chain disruptions<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Unforeseen events such as natural disasters, pandemics, or geopolitical tensions can disrupt the supply chain, leading to delays in material delivery. These disruptions can halt construction activities, increase costs, and extend project timelines. Implementing diversified sourcing strategies and maintaining buffer stocks can help mitigate these risks.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">2. Regulatory compliance issues<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Navigating the complex web of local, national, and international regulations can be challenging. Non-compliance can result in legal penalties, project delays, or even cancellations. Staying updated with regulatory changes and engaging legal experts during procurement is essential.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">3. Budget constraints and cost overruns<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Inaccurate cost estimations and unforeseen expenses can lead to <a href=\"https:\/\/www.hashmicro.com\/blog\/cost-overrun\/\">cost overruns<\/a>. Fluctuating material prices and labor costs further exacerbate this issue. Implementing robust budgeting practices and contingency planning can help control costs.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">4. Vendor reliability and performance<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Selecting vendors without thorough due diligence can lead to issues like substandard materials, missed deadlines, or contractual disputes. Establishing strict vendor evaluation criteria and performance monitoring systems is vital to ensure reliability.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">5. Communication breakdowns among stakeholders<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Ineffective communication between clients, contractors, suppliers, and consultants can result in misunderstandings, errors, and project delays. Implementing centralized communication platforms and regular coordination meetings can enhance collaboration and information flow.<\/span><\/p>\n<h2><b>Best Practices in Construction Procurement<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Construction procurement has become increasingly complex, but adopting best practices can help streamline processes, reduce risks, and enhance overall project success. Here are some of the most effective strategies:<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">1. Use of technology and digital tools\u00a0<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Leveraging digital tools like Building Information Modeling (BIM) and procurement software can significantly improve project management. These tools allow for better visualization, faster decision-making, and more accurate tracking of materials and progress. They also help reduce errors and improve communication between teams.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">2. Standardizing documentation and workflows<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Standardizing workflows and documentation ensures consistency across projects. It minimizes human errors and improves the efficiency of procurement tasks. With clear procedures, stakeholders can track activities seamlessly, making audits and compliance checks easier.<\/span><span style=\"font-weight: 400;\"><br \/>\n<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">3. Sustainable procurement practices<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Adopting sustainable procurement practices aligns with Singapore&#8217;s Green Plan 2030 and supports environmental conservation. Selecting eco-friendly materials, opting for energy-efficient solutions, and partnering with green-certified suppliers can significantly reduce the environmental impact of construction projects while contributing to long-term sustainability goals.<\/span><\/p>\n<h2><b>How to Improve Your Procurement Strategy<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Improving your construction procurement strategy requires a structured, proactive approach that ensures efficiency, compliance, and long-term value. By following clear steps and reflecting critically on your current methods, you can build a procurement process that drives better outcomes for every project.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">1. Step-by-step checklist to improve procurement strategy<\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Define project needs clearly<\/b><span style=\"font-weight: 400;\">: Clearly define project requirements, timelines, and budgets to guide procurement. This alignment helps prevent miscommunication, delays, and scope creep.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Establish a prequalified vendor list<\/b><span style=\"font-weight: 400;\">: Create a prequalified list of reliable vendors to ensure quality and compliance. This speeds up procurement by reducing repetitive checks and minimizing risks.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Use E-Procurement platforms<\/b><span style=\"font-weight: 400;\">: Use e-procurement tools to digitize and streamline processes from tendering to payment. This enhances efficiency, transparency, and record-keeping across all procurement stages.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Monitor KPIs throughout project stages<\/b><span style=\"font-weight: 400;\">: Monitor KPIs like cost, delivery, and compliance to track performance. Use dashboards for real-time insights and continuous improvement.<\/span><\/li>\n<\/ul>\n<h3><span style=\"font-weight: 400;\">2. Evaluate your current approach<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Reviewing your existing procurement strategy is essential to ensure it aligns with changing market dynamics and long-term goals. Contracts should be designed with flexibility in mind, allowing for adjustments in scope, pricing, or timelines without legal or operational hurdles. This adaptability ensures smoother project execution during unforeseen disruptions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Encouraging supplier diversity strengthens resilience and innovation within the supply chain. Engaging vendors from varied backgrounds also supports ESG (Environmental, Social, and Governance) initiatives and enhances competitiveness, especially in projects that value inclusive and sustainable sourcing practices.<\/span><\/p>\n<h2><b>Key Trends Shaping the Future of Construction Procurement<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-70820 size-full\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-in-Construction.webp\" alt=\"Procurement in Construction\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-in-Construction.webp 1200w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-in-Construction-300x169.webp 300w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-in-Construction-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-in-Construction-768x432.webp 768w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-in-Construction-747x420.webp 747w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-in-Construction-150x84.webp 150w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-in-Construction-696x392.webp 696w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-in-Construction-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">The construction industry is undergoing significant changes driven by technology, sustainability, and inclusion. These trends improve procurement efficiency, enhance resilience, and support ethical practices. Adapting to these shifts is crucial for staying competitive and ensuring long-term success.<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Digital Transformation: <\/b><span style=\"font-weight: 400;\">The adoption of AI and cloud-based tools is revolutionizing procurement processes. These technologies improve efficiency, decision-making, and data management, driving faster and more accurate procurement cycles.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>ESG Compliance: <\/b><span style=\"font-weight: 400;\">There is a growing emphasis on environmental, social, and governance (ESG) factors in procurement. Companies are increasingly integrating sustainability into their procurement strategies, ensuring that projects adhere to eco-friendly and ethical standards.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Supplier Diversity:<\/b> The <span style=\"font-weight: 400;\">Inclusion of SMEs and local businesses is gaining traction. This fosters resilience in the supply chain and sparks innovation by diversifying the pool of ideas and solutions available to project teams.<\/span><\/li>\n<\/ul>\n<h2><b>Enhance Procurement Efficiency with HashMicro Procurement Software<\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-70819 size-full\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/procurement-hashmicro.webp\" alt=\"Procurement in Construction\" width=\"960\" height=\"650\" srcset=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/procurement-hashmicro.webp 960w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/procurement-hashmicro-300x203.webp 300w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/procurement-hashmicro-768x520.webp 768w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/procurement-hashmicro-620x420.webp 620w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/procurement-hashmicro-150x102.webp 150w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/procurement-hashmicro-696x471.webp 696w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><span style=\"font-weight: 400;\">Efficient procurement is essential for construction projects, ensuring timely delivery and budget control. <\/span><a href=\"https:\/\/www.hashmicro.com\/procurement-and-purchasing-management-system\"><span style=\"font-weight: 400;\">HashMicro Procurement Software<\/span><\/a><span style=\"font-weight: 400;\"> automates tasks, reduces errors, and provides real-time updates. It also ensures compliance with industry standards, improving collaboration across teams.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">By integrating HashMicro Procurement Software into your workflow, you gain a comprehensive solution that simplifies complex procurement tasks. From vendor management to inventory tracking, this tool ensures that every procurement decision is data-driven, cost-effective, and aligned with project goals.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Here are the various features of HashMicro&#8217;s e-procurement software:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>PO, RFQ &amp;amp; PR Management<\/strong>: You can easily create purchase requests and convert them into purchase orders, and send quotes to suppliers with just a few clicks through our efficient purchasing system.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Work Order Receiving<\/strong>: With this feature, you can easily ensure that the company receives the right goods in the right quantities and maintain accurate records of all goods received.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>PR Approval Management<\/strong>: This feature can approve or reject purchase requests from different business locations, departments, or employees with just one click on the integrated procurement system.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Online Portal for Suppliers<\/strong>: With this feature, vendors can upload their catalogs through the vendor portal, allowing easy access to product information. You can also improve the efficiency of the tendering process and enable companies to get the best deals.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Blanket Order Management<\/strong>: Our e-procurement system enables the ordering of goods according to the price and schedule that has been agreed with the supplier, ensuring certainty and efficiency.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Landed Cost Calculation<\/strong>: You can calculate the total cost of purchasing goods, including shipping, insurance, and customs clearance, providing an accurate picture of the total final cost involved in procuring the goods.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><strong>Vendor Comparison on Tender with Hashy AI<\/strong>: Hashy compares vendor offers in real-time based on price, quality, delivery time, and performance history to help make informed decisions.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><strong>RFQ Approval Management<\/strong>: Hashy automates the RFQ approval flow, sends notifications, and ensures quick responses for a smooth procurement process.<\/li>\n<\/ul>\n<h2><b>Conclusion<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Strategic procurement is a critical element for the success of construction projects, particularly in the context of Singapore\u2019s dynamic construction environment. It ensures timely delivery, cost efficiency, and high-quality standards. By adopting modern practices, including digital tools and sustainable procurement, contractors and developers can navigate challenges effectively and mitigate risks.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">To streamline procurement, <\/span><a href=\"https:\/\/www.hashmicro.com\/procurement-and-purchasing-management-system\"><span style=\"font-weight: 400;\">HashMicro Procurement Software<\/span><\/a><span style=\"font-weight: 400;\"> offers solutions like vendor comparison, real-time inventory monitoring, and automated workflows. Ready to enhance your procurement process? Try 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 and experience efficient supply chain management with HashMicro!<\/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 Procurement in Construction<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong> What are the 5 main things in procurement?<\/strong><\/summary>\n<p>Procurement typically involves five key elements:<br \/>\n&#8211; Need Identification: Determining the goods or services required for business operations.<br \/>\n&#8211; Supplier Evaluation and Selection: Assessing potential suppliers based on cost, quality, reliability, and compliance.<br \/>\n&#8211; Contract Negotiation: Establishing agreements that ensure favorable terms and conditions for both parties.<br \/>\n&#8211; Order Fulfillment: Managing the delivery of goods or services to meet specified requirements.<br \/>\n&#8211; Performance Review: Evaluating supplier performance and improving procurement strategies<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What is RFQ in procurement?<\/strong><\/summary>\n<p>RFQ (Request for Quotation) is a formal document used by businesses to request price quotes from suppliers for specific goods or services. It outlines detailed requirements, enabling companies to compare offers and select the best option based on cost and quality.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What is the meaning of procurement in a project?<\/strong><\/summary>\n<p>Procurement in a project refers to the process of acquiring goods, services, or resources from external suppliers to support project execution. It ensures that all project needs are met efficiently within budget and timeline constraints while maintaining quality standards.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What is the difference between procurement and purchasing<\/strong><\/summary>\n<p>&#8211; Procurement is a strategic process that includes sourcing, negotiating contracts, managing supplier relationships, and ensuring long-term value. It focuses on maximizing profitability and efficiency.<br \/>\n&#8211; Purchasing, on the other hand, is transactional and involves activities like creating purchase orders, arranging payments, and acquiring goods\/services to meet immediate needs.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Imagine your construction project operating without proper oversight\u2014materials are delayed, contractor roles are unclear, and project timelines keep shifting. This type of disorganization doesn\u2019t just affect delivery; it leads to budget overruns and damages your company\u2019s reputation. \u200bIn Singapore, the need for streamlined procurement processes is more critical than ever. According to the Building and [&hellip;]<\/p>\n","protected":false},"author":204,"featured_media":70821,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1128],"tags":[2939],"class_list":{"0":"post-70818","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-procurement","8":"tag-nobanner"},"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>Procurement in Construction: A Complete Guide for Project Success<\/title>\n<meta name=\"description\" content=\"HashMicro improves procurement in construction by enhancing efficiency, reducing costs, and ensuring compliance across every project stage\" \/>\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\/procurement-in-construction\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Procurement in Construction: A Complete Guide for Project Success\" \/>\n<meta property=\"og:description\" content=\"HashMicro improves procurement in construction by enhancing efficiency, reducing costs, and ensuring compliance across every project stage\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/\" \/>\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-04-14T07:21:43+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-12T08:17:34+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-System.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=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/\"},\"author\":{\"name\":\"Jessica Huang\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/d9ce9078b3c6acc563217892590f8023\"},\"headline\":\"Procurement in Construction: A Complete Guide for Project Success\",\"datePublished\":\"2025-04-14T07:21:43+00:00\",\"dateModified\":\"2025-06-12T08:17:34+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/\"},\"wordCount\":2730,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-System.webp\",\"keywords\":[\"NoBanner\"],\"articleSection\":[\"Procurement\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/\",\"name\":\"Procurement in Construction: A Complete Guide for Project Success\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-System.webp\",\"datePublished\":\"2025-04-14T07:21:43+00:00\",\"dateModified\":\"2025-06-12T08:17:34+00:00\",\"description\":\"HashMicro improves procurement in construction by enhancing efficiency, reducing costs, and ensuring compliance across every project stage\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-System.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-System.webp\",\"width\":1200,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Procurement in Construction: A Complete Guide for Project Success\"}]},{\"@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":"Procurement in Construction: A Complete Guide for Project Success","description":"HashMicro improves procurement in construction by enhancing efficiency, reducing costs, and ensuring compliance across every project stage","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\/procurement-in-construction\/","og_locale":"en_US","og_type":"article","og_title":"Procurement in Construction: A Complete Guide for Project Success","og_description":"HashMicro improves procurement in construction by enhancing efficiency, reducing costs, and ensuring compliance across every project stage","og_url":"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/","og_site_name":"BusinessTech","article_publisher":"https:\/\/web.facebook.com\/hashmicro\/","article_published_time":"2025-04-14T07:21:43+00:00","article_modified_time":"2025-06-12T08:17:34+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-System.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":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/"},"author":{"name":"Jessica Huang","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/d9ce9078b3c6acc563217892590f8023"},"headline":"Procurement in Construction: A Complete Guide for Project Success","datePublished":"2025-04-14T07:21:43+00:00","dateModified":"2025-06-12T08:17:34+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/"},"wordCount":2730,"publisher":{"@id":"https:\/\/www.hashmicro.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-System.webp","keywords":["NoBanner"],"articleSection":["Procurement"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/","url":"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/","name":"Procurement in Construction: A Complete Guide for Project Success","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-System.webp","datePublished":"2025-04-14T07:21:43+00:00","dateModified":"2025-06-12T08:17:34+00:00","description":"HashMicro improves procurement in construction by enhancing efficiency, reducing costs, and ensuring compliance across every project stage","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/#primaryimage","url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-System.webp","contentUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/04\/Procurement-System.webp","width":1200,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/blog\/procurement-in-construction\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Procurement in Construction: A Complete Guide for Project Success"}]},{"@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\/70818","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=70818"}],"version-history":[{"count":3,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts\/70818\/revisions"}],"predecessor-version":[{"id":72975,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts\/70818\/revisions\/72975"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/media\/70821"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/media?parent=70818"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/categories?post=70818"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/tags?post=70818"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}