{"id":7036,"date":"2024-08-27T02:13:53","date_gmt":"2024-08-27T02:13:53","guid":{"rendered":"https:\/\/www.hashmicro.com\/ph\/blog\/?p=7036"},"modified":"2026-03-17T09:52:13","modified_gmt":"2026-03-17T09:52:13","slug":"what-is-fifo-method","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/","title":{"rendered":"Why FIFO Method is Crucial for Effective Inventory Management"},"content":{"rendered":"<p>Do you know that businesses managing inventory manually often face expensive mistakes each year? Many of these errors can be avoided by using effective methods like the First-In, First-Out (FIFO) method. Whether you run a small shop in Manila or manage a l<a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/erp-software-philippines\/\">arge distribution center in Cebu<\/a>, applying FIFO principles can make a big difference.<\/p>\n<p>Using inventory management software that supports FIFO can further enhance this process. These tools automate inventory management, ensuring FIFO is applied consistently. This improves accuracy, reduces waste, and boosts efficiency, ultimately impacting your bottom line and helping you stay competitive.<\/p>\n<p>To learn more about how FIFO works and how you can apply it effectively in your business, read our next section on &#8220;What is the FIFO Method.&#8221;<\/p>\n<p><span data-sheets-root=\"1\"><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\">The FIFO (First-In, First-Out) <\/a>method helps businesses reduce waste and improve profitability by ensuring that the oldest inventory items are sold first.<\/li>\n<li style=\"font-weight: 400;\"><a href=\"#b\">FIFO is especially beneficial<\/a> for industries with perishable goods, such as food and beverages, as well as sectors like electronics and fashion, where product relevance is key.<\/li>\n<li style=\"font-weight: 400;\"><a href=\"#c\">FIFO inventory valuation<\/a> aligns the cost of goods sold with the oldest inventory costs, offering a more accurate reflection of the current market value. It\u00a0offers versatility across various industries.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><strong><span id=\"a\">What is the FIFO Method?<\/span><\/strong><\/h2>\n<p>The FIFO (First-In, First-Out) method actively <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/inventory-control\/\">manages the control of inventory\u00a0by selling<\/a> or using the first items added to inventory first. This technique ensures that goods purchased or produced earlier are utilized or sold before newer inventory.<\/p>\n<p>FIFO effectively aligns inventory costs with current sales prices, giving companies a more accurate assessment of their inventory value. By selling older items first, businesses base their cost of goods sold (COGS) on the cost of earlier purchases, often reflecting lower prices.<\/p>\n<p>This method also prevents discrepancies between current market prices and the inventory recorded in financial statements, providing businesses with a clear and consistent view of profitability.<\/p>\n<h2><strong>How FIFO is Applied in Inventory Management<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-33563\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/How-FIFO-is-Applied-in-Inventory-Management.webp\" alt=\"FIFO application\" width=\"800\" height=\"400\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/How-FIFO-is-Applied-in-Inventory-Management.webp 800w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/How-FIFO-is-Applied-in-Inventory-Management-300x150.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/How-FIFO-is-Applied-in-Inventory-Management-768x384.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/How-FIFO-is-Applied-in-Inventory-Management-150x75.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/How-FIFO-is-Applied-in-Inventory-Management-696x348.webp 696w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>In inventory management, the FIFO method is crucial for industries where product freshness, relevance, or expiration is a concern. For example, in the food and beverage sector, FIFO ensures that older stock is sold before newer inventory, minimizing waste and <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/inventory-aging\/\">avoiding aging in inventory<\/a>.<\/p>\n<p><span style=\"font-weight: 400;\">This method also benefits industries such as fashion, electronics, and pharmaceuticals, where products can lose value or become obsolete over time. By applying FIFO, companies keep inventory fresh, maintain product relevance, and ensure customers receive up-to-date goods. FIFO also simplifies inventory tracking and reporting because it closely follows the actual flow of goods, which makes stock management and audits easier.<\/span><\/p>\n<h2><strong><span id=\"fifo-works\">How the FIFO Method Works<\/span><\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">To understand FIFO more clearly, you need to see how it applies to both inventory valuation and cost calculation. This method follows a simple principle: businesses sell or use their oldest inventory first. As a result, FIFO affects how companies record the cost of goods sold and value their remaining stock.<\/span><\/p>\n<h3><strong>FIFO Inventory Valuation Explained<\/strong><\/h3>\n<p><strong>FIFO inventory valuation is straightforward:<\/strong> the cost of goods sold (COGS) is based on the cost of the earliest inventory purchases. This means that during periods of inflation, where prices rise over time, the COGS will reflect the older, lower costs.<\/p>\n<p>As a result, the ending inventory is valued at the most recent, higher costs, providing a more accurate representation of the current market value.<\/p>\n<h3><strong>The FIFO Calculation Process<\/strong><\/h3>\n<p>Calculating FIFO is a simple process that involves matching the oldest inventory costs with the latest sales. For each sale, the cost is assigned based on the order of purchase, starting with the earliest inventory.<\/p>\n<p>This process continues until all inventory from that period is depleted, then the next oldest inventory is used, and so on.<\/p>\n<h2><strong>FIFO Formula &amp; Calculation Example<\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">The FIFO formula does not subtract the oldest inventory cost from revenue. Instead, it <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/cost-of-goods-sold-cogs\/\">calculates the cost of goods sold<\/a><\/span>\u00a0(COGS)<span style=\"font-weight: 400;\"> by assigning the cost of the oldest inventory units to the units sold first.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">It is expressed as:<\/span><\/p>\n<p><b>FIFO COGS = (Units sold from oldest batch \u00d7 oldest unit cost) + (Units sold from next batch \u00d7 next unit cost) + &#8230;<\/b><\/p>\n<p><span style=\"font-weight: 400;\">This formula helps businesses calculate COGS accurately because it uses the earliest inventory costs first. As a result, the ending inventory reflects the value of the most recently purchased units.<\/span><\/p>\n<h3><b>Step-by-Step Calculation<\/b><\/h3>\n<ol>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Identify the oldest inventory batch and its unit cost.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Match the units sold with that batch first.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Multiply the number of units sold by the unit cost of that batch.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">If the sale exceeds the first batch, continue with the next oldest batch.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">Add the costs from each batch to get the total FIFO COGS.<\/span><\/li>\n<\/ol>\n<h3><strong>Real-Life Example and Walkthrough<\/strong><\/h3>\n<p><img decoding=\"async\" class=\"aligncenter size-large wp-image-33561\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Real-Life-Example-and-Walkthrough-1024x683.webp\" alt=\"Example of formula\" width=\"696\" height=\"464\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Real-Life-Example-and-Walkthrough-1024x683.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Real-Life-Example-and-Walkthrough-300x200.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Real-Life-Example-and-Walkthrough-768x512.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Real-Life-Example-and-Walkthrough-630x420.webp 630w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Real-Life-Example-and-Walkthrough-150x100.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Real-Life-Example-and-Walkthrough-696x464.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Real-Life-Example-and-Walkthrough-1068x712.webp 1068w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Real-Life-Example-and-Walkthrough.webp 1536w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">Suppose an electronics store purchased <\/span><b>100 smartphone units at \u20b110,000 each<\/b><span style=\"font-weight: 400;\"> and later purchased <\/span><b>50 more units at \u20b112,000 each<\/b><span style=\"font-weight: 400;\">.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If the store sold <\/span><b>120 units<\/b><span style=\"font-weight: 400;\">, FIFO assigns the cost of the <\/span><b>first 100 units<\/b><span style=\"font-weight: 400;\"> to the oldest batch:<\/span><\/p>\n<p><b>100 \u00d7 \u20b110,000 = \u20b11,000,000<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The remaining <\/span><b>20 units<\/b><span style=\"font-weight: 400;\"> come from the second batch:<\/span><\/p>\n<p><b>20 \u00d7 \u20b112,000 = \u20b1240,000<\/b><\/p>\n<p><span style=\"font-weight: 400;\">So, the total <\/span><b>FIFO COGS = \u20b11,240,000<\/b><\/p>\n<p><span style=\"font-weight: 400;\">The remaining inventory is <\/span><b>30 units from the second batch<\/b><span style=\"font-weight: 400;\">, valued at:<\/span><\/p>\n<p><b>30 \u00d7 \u20b112,000 = \u20b1360,000<\/b><\/p>\n<p><span style=\"font-weight: 400;\">This method ensures that the business records the oldest inventory costs first, while the remaining inventory reflects more recent purchase costs.<\/span><\/p>\n<h2><strong><span id=\"fifo-benefits\"><span id=\"b\">Pros and Cons of the FIFO Method<\/span><\/span><\/strong><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-33562\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Pros-and-Cons-of-the-FIFO-Method.webp\" alt=\"FIFO pros and cons\" width=\"800\" height=\"400\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Pros-and-Cons-of-the-FIFO-Method.webp 800w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Pros-and-Cons-of-the-FIFO-Method-300x150.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Pros-and-Cons-of-the-FIFO-Method-768x384.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Pros-and-Cons-of-the-FIFO-Method-150x75.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/Pros-and-Cons-of-the-FIFO-Method-696x348.webp 696w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p>The FIFO method, like any other inventory management method, has its own benefits and downsides. These key pros and cons will show you if your business needs to apply the FIFO method:<\/p>\n<h3><strong>Advantages<\/strong><\/h3>\n<ol>\n<li><strong>Higher Valuation for Ending Inventory:<\/strong> FIFO results in a higher valuation for ending inventory, as it accounts for the most recent costs.<\/li>\n<li><strong>Increased Net Income:<\/strong> By using older, lower-cost inventory first, businesses can show higher profits during inflationary periods.<\/li>\n<li><strong>Reflects Actual Inventory Movement:<\/strong> FIFO accurately represents the physical flow of inventory, especially for perishable goods.<\/li>\n<\/ol>\n<h3><strong>Disadvantages<\/strong><\/h3>\n<ol>\n<li><strong>Potential Discrepancies with Spikes in COGS:<\/strong> During periods of rapid price increases, FIFO may lead to discrepancies in COGS, affecting profit margins.<\/li>\n<li><strong>Higher Taxes Due to Increased Income:<\/strong> Higher reported income can lead to higher tax liabilities, a significant consideration for businesses.<\/li>\n<\/ol>\n<h2><strong><span id=\"c\">FIFO vs. Other Inventory Methods<\/span><\/strong><\/h2>\n<p><span style=\"font-weight: 400;\">Businesses use several inventory valuation methods, but each one affects cost calculations, inventory value, and financial reporting differently. To understand why many companies choose FIFO, it helps to compare it with other common methods such as <strong>LIFO, Average Cost, and Specific Identification<\/strong>. This comparison shows how each method works and which approach fits different business needs better.<\/span><\/p>\n<h3><strong>FIFO vs. LIFO<\/strong><\/h3>\n<p>While FIFO focuses on selling the oldest inventory first, the Last-In, First-Out (LIFO) method does the opposite, selling the most recently acquired inventory first. LIFO can result in lower taxes during inflation, but might not reflect the actual inventory flow, making FIFO a more realistic approach.<\/p>\n<h3><strong>FIFO vs. Average Cost Method<\/strong><\/h3>\n<p>The Average Cost Method averages the cost of all inventory items and applies this average to each sale. While simpler, it may not provide as accurate a reflection of inventory value as FIFO does, especially in industries with fluctuating costs.<\/p>\n<h3><strong>FIFO vs. Specific Identification Method<\/strong><\/h3>\n<p>The Specific Identification Method tracks each inventory item individually, assigning the exact cost to each sale. While precise, it is more complex and less practical for businesses with large volumes of inventory, making FIFO a more efficient choice.<\/p>\n<h2><strong><span id=\"fifo-other-method\">Choosing the Right Inventory Method for Your Business<\/span><\/strong><\/h2>\n<h3><img decoding=\"async\" class=\"aligncenter wp-image-7049 size-full\" style=\"color: #222222; font-family: Verdana, BlinkMacSystemFont, -apple-system, 'Segoe UI', Roboto, Oxygen, Ubuntu, Cantarell, 'Open Sans', 'Helvetica Neue', sans-serif; font-size: 15px;\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/first-in-first-out.webp\" alt=\"first in first out\" width=\"1200\" height=\"650\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/first-in-first-out.webp 1200w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/first-in-first-out-300x163.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/first-in-first-out-1024x555.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/first-in-first-out-768x416.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/first-in-first-out-775x420.webp 775w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/first-in-first-out-150x81.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/first-in-first-out-696x377.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/first-in-first-out-1068x580.webp 1068w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/h3>\n<p>When selecting an inventory method, consider factors like the <strong>nature of your products, market conditions, and tax implications. <\/strong>For Filipino businesses, where market dynamics can change rapidly, choosing the right method is crucial to maintaining profitability and compliance.<\/p>\n<h3><strong>How to Decide Between FIFO and Other Methods<\/strong><\/h3>\n<p>To decide between FIFO and other methods, assess your business&#8217;s specific needs. FIFO is ideal for businesses dealing with perishable goods or where inventory valuation accuracy is paramount. However, consult with a financial expert to ensure the chosen method aligns with your long-term business goals.<\/p>\n<h3><strong>Why FIFO is a Popular Choice<\/strong><\/h3>\n<p>FIFO is a popular choice because it offers versatility across various industries. Whether you\u2019re in retail, manufacturing, or food service, FIFO ensures your inventory is managed efficiently, <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/inventory-turnover-ratio\/\">increasing turnover<\/a>, reducing waste, and maximizing profits.<\/p>\n<p>In the Philippines, where businesses often face challenges related to inventory spoilage and obsolescence, FIFO aligns perfectly with the need for efficiency and cost-effectiveness. Your businesses can benefit from FIFO by ensuring that older stock is always sold first, reducing the risk of waste, and ensuring product freshness.<\/p>\n<h2><strong>Conclusion<\/strong><\/h2>\n<p>Wrapping up, it&#8217;s clear that the right inventory management approach can really impact your business\u2019s success. The FIFO method, with its simple yet effective strategy, helps keep your inventory organized, reduce waste, and ensure you\u2019re always selling the oldest stock first.<\/p>\n<p>Keeping track of inventory can be challenging, no matter how great your method is. That\u2019s where <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/best-inventory-management-software\/\">the right inventory management system<\/a> comes to the rescue. It&#8217;s designed to make your life easier, giving you real-time insights and reports that help you stay on top of your stock without the stress.<\/p>\n<h2><strong>FAQ About FIFO Method<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details open=\"open\">\n<summary><strong>Why is the FIFO method important?<\/strong><\/summary>\n<p>The FIFO method is crucial because it ensures that the oldest inventory is sold first, reducing waste, preventing obsolescence, and providing a more accurate reflection of inventory costs, especially in industries with perishable goods or fluctuating prices.<\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>Why is it better to use FIFO?<\/strong><\/summary>\n<p>FIFO is better because it reduces waste by selling older stock first, reflects actual inventory movement, and provides accurate financial reporting during inflation by aligning costs with the oldest inventory.<\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>How to solve the FIFO method?<\/strong><\/summary>\n<p>To solve FIFO, track inventory costs from the oldest to the newest. Match the oldest costs to sales first, then continue with the next oldest until all units sold are accounted for.<\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>Is FEFO better than FIFO?<\/strong><\/summary>\n<p><span style=\"font-weight: 400;\">FEFO is better when products have expiration dates, such as food, medicine, and cosmetics. FIFO works well for general inventory, but FEFO helps businesses reduce spoilage and sell items before they expire.<\/span><\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>Is LIFO harder than FIFO?<\/strong><\/summary>\n<p><span style=\"font-weight: 400;\">Yes, because LIFO often feels less intuitive and may not match the actual physical flow of inventory.<\/span><\/p>\n<\/details>\n<\/li>\n<\/ul>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [{\n    \"@type\": \"Question\",\n    \"name\": \"Why is the FIFO method important?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"The FIFO method is crucial because it ensures that the oldest inventory is sold first, reducing waste, preventing obsolescence, and providing a more accurate reflection of inventory costs, especially in industries with perishable goods or fluctuating prices.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Why is it better to use FIFO?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"FIFO is better because it reduces waste by selling older stock first, reflects actual inventory movement, and provides accurate financial reporting during inflation by aligning costs with the oldest inventory.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"How to solve the FIFO method?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"To solve FIFO, track inventory costs from the oldest to the newest. Match the oldest costs to sales first, then continue with the next oldest until all units sold are accounted for.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Is FEFO better than FIFO?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"FEFO is better when products have expiration dates, such as food, medicine, and cosmetics. FIFO works well for general inventory, but FEFO helps businesses reduce spoilage and sell items before they expire.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Is LIFO harder than FIFO?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Yes, because LIFO often feels less intuitive and may not match the actual physical flow of inventory.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Do you know that businesses managing inventory manually often face expensive mistakes each year? Many of these errors can be avoided by using effective methods like the First-In, First-Out (FIFO) method. Whether you run a small shop in Manila or manage a large distribution center in Cebu, applying FIFO principles can make a big difference. [&hellip;]<\/p>\n","protected":false},"author":22,"featured_media":7048,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[20],"tags":[],"class_list":{"0":"post-7036","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>Why FIFO Method is Crucial for Effective Inventory Management<\/title>\n<meta name=\"description\" content=\"The FIFO method is a widely used inventory management approach that ensures the oldest inventory items are sold or used first.\" \/>\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\/what-is-fifo-method\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Why FIFO Method is Crucial for Effective Inventory Management\" \/>\n<meta property=\"og:description\" content=\"The FIFO method is a widely used inventory management approach that ensures the oldest inventory items are sold or used first.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Philippine Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-08-27T02:13:53+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-17T09:52:13+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/fifo-method.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=\"Aulia Kholqiana\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Aulia Kholqiana\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/\",\"name\":\"Why FIFO Method is Crucial for Effective Inventory Management\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/fifo-method.webp\",\"datePublished\":\"2024-08-27T02:13:53+00:00\",\"dateModified\":\"2026-03-17T09:52:13+00:00\",\"author\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/3289d25a8ca801c150a611245eb1fe8b\"},\"description\":\"The FIFO method is a widely used inventory management approach that ensures the oldest inventory items are sold or used first.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/#breadcrumb\"},\"inLanguage\":\"en-PH\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-PH\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/fifo-method.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/fifo-method.webp\",\"width\":1200,\"height\":650,\"caption\":\"fifo method\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/ph\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Why FIFO Method is Crucial for Effective Inventory Management\"}]},{\"@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\/3289d25a8ca801c150a611245eb1fe8b\",\"name\":\"Aulia Kholqiana\",\"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-WhatsApp-Image-2025-02-03-at-10.16.43-1-96x96.jpeg\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/02\/cropped-WhatsApp-Image-2025-02-03-at-10.16.43-1-96x96.jpeg\",\"caption\":\"Aulia Kholqiana\"},\"description\":\"As a content writer who turns technical complexity into compelling narratives, my words guide businesses through the labyrinth of technology, transforming challenges into opportunities for growth.\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/author\/aulia-kholqiana\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Why FIFO Method is Crucial for Effective Inventory Management","description":"The FIFO method is a widely used inventory management approach that ensures the oldest inventory items are sold or used first.","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\/what-is-fifo-method\/","og_locale":"en_US","og_type":"article","og_title":"Why FIFO Method is Crucial for Effective Inventory Management","og_description":"The FIFO method is a widely used inventory management approach that ensures the oldest inventory items are sold or used first.","og_url":"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/","og_site_name":"HashMicro Philippine Blog","article_published_time":"2024-08-27T02:13:53+00:00","article_modified_time":"2026-03-17T09:52:13+00:00","og_image":[{"width":1200,"height":650,"url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/fifo-method.webp","type":"image\/webp"}],"author":"Aulia Kholqiana","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Aulia Kholqiana","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/","url":"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/","name":"Why FIFO Method is Crucial for Effective Inventory Management","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/fifo-method.webp","datePublished":"2024-08-27T02:13:53+00:00","dateModified":"2026-03-17T09:52:13+00:00","author":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/3289d25a8ca801c150a611245eb1fe8b"},"description":"The FIFO method is a widely used inventory management approach that ensures the oldest inventory items are sold or used first.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/#breadcrumb"},"inLanguage":"en-PH","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/"]}]},{"@type":"ImageObject","inLanguage":"en-PH","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/#primaryimage","url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/fifo-method.webp","contentUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/fifo-method.webp","width":1200,"height":650,"caption":"fifo method"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/what-is-fifo-method\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/ph\/blog\/"},{"@type":"ListItem","position":2,"name":"Why FIFO Method is Crucial for Effective Inventory Management"}]},{"@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\/3289d25a8ca801c150a611245eb1fe8b","name":"Aulia Kholqiana","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-WhatsApp-Image-2025-02-03-at-10.16.43-1-96x96.jpeg","contentUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/02\/cropped-WhatsApp-Image-2025-02-03-at-10.16.43-1-96x96.jpeg","caption":"Aulia Kholqiana"},"description":"As a content writer who turns technical complexity into compelling narratives, my words guide businesses through the labyrinth of technology, transforming challenges into opportunities for growth.","url":"https:\/\/www.hashmicro.com\/ph\/blog\/author\/aulia-kholqiana\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/7036","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\/22"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/comments?post=7036"}],"version-history":[{"count":14,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/7036\/revisions"}],"predecessor-version":[{"id":33565,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/7036\/revisions\/33565"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media\/7048"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media?parent=7036"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/categories?post=7036"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/tags?post=7036"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}