{"id":10233,"date":"2024-10-22T07:27:45","date_gmt":"2024-10-22T07:27:45","guid":{"rendered":"https:\/\/www.hashmicro.com\/ph\/blog\/?p=10233"},"modified":"2026-03-05T09:40:00","modified_gmt":"2026-03-05T09:40:00","slug":"raw-material-inventory","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/","title":{"rendered":"Raw Material Inventory, Definition and How to Calculate"},"content":{"rendered":"<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Raw material inventory refers to the stock of unprocessed materials a company holds before they enter the production process. Managing this inventory well is critical too little leads to production delays, while too much drives up storage costs and ties up working capital. For manufacturers, food producers, and other product-based businesses in the Philippines, getting this balance right directly affects operational efficiency and profitability.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">This article covers the definition of raw material inventory, the most common techniques used to manage it, how to calculate both its value and turnover ratio, and practical steps businesses can take to keep raw material levels optimized.<\/p>\n<p><span style=\"font-weight: 400;\"><div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tTable of Contents\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Content Lists<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 20px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n  padding-top: 20px;\r\n  margin-top: 0px;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 84% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\/* \t\t\tright: 5%; *\/\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<style>\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor:#000;\r\n\t\tmargin-bottom: 10px;\r\n\t\ttransition:all 0.2s ease-in-out;\r\n\t\tfont-size:15px\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#list_toc_float li a{margin-bottom:0px}\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:768px){\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t \/* custom scrollbar style *\/\r\n::-webkit-scrollbar {\r\n    width: 7px;\r\n}\r\n::-webkit-scrollbar-track {\r\n    background: #d7a2a4;\r\n}\r\n::-webkit-scrollbar-thumb {\r\n    background: #b1252d;\r\n    border-radius: 15px;\r\n}\t\t\r\n\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\t\/\/ Function to handle click on all <a> elements with href starting with #\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst targetId = this.getAttribute('href').substring(1);\r\n\t\t\tconst targetElement = document.getElementById(targetId);\r\n\r\n\t\t\tif (targetElement) {\r\n\t\t\t\tconst headerHeight = document.querySelector('#toc .header').offsetHeight;\r\n\t\t\t\tconst navbarHeight = document.getElementById('tdi_34') ? document.getElementById('tdi_34').offsetHeight : 0;\r\n\t\t\t\tconst windowHeight = window.innerHeight;\r\n\t\t\t\tconst targetOffset = targetElement.offsetTop;\r\n\t\t\t\tconst scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight) - navbarHeight - 40;\r\n\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: scrollTo,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Add event listener for all <a> elements in toc-list and list-toc\r\n\t\tconst titleLinks = document.querySelectorAll('#toc-list a, #list_toc a');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n<\/script>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with class 'td-post-content'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within the article\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title');\r\n\r\n\/\/ Sticky TOC and update heading\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 700;\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\tconst panel2 = document.querySelector(\"#toc .list\");\r\n\tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n  let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n  \/\/ Function to handle scroll and add\/remove .sticky class\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Highlight user progress as the heading comes\r\n    headers.forEach(header => {\r\n\t\tconst headerTop = header.offsetTop;\r\n\t\tconst headerHeight = header.clientHeight;\r\n\t\tif(window.innerWidth < 767){\r\n\t\t\ttocTitle.textContent = 'Table of Contents'; \/\/ Selalu pertahankan judul ini di mobile\r\n\t\t} else {\r\n\t\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\t\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\t\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\t\t\t\ttocTitle.textContent = currentHeaderText;\r\n\t\t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader != '') {\r\n\t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\t\t\t  link.classList.add('active');\r\n\t\t  }\r\n\t  }\r\n    });\r\n\r\n    \/\/ Update TOC title if sticky\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n        toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n        toc.style.backgroundColor = \"#FFF\";\r\n\t\tpanel2.style.height = '0px';\r\n\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t  if(window.innerWidth < 767){\r\n\t\t\t  tocTitle.textContent = 'Table of Contents'; \/\/ Reset title\r\n       \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\t\t  }\r\n      }\r\n      if (currentHeader) {\r\n        tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n      }\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset'; \/\/ Reset to original width\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Table of Contents'; \/\/ Reset title\r\n\t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\t\ticon.style.transform = \"rotate(180deg)\";\r\n    }\r\n  }\r\n\r\n    \/\/ Attach the scroll event listener to the window\r\n    window.addEventListener('scroll', handleScroll);\r\n\r\n    \/\/ Initial call to handleScroll to set the correct state on load\r\n    handleScroll();\r\n});\r\n\t\r\n\t\/\/ Open toggle TOC\r\n\t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\t\tvar toc = document.querySelector(\"#toc\");\r\n\t\tvar icon = document.querySelector(\".toc-icon\");\r\n\t\tconst tocTitle = document.querySelector('#toc-title');\r\n\t\tconst tocs = document.querySelector('#toc.sticky');\r\n \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\t\t  tocHeader.addEventListener(\"click\", function() {\r\n\t\t\tvar panel = this.nextElementSibling;\r\n\t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t\t\tif(window.innerWidth > 768){\r\n\t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\t\t\t\t}\r\n\t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\t\t\t} else {\r\n\t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t  tocTitle.textContent = 'Table of Contents'; \/\/ Reset title\r\n\t\t\t\ttoc.style.paddingBottom = '24px';\r\n\t\t\t \tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t  });\r\n\r\n\t\t  \/\/ Close TOC when a link inside it is clicked\r\n\t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\t\t  tocLinks.forEach(function(link) {\r\n\t\t\tlink.addEventListener(\"click\", function() {\r\n\t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t});\r\n\t\t  });\r\n\t\t});\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\t\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!-- <script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n        let headerCounter = 0; \/\/ Counter to generate unique IDs\r\n\r\n\t\t\/\/ Function to generate ID in header0, header1, etc. format\r\n\t\tfunction formatId() {\r\n\t\t\treturn `header-${headerCounter++}`; \/\/ ID format: header0, header1, etc.\r\n\t\t}\r\n\r\n\/\/ \t\tfunction formatId(text) {\r\n\/\/             return text.trim().replace(\/[^\\w\\d]+\/g, '_');\r\n\/\/         }\r\n\t\r\n        \/\/ Function to create nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Object to store list of h2 and h3 with their titles\r\n        const headings = [];\r\n\r\n           \/\/ Get all h2 and h3 elements\r\n        \/\/ Get all h2 and h3 elements\r\n\t\tconst elements = document.querySelectorAll('.td-post-content h2');\r\n\r\n\t\telements.forEach(element => {\r\n\t\t\tif (element.tagName === 'H2') {\r\n\t\t\t\tconst id = formatId(); \/\/ Generate new ID\r\n\t\t\t\telement.id = id; \/\/ Set ID to h2 element\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Hide Key Takeaways di ToC\r\n\t\t\t\theadings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n\t\t\t} else if (element.tagName === 'H3') {\r\n\t\t\t\tconst id = formatId(); \/\/ Generate new ID\r\n\t\t\t\telement.id = id; \/\/ Set ID to h3 element\r\n\t\t\t\tif (headings.length > 0) {\r\n\t\t\t\t\theadings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n       \/\/ Create HTML list from headings object\r\n\t\tconst ul = document.getElementById('list_toc');\r\n\t\tlet currentUl = ul;\r\n\t\theadings.forEach(heading => {\r\n\t\t\tconst li = document.createElement('li');\r\n\t\t\tconst a = document.createElement('a');\r\n\t\t\ta.textContent = heading.title;\r\n\t\t\ta.href = `#${heading.id}`; \/\/ Use the newly generated ID\r\n\t\t\tli.appendChild(a);\r\n\r\n\t\t\tif (heading.level === 'h2') {\r\n\t\t\t\tcurrentUl = li;\r\n\t\t\t\tul.appendChild(li);\r\n\t\t\t} else if (heading.level === 'h3') {\r\n\t\t\t\tif (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n\t\t\t\t\tconst nestedUl = document.createElement('ul');\r\n\t\t\t\t\tcurrentUl.appendChild(nestedUl);\r\n\t\t\t\t\tcurrentUl = nestedUl;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentUl.appendChild(li);\r\n\t\t\t}\r\n\r\n\t\t\tcreateNestedList(li, heading.children);\r\n\t\t});\r\n\t\t\/\/ Get ul element with id 'list_toc'\r\n\t\tconst ulFloat = document.getElementById('list_toc');\r\n\r\n\t\t\/\/ Get content (child elements) from ul with id 'list_toc'\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\r\n\t\t\/\/ Get ul element with id 'list_toc_float'\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\r\n\t\t\/\/ Add content obtained from 'list_toc' to ul with id 'list_toc_float'\r\n\t\tulToc.append(...clonedChildren);\r\n\r\n\r\n        \/\/ Function to get navbar height\r\n\t\tfunction getNavbarHeight() {\r\n\t\t\tconst navbar = document.getElementById('tdi_34');\r\n\t\t\treturn navbar ? navbar.offsetHeight : 0;\r\n\t\t}\r\n\r\n\t\t\/\/ Function to add scroll position offset\r\n\t\tfunction scrollToElementWithOffset(elementId) {\r\n\t\t\tconst element = document.getElementById(elementId);\r\n\t\t\tif (element) {\r\n\t\t\t\tconst offset = getNavbarHeight();\r\n\t\t\t\tconst elementPosition = element.getBoundingClientRect().top;\r\n\t\t\t\tconst offsetPosition = elementPosition - offset - 40;\r\n\r\n\t\t\t\twindow.scrollBy({\r\n\t\t\t\t\ttop: offsetPosition,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Function to handle title link click\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst href = event.target.getAttribute('href').substr(1);\r\n\t\t\tscrollToElementWithOffset(href);\r\n\t\t}\r\n\r\n\t\t\/\/ Add event listener for all title links\r\n\t\tconst titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n    <\/script> -->\r\n<\/span><\/p>\n<table style=\"border-collapse: coacllapse; background-color: #fffacd; border-radius: 25px 25px 25px 25px;\" width=\"100%\">\n<tbody>\n<tr>\n<td style=\"padding: 15px; border: none;\">\n<h3 style=\"margin-bottom: 10px;\"><span style=\"background-color: #990000; color: #ffffff; padding: 5px;\"><b>Key Takeaways<\/b><\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><a href=\"#A\">Raw material inventory<\/a> is the stock of unprocessed materials a company holds before they are used in production, and managing it well is essential to maintaining smooth operations and controlling costs.<\/li>\n<li><a href=\"#B\">The most commonly used techniques<\/a> for managing raw material inventory include Just-in-Time (JIT), Economic Order Quantity (EOQ), ABC analysis, FIFO, and Material Requirements Planning (MRP).<\/li>\n<li><a href=\"#C\">Raw material inventory value is calculated as<\/a>: Initial Inventory + Purchases During the Period \u2013 Ending Inventory, while the turnover ratio is found by dividing the cost of raw materials used by the average raw material inventory.<\/li>\n<li><a href=\"#D\">The five key steps to efficient raw material inventory management are<\/a>: using an automated system, accurate demand forecasting, periodic audits, applying the JIT method, and implementing FIFO for perishable materials.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><b><span id=\"or\"><span id=\"A\"><\/span>What is a Raw Material Inventory?\u00a0<\/span><\/b><\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Raw material inventory refers to the stock of unprocessed materials a company holds before they enter the production process. Across industries such as manufacturing, food production, and automotive, these materials take many forms, from bulk commodities to individual components, all waiting to be transformed into finished goods. Managing this inventory well is essential to maintaining the balance between production needs and material availability.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><span id=\"B\"><\/span>Good <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/www.hashmicro.com\/ph\/blog\/inventory-control\/\">inventory control<\/a> ensures a company has enough raw materials to meet production demand without creating excess stock that drives up storage costs or risks material damage. When managed properly, raw material inventory also helps optimize operational costs giving companies clearer visibility into when and how much to purchase, which directly supports production efficiency and overall profitability.<\/p>\n<h2><b>Commonly Used Techniques for Managing Raw Material Inventory<\/b><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-32839\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Untitled-design-38.webp\" alt=\"Managing Raw Inventory\" width=\"800\" height=\"400\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Untitled-design-38.webp 800w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Untitled-design-38-300x150.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Untitled-design-38-768x384.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Untitled-design-38-150x75.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Untitled-design-38-696x348.webp 696w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">We have discussed the definition of raw material inventory before. Next, we will discuss the techniques\/methods commonly used to manage raw material inventory\u00a0efficiently. Below is an explanation of the various methods that are commonly used:\u00a0<\/span><\/p>\n<h3><strong>Just-in-Time (JIT)<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/just-in-time-jit-manufacturing\/\">JIT method<\/a> aims to minimize the amount of raw materials stored in the warehouse by only ordering raw materials according to production needs. This means that raw materials arrive exactly when they are to be used in production, thus reducing storage costs and the risk of overstocking.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This technique is very useful in reducing waste, but requires very good coordination with suppliers to avoid delays in delivery.<\/span><\/p>\n<h3><strong>Economic Order Quantity (EOQ)<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">EOQ is a method for determining the optimal amount of raw materials to order each time an order is placed. The goal of EOQ is to minimize the total cost of inventory, which includes storage costs, ordering costs, and stock shortage costs.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Companies can use a mathematical formula to calculate the ideal order quantity that balances ordering frequency and storage costs.<\/span><\/p>\n<h3><strong>ABC analysis<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">This method involves grouping raw materials based on their value. Typically, raw materials are divided into three categories: A (high value and low volume raw materials), B (medium value and medium volume raw materials), and C (low value but high volume raw materials).<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This method focuses stricter management on category A to ensure these important raw materials never run out and inventory costs are controlled. The company can then allocate the right resources and attention to each inventory group.<\/span><\/p>\n<h3><strong>First-In, First-Out (FIFO)<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">This technique ensures that the raw materials that have been in the warehouse the longest (first-in) are used first in production (first-out). The FIFO method is often used for raw materials with a limited shelf life, such as food or medicine, to avoid spoilage or expiration.<\/span><\/p>\n<h3><strong>Material Requirements Planning (MRP)<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\"><span id=\"C\"><\/span>MRP is a computer-based system used to plan raw material requirements based on production schedules. Taking into account existing orders, production time, and delivery schedules, MRP helps ensure that the required raw materials are available on time and in the right quantity, thus avoiding shortages or overstocks. Businesses can also explore <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/www.hashmicro.com\/ph\/blog\/top-construction-inventory-management-software\/\">inventory software options built for the construction industry<\/a> to find tools suited to their project scale.<\/span><\/p>\n<h2><b>How to Calculate Raw Material Inventory<\/b><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-large wp-image-32846\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_28_22-PM-1024x683.webp\" alt=\"Calculate raw material inventory\" width=\"696\" height=\"464\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_28_22-PM-1024x683.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_28_22-PM-300x200.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_28_22-PM-768x512.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_28_22-PM-630x420.webp 630w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_28_22-PM-150x100.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_28_22-PM-696x464.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_28_22-PM-1068x712.webp 1068w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_28_22-PM.webp 1536w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">There are several methods that can be used to calculate raw material inventory, depending on the purpose of the calculation, such as determining the value of inventory or analyzing the use of raw materials. Here is how to calculate the raw material inventory formula:\u00a0<\/span><\/p>\n<h3><strong>1. Calculating the inventory value of available raw materials<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">The value of raw material inventory formula is calculated by summing up the cost of raw materials owned by the company at the end of a certain period. The formula is<\/span><\/p>\n<p>Raw Material Inventory Value = Initial Inventory + Purchases During the Period &#8211; Ending Inventory<\/p>\n<ul>\n<li style=\"font-weight: 400;\">Initial Inventory<span style=\"font-weight: 400;\"> The amount of raw materials available at the beginning of the period<\/span><\/li>\n<li style=\"font-weight: 400;\">Purchases During the Period<span style=\"font-weight: 400;\"> Total raw materials purchased during the period<\/span><\/li>\n<li style=\"font-weight: 400;\">Ending Inventory<span style=\"font-weight: 400;\"> The amount of raw materials remaining at the end of the period.\u00a0<\/span><\/li>\n<\/ul>\n<h3><strong>2. Calculating turnover ratio\u00a0<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">To find out how quickly raw materials are used in the production process, you can calculate the inventory turnover ratio using the formula:<\/span><\/p>\n<p>Inventory Turnover Ratio = Average Raw Material Inventory \u00f7 Cost of Raw Materials Used<\/p>\n<h4><b>Example: San Miguel Corporation (SMC) &#8211; Beverage Manufacturing<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">San Miguel Corporation (SMC), a well-known food and beverage company in the Philippines, uses raw materials like <\/span>barley, hops, sugar, and water<span style=\"font-weight: 400;\"> to produce its products. To understand how efficiently they use their raw materials, we can calculate their <\/span>Inventory Turnover Ratio<span style=\"font-weight: 400;\"> using a simple method.<\/span><\/p>\n<h4><b>Step 1: Find the Average Raw Material Inventory<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">First, we take the raw material inventory at the start of the period (<\/span>\u20b1400 million) and at the end of the period (\u20b1600 million). The average inventory is the sum of these two amounts divided by two.<\/p>\n<ul>\n<li style=\"font-weight: 400;\">(\u20b1400 million + \u20b1600 million) \u00f7 2 = \u20b1500 million<\/li>\n<\/ul>\n<h4><b>Step 2: Calculate the Inventory Turnover Ratio<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">Now, we take the total cost of raw materials used during the period (<\/span>\u20b11.2 billion) and divide it by the average raw material inventory (\u20b1500 million).<\/p>\n<ul>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">\u20b11.2 billion \u00f7 \u20b1500 million = <\/span>2.4<\/li>\n<\/ul>\n<h4><b>What Does This Mean?<\/b><\/h4>\n<p><span style=\"font-weight: 400;\">An inventory turnover ratio of <\/span>2.4 means that SMC uses up and restocks its raw materials about 2.4 times within the given period.<\/p>\n<ul>\n<li style=\"font-weight: 400;\">A higher ratio means materials are moving quickly, which is good for efficiency but could risk running out of stock.<\/li>\n<li style=\"font-weight: 400;\">A lower ratio<span style=\"font-weight: 400;\"> suggests slow movement, which could lead to excess inventory and higher storage costs.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\"><span id=\"D\"><\/span>By analyzing this number, SMC can adjust its raw material orders to maintain the right balance. For manufacturers specifically, reviewing <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/www.hashmicro.com\/ph\/blog\/manufacturing-inventory-software\/\">inventory tools designed for production environments<\/a> can help identify features that align with raw material tracking needs.<\/span><\/p>\n<h2><strong>How to Manage Raw Material Inventory<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-large wp-image-32849\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_34_38-PM-1024x683.webp\" alt=\"Manage Raw Material Inventory\" width=\"696\" height=\"464\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_34_38-PM-1024x683.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_34_38-PM-300x200.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_34_38-PM-768x512.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_34_38-PM-630x420.webp 630w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_34_38-PM-150x100.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_34_38-PM-696x464.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_34_38-PM-1068x712.webp 1068w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/ChatGPT-Image-Mar-5-2026-04_34_38-PM.webp 1536w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Here are 5 steps that can be taken to keep raw material inventory management efficient and minimize errors:<\/span><\/p>\n<h3><strong>1. Use an automated inventory management system<\/strong><\/h3>\n<p>Implementing an automated inventory management system is essential to monitor raw material stocks in real-time. These systems provide accurate stock counting and tracking across multiple locations, reducing the risk of manual errors such as incorrect data entry or miscalculated quantities. Beyond basic tracking, most automated systems also support reorder alerts, consumption-based forecasting, and integration with procurement workflows giving teams the visibility they need to make timely purchasing decisions before shortages or overstock situations develop.<\/p>\n<p>For businesses managing stock across multiple locations, understanding how <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-warehouse-management-system-wms\/\">warehouse management systems support inventory accuracy<\/a> can help inform the right system setup.<\/p>\n<h3><strong>2. Accurate forecasting of raw material requirements<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Performing proper forecasting based on historical data, market trends, and <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/inventory-management-system\/\">anticipated demand is very important<\/a>. With accurate forecasting, companies can know when and how much raw materials to order. This helps prevent overstock or stockouts, which can lead to costly waste or production disruptions.<\/span><\/p>\n<h3><strong>3. Periodic inventory audits and checks<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Conducting audits and physical checks of raw material inventory on a regular basis is an important step to ensure inventory data matches physical stock quantities. Periodic audits can help companies identify potential errors, such as missing raw materials, damage, or data discrepancies, so that corrective steps can be taken immediately to avoid bigger problems in the future.<\/span><\/p>\n<h3><strong>4. Apply the just-in-time (JIT) method<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Just-in-Time is a method that organizes the ordering of raw materials based on actual production needs. With this system, companies only order raw materials when needed, reducing storage costs and the risk of overstocking. This method is very effective in improving the efficiency of <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/material-management\/\">raw material management<\/a>, but requires good coordination with suppliers to ensure timely delivery.<\/span><\/p>\n<h3><strong>5. Application of the first-in, first-out (FIFO) method<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\"><span id=\"orna\">It is important to apply the FIFO method for raw materials with a limited shelf life, such as food ingredients or medicines. This means that the raw materials that first enter the warehouse will be used first in production. Thus, the risk of damage or expiration of raw materials can be reduced, thereby minimizing waste and maintaining the quality of the products produced.<\/span><\/span><\/p>\n<h2><strong>Choosing the Right System for Raw Material Inventory Management<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-32851\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Untitled-design-39.webp\" alt=\"Choosing right RMI management\" width=\"800\" height=\"400\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Untitled-design-39.webp 800w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Untitled-design-39-300x150.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Untitled-design-39-768x384.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Untitled-design-39-150x75.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Untitled-design-39-696x348.webp 696w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">The five management steps above: automated tracking, <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/demand-forecasting\/\">accurate forecasting<\/a>, periodic audits, JIT ordering, and FIFO application are significantly easier to execute consistently when supported by a dedicated inventory management system. Manual methods work at low volumes, but as a business scales, the complexity of tracking raw materials across multiple suppliers, warehouses, and production lines quickly exceeds what spreadsheets can reliably handle.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">When evaluating inventory software for raw material management, the key capabilities to look for include real-time stock visibility, automated reorder rules based on consumption rates, integration with procurement and production workflows, and reporting tools that support periodic audit reconciliation. Systems that connect raw material data to financial reporting also provide better visibility into how inventory levels affect overall production costs and margins.<\/p>\n<h2><strong>Conclusions<\/strong><\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Effective raw material inventory management comes down to three fundamentals: knowing how much stock you have (accurate calculation), knowing how fast it moves (turnover ratio), and applying the right method for your business type, whether that&#8217;s JIT for lean operations, FIFO for perishables, or MRP for complex production schedules. Businesses that get these right reduce waste, avoid costly production stoppages, and maintain better control over their operating costs.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">As inventory complexity grows more SKUs, more suppliers, more production lines, the case for moving beyond manual tracking becomes stronger. For businesses in the Philippines looking to evaluate their options, reviewing <a class=\"underline underline underline-offset-2 decoration-1 decoration-current\/40 hover:decoration-current focus:decoration-current\" href=\"https:\/\/www.hashmicro.com\/ph\/blog\/best-inventory-management-software\/\">leading inventory management platforms suited for manufacturing and production<\/a> can help identify tools that match both your raw material volume and operational workflow.<\/p>\n<h2><strong>FAQ Around Raw Material Inventory<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>What is raw material inventory and why is it important?<\/strong><\/summary>\n<p>Raw material inventory is the stock of unprocessed inputs a company holds before they are used in production. It is important because insufficient raw materials cause production delays, while excess inventory increases storage costs, ties up capital, and raises the risk of material spoilage or obsolescence. Proper management ensures production runs smoothly without unnecessary overhead.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>How do you calculate raw material inventory value?<\/strong><\/summary>\n<p>Raw material inventory value is calculated using this formula: Initial Inventory + Purchases During the Period \u2013 Ending Inventory. This gives the total cost of raw materials consumed or on hand during a given period. To measure how efficiently those materials are being used, divide the cost of raw materials used by the average raw material inventory to get the inventory turnover ratio.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What are the most common problems in raw material inventory management?<\/strong><\/summary>\n<p>The most common problems are: overstocking (excess inventory that increases storage costs and spoilage risk), understocking (insufficient supply that halts production), inaccurate records (caused by manual data entry errors or lack of real-time tracking), and poor supplier coordination (which causes delays when using JIT methods). Most of these issues can be significantly reduced by switching from manual tracking to an automated inventory system.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What is the difference between JIT and FIFO in raw material management?<\/strong><\/summary>\n<p>JIT (Just-in-Time) is an ordering strategy \u2014 it means raw materials are ordered and received only when needed for production, minimizing storage costs. FIFO (First-In, First-Out) is a usage strategy \u2014 it means the oldest stock in the warehouse is used first in production, reducing the risk of spoilage or expiration. Both can be used together: JIT governs when you order, FIFO governs how you use what you have.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Raw material inventory refers to the stock of unprocessed materials a company holds before they enter the production process. Managing this inventory well is critical too little leads to production delays, while too much drives up storage costs and ties up working capital. For manufacturers, food producers, and other product-based businesses in the Philippines, getting [&hellip;]<\/p>\n","protected":false},"author":25,"featured_media":22826,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[20],"tags":[],"class_list":{"0":"post-10233","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-inventory"},"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>Raw Material Inventory, Definition and How to Calculate<\/title>\n<meta name=\"description\" content=\"Raw material inventory is the inventory of raw materials owned by the company to be used in the production process.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Raw Material Inventory, Definition and How to Calculate\" \/>\n<meta property=\"og:description\" content=\"Raw material inventory is the inventory of raw materials owned by the company to be used in the production process.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Philippine Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-10-22T07:27:45+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-05T09:40:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/raw-material-inventory-management.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"650\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Widi Yulianto\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Widi Yulianto\" \/>\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\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/\",\"name\":\"Raw Material Inventory, Definition and How to Calculate\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/raw-material-inventory-management.webp\",\"datePublished\":\"2024-10-22T07:27:45+00:00\",\"dateModified\":\"2026-03-05T09:40:00+00:00\",\"author\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/f763f48943ca0ac5f57114796693f931\"},\"description\":\"Raw material inventory is the inventory of raw materials owned by the company to be used in the production process.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/#breadcrumb\"},\"inLanguage\":\"en-PH\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-PH\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/raw-material-inventory-management.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/raw-material-inventory-management.webp\",\"width\":1200,\"height\":650,\"caption\":\"raw material inventory management\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/ph\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Raw Material Inventory, Definition and How to Calculate\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/\",\"name\":\"HashMicro Philippine Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/ph\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-PH\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/f763f48943ca0ac5f57114796693f931\",\"name\":\"Widi Yulianto\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-PH\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/02\/cropped-ff7687c9-d66e-404b-8d0a-4c57d6a400ba-removebg-preview-96x96.png\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/02\/cropped-ff7687c9-d66e-404b-8d0a-4c57d6a400ba-removebg-preview-96x96.png\",\"caption\":\"Widi Yulianto\"},\"description\":\"Widi Yulianto is a Content Writer with a keen interest in digital marketing and data-driven marketing strategies.\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/author\/widi-yulianto\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Raw Material Inventory, Definition and How to Calculate","description":"Raw material inventory is the inventory of raw materials owned by the company to be used in the production process.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/","og_locale":"en_US","og_type":"article","og_title":"Raw Material Inventory, Definition and How to Calculate","og_description":"Raw material inventory is the inventory of raw materials owned by the company to be used in the production process.","og_url":"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/","og_site_name":"HashMicro Philippine Blog","article_published_time":"2024-10-22T07:27:45+00:00","article_modified_time":"2026-03-05T09:40:00+00:00","og_image":[{"width":1200,"height":650,"url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/raw-material-inventory-management.webp","type":"image\/webp"}],"author":"Widi Yulianto","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Widi Yulianto","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/","url":"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/","name":"Raw Material Inventory, Definition and How to Calculate","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/raw-material-inventory-management.webp","datePublished":"2024-10-22T07:27:45+00:00","dateModified":"2026-03-05T09:40:00+00:00","author":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/f763f48943ca0ac5f57114796693f931"},"description":"Raw material inventory is the inventory of raw materials owned by the company to be used in the production process.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/#breadcrumb"},"inLanguage":"en-PH","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/"]}]},{"@type":"ImageObject","inLanguage":"en-PH","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/#primaryimage","url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/raw-material-inventory-management.webp","contentUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/raw-material-inventory-management.webp","width":1200,"height":650,"caption":"raw material inventory management"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/raw-material-inventory\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/ph\/blog\/"},{"@type":"ListItem","position":2,"name":"Raw Material Inventory, Definition and How to Calculate"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#website","url":"https:\/\/www.hashmicro.com\/ph\/blog\/","name":"HashMicro Philippine Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/ph\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-PH"},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/f763f48943ca0ac5f57114796693f931","name":"Widi Yulianto","image":{"@type":"ImageObject","inLanguage":"en-PH","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/02\/cropped-ff7687c9-d66e-404b-8d0a-4c57d6a400ba-removebg-preview-96x96.png","contentUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/02\/cropped-ff7687c9-d66e-404b-8d0a-4c57d6a400ba-removebg-preview-96x96.png","caption":"Widi Yulianto"},"description":"Widi Yulianto is a Content Writer with a keen interest in digital marketing and data-driven marketing strategies.","url":"https:\/\/www.hashmicro.com\/ph\/blog\/author\/widi-yulianto\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/10233","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/users\/25"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/comments?post=10233"}],"version-history":[{"count":18,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/10233\/revisions"}],"predecessor-version":[{"id":32852,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/10233\/revisions\/32852"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media\/22826"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media?parent=10233"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/categories?post=10233"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/tags?post=10233"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}