{"id":61919,"date":"2024-08-30T08:15:03","date_gmt":"2024-08-30T08:15:03","guid":{"rendered":"https:\/\/www.hashmicro.com\/blog\/?p=61919"},"modified":"2025-10-21T04:19:47","modified_gmt":"2025-10-21T04:19:47","slug":"inventory-costing","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/","title":{"rendered":"What is Inventory Casting? Method and How to Get It Right"},"content":{"rendered":"<p>Inventory costing is one of the most critical factors that can make or break your company\u2019s bottom line. I\u2019ve seen how inaccurate cost allocation can send expenses spiraling out of control and disrupt an entire business.<\/p>\n<p>But here\u2019s the good news, in this article, I\u2019ll guide you through why mastering inventory costing matters, the key methods you should know, and how to choose the right one for your business.<\/p>\n<p>As Singapore moves toward its \u201c<a href=\"https:\/\/www.edb.gov.sg\/en\/business-insights\/insights\/factories-of-the-future-will-be-powered-by-innovative-digital-solutions.html\">Factory of the Future<\/a>\u201d vision, technology and real-time data are transforming how we manage inventory. Ready to experience it firsthand? Book a <a href=\"https:\/\/www.hashmicro.com\/free-product-tour\/\">free demo<\/a> with HashMicro today.<\/p>\n<table style=\"border-collapse: collapse; background-color: #fffacd; border-radius: 25px 25px 25px 25px;\" width=\"100%\">\n<tbody>\n<tr>\n<td style=\"padding: 15px; border: none;\">\n<h3 style=\"margin-bottom: 10px;\"><span style=\"background-color: #990000; color: #ffffff; padding: 5px;\"><b>Key Takeaways<\/b><\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\"><a href=\"#what-is-inventory-costing\">Inventory costing<\/a> determines the value of stock by including all related costs. It&#8217;s vital for pricing, cash flow, and profits, helping businesses maintain financial health.<\/li>\n<li style=\"font-weight: 400;\"><a href=\"#inventory-costing-methods\">Understanding methods<\/a> like FIFO, LIFO, and weighted average is crucial as each affects financial statements and profitability differently.<\/li>\n<li style=\"font-weight: 400;\"><a href=\"#inventory-costing-selecting\">Selecting the right inventory costing method<\/a> involves considering your business nature, sales patterns, and tax implications. Align it with your goals, it improved decision-making.<\/li>\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/inventory\">Inventory management software<\/a> with your costing method streamlines operations and ensures accurate cost tracking. It help optimize management, boost efficiency, and align with growth goals.<\/li>\n<\/ul>\n<p><style>\r\n.button-cta-custom {\r\n    background-color: #8a0e19;\r\n    color: #fff !important;\r\n    -webkit-transition: all .3s ease;\r\n    transition: all .3s ease;\r\n    padding: 8px 24px;\r\n    display: inline-block;\r\n    border-radius: 8px;\r\n    font-size: 16px;\r\n    font-weight: bold;\r\n}\r\n.button-cta-custom:hover{\r\n\tbackground-color:#991b26\t\t\r\n}\r\n<\/style>\r\n<a class=\"button-cta-custom\" href=\"https:\/\/www.hashmicro.com\/free-product-tour\/?medium=cta-button\" target=\"_blank\">Click Here to Get Free Demo<\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span id=\"what-is-inventory-costing\"><a href=\"https:\/\/www.hashmicro.com\/free-product-tour\/?medium=free-product-tour\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" width=\"712\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/11\/Free-Product-Tour-resized.webp\" alt=\"Free Demo\"><\/a><!-- <div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tTable of Content:\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div> -->\r\n\r\n<!-- <div class=\"dropdown-fixed-top\" id=\"dropdown-fixed-top\">\r\n\t<div class=\"row\">\r\n\t\t<p id=\"pilihDaftarIsi\">Table of Content<\/p>\r\n\t\t<p><i class=\"td-icon-menu-down\"><\/i><\/p>\r\n\t<\/div>\r\n\t\r\n\t<div>\r\n\t\t<ul id=\"list_toc_top\" class='list_toc'><\/ul>\r\n\t<\/div>\r\n<\/div> -->\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Table of Content<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\t@media (max-width: 992px) {\r\n\t\t#toc_group_article {\r\n\t\t\tpadding-top: 24px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc_float {\r\n\t\tmax-height: calc(100vh - 250px);\r\n\t\toverflow-y: auto;\r\n\t}\r\n\t\r\n\t#list_toc_top {\r\n\t\tdisplay: none;\r\n\t\tbackground: #fff;\r\n\t\tmargin-bottom: 4px;\r\n\t}\r\n\t\r\n\t#list_toc_top li {\r\n\t\tdisplay: block;\r\n\t\tmargin-left: 0;\r\n\t\tlist-style: none;\r\n\t}\r\n\t\r\n\t#list_toc_top a {\r\n\t\tpadding: 5px;\r\n\t\tdisplay: block;\r\n\t}\r\n\t\r\n\t#list_toc_top.show {\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n\t#list_toc_top a {\r\n\t\tcolor: #434343;\r\n\t\tborder-bottom: 1px solid #bbb;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top {\r\n\t\tposition: fixed;\r\n\t\ttop: 59px;\r\n\t\twidth: 100%;\r\n\t\tz-index: 99;\r\n\t\tborder-bottom: 2px solid #9c171e;\r\n\t\tpadding: 12px;\r\n\t\tbackground: #fff;\r\n\t\twidth: 100%;\r\n\t\tcursor: pointer;\r\n\t\tdisplay: none;\r\n\t\tleft: 0;\r\n\t\tbox-shadow: 0 -2px 7px 6px rgba(0, 0, 0, 0.17);\r\n\t}\r\n\t\r\n\t#dropdown-fixed-top.show {\r\n\t\tanimation: showAnim 0.5s ease;\r\n\t\tdisplay: block;\r\n\t\topacity: 1;\r\n\t}\r\n\t\r\n\t@keyframes showAnim {\r\n\t\tfrom {\r\n\t\t\tdisplay: none;\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\tto {\r\n\t\t\tdisplay: block;\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top #list_toc_top {\r\n\t\tmax-height: calc(50vh - 110px);\r\n\t\toverflow-y: scroll;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row p {\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\t\r\n\t#pilihDaftarIsi {\r\n\t\tmax-width: 100%;\r\n\t\toverflow: hidden;\r\n\t\twhite-space: nowrap;\r\n\t}\r\n\t\r\n\t@media (min-width: 1018px) {\r\n\t\t.dropdown-fixed-top {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_top li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor: #000;\r\n\t\tmargin-bottom: 6px;\r\n\t\tpadding-top: 2px;\r\n\t\tpadding-bottom: 2px;\r\n\t\ttransition: all 0.2s ease-in-out;\r\n\t\tfont-size: 15px;\r\n\t\tline-height: 18px;\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\r\n<\/style>\r\n\r\n<!-- ToC styling  -->\r\n<style>\r\n\t\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 700;\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\tconst panel2 = document.querySelector(\"#toc .list\");\r\n\tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n  let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n  \/\/ Function to handle scroll and add\/remove .sticky class\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Highlight user progress as the heading comes\r\n    headers.forEach(header => {\r\n\t\tconst headerTop = header.offsetTop;\r\n\t\tconst headerHeight = header.clientHeight;\r\n\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\t\t\ttocTitle.textContent = currentHeaderText;\r\n\t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\ttocTitle.textContent = 'Table of Content';\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader != '') {\r\n\t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\t\t\t  link.classList.add('active');\r\n\t\t  }\r\n\t  }\r\n    });\r\n\/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/         toc.style.display = 'block';\r\n\/\/ \t}else{\r\n\/\/         toc.style.display = 'none';\r\n\/\/ \t}\r\n    \/\/ Update TOC title if sticky\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n        toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n        toc.style.backgroundColor = \"#FFF\";\r\n\t\tpanel2.style.height = '0px';\r\n\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t  if(window.innerWidth < 767){\r\n\/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\t\t\t  tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n       \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\t\t  }\r\n      }\r\n      if (currentHeader) {\r\n\/\/         console.log(\"activeLink:\", activeLink);\r\n        if (activeLink) {\r\n\/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n          tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n        }\r\n      }\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset'; \/\/ Reset to original width\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n\t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\t\ticon.style.transform = \"rotate(180deg)\";\r\n    }\r\n  }\r\n\r\n    \/\/ Attach the scroll event listener to the window\r\n    window.addEventListener('scroll', handleScroll);\r\n\r\n    \/\/ Initial call to handleScroll to set the correct state on load\r\n    handleScroll();\r\n});\r\n\t\r\n\t\/\/ Open toggle TOC\r\n\t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\t\tvar toc = document.querySelector(\"#toc\");\r\n\t\tvar icon = document.querySelector(\".toc-icon\");\r\n\t\tconst tocTitle = document.querySelector('#toc-title');\r\n\t\tconst tocs = document.querySelector('#toc.sticky');\r\n \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\t\t  tocHeader.addEventListener(\"click\", function() {\r\n\t\t\tvar panel = this.nextElementSibling;\r\n\t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\t\t\t\tif(window.innerWidth > 768){\r\n\t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\t\t\t\t}\r\n\t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\t\t\t} else {\r\n\t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t  tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n\t\t\t\ttoc.style.paddingBottom = '24px';\r\n\t\t\t \tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t  });\r\n\r\n\t\t  \/\/ Close TOC when a link inside it is clicked\r\n\t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\t\t  tocLinks.forEach(function(link) {\r\n\t\t\tlink.addEventListener(\"click\", function() {\r\n\t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t});\r\n\t\t  });\r\n\t\t});\r\n\r\n\r\n\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/ \/\/ \t\t\tconsole.log(\"prevent default\");\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<!-- START script lama -->\r\n<!-- <script>\r\n\/\/ \tvar pilihDaftarIsi = document.getElementById('pilihDaftarIsi');\r\n\t\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/ \t\tvar dropdownFixedTop = document.querySelector('.dropdown-fixed-top');\r\n\r\n\/\/ \t\tdropdownFixedTop.addEventListener('click', function() {\r\n\/\/ \t\t\tvar dropdownContent = this.querySelector('.list_toc');\r\n\/\/ \t\t\tdropdownContent.classList.toggle('show');\r\n\/\/ \t\t});\r\n\r\n\/\/ \t\twindow.addEventListener('click', function(event) {\r\n\/\/ \t\t\tvar listTocTop = document.getElementById('list_toc_top');\r\n\r\n\/\/ \t\t\tif (!dropdownFixedTop.contains(event.target)) {\r\n\/\/ \t\t\t\tlistTocTop.classList.remove('show');\r\n\/\/ \t\t\t}\r\n\/\/ \t\t});\r\n\/\/ \t});\r\n\t\r\n\/\/ \tvar daftarIsiContainer = document.getElementById('toc_group_article');\r\n\/\/ \tvar dropdownFixedTop = document.getElementById('dropdown-fixed-top');\r\n\/\/     var triggered = false; \/\/ Flag to keep track of whether the function has been triggered\r\n\r\n\/\/     window.addEventListener('scroll', function() {\r\n\/\/         if (!triggered && isCompletelyScrolledPast(daftarIsiContainer)) {\r\n\/\/             showSectionDropdownFixedTop(false);\r\n\/\/             triggered = true;\r\n\/\/         } else if (triggered && !isCompletelyScrolledPast(daftarIsiContainer)) {\r\n\/\/             showSectionDropdownFixedTop(true);\r\n\/\/             triggered = false;\r\n\/\/         }\r\n\/\/     });\r\n\r\n\/\/     function isCompletelyScrolledPast(element) {\r\n\/\/         var elementTop = element.getBoundingClientRect().top;\r\n\/\/         var elementBottom = element.getBoundingClientRect().bottom;\r\n\/\/         return elementTop < 0 && elementBottom < 0;\r\n\/\/     }\r\n\r\n\/\/     function showSectionDropdownFixedTop(show) {\r\n\/\/ \t\tif (show) {\r\n\/\/ \t\t\tdropdownFixedTop.classList.remove(\"show\");\r\n\/\/ \t\t} else {\r\n\/\/ \t\t\tdropdownFixedTop.classList.add(\"show\");\r\n\/\/ \t\t}\r\n\/\/     }\r\n<\/script> -->\r\n<!-- <script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n\t\t  pilihDaftarIsi.innerHTML = a.textContent;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float', 'list_toc_top']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script> -->\r\n<!-- END script lama -->\r\n\t\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\t\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!--  <script>\r\n\tdocument.addEventListener(\"DOMContentLoaded\", function() {\r\nToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\"\r\n        Fungsi untuk mengubah teks menjadi format id\r\n        function formatId(text) {\r\n            return text.trim().replace(\/[^\\w\\d]+\/g, '_');\r\n        }\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        const elements = document.querySelectorAll('.td-post-content h2');\r\n\t\t\t\/\/, .td-post-content h3\r\n\r\n        elements.forEach(element => {\r\n            if (element.tagName === 'H2') {\r\n                const id = formatId(element.textContent);\r\n                element.id = id;\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Kalau Key Takeaways, jangan dimasukin\r\n                headings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n            } else if (element.tagName === 'H3') {\r\n                const id = formatId(element.textContent);\r\n                element.id = id;\r\n                if (headings.length > 0) {\r\n                    headings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n                }\r\n            }\r\n        });\r\n\r\n        \/\/ Membuat list HTML dari objek headings\r\n        const ul = document.getElementById('list_toc');\r\n        let currentUl = ul;\r\n        headings.forEach(heading => {\r\n            const li = document.createElement('li');\r\n            const a = document.createElement('a');\r\n            a.textContent = heading.title;\r\n            a.href = `#${heading.id}`;\r\n            li.appendChild(a);\r\n\r\n            if (heading.level === 'h2') {\r\n                \/\/ Menyimpan ul saat ini untuk menambahkan nested ul\r\n                currentUl = li;\r\n                ul.appendChild(li);\r\n            } else if (heading.level === 'h3') {\r\n                if (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n                    \/\/ Jika belum ada nested ul, buat satu\r\n                    const nestedUl = document.createElement('ul');\r\n                    currentUl.appendChild(nestedUl);\r\n                    currentUl = nestedUl;\r\n                }\r\n                currentUl.appendChild(li);\r\n            }\r\n\r\n            createNestedList(li, heading.children);\r\n        });\r\n\t\tDapatkan elemen ul dengan id 'list_toc_float'\r\nconst ulFloat = document.getElementById('list_toc');\r\nconst ulJourney = document.getElementById('list_journey');\r\n\r\nDapatkan isi (child elements) dari ul dengan id 'list_toc_float'\r\n\tif (ulFloat !== null) {\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\t\tconst ulTocTop = document.getElementById('list_toc_top');\r\n\t\tif ((ulToc !== null || ulToc !== undefined) && window.innerWidth > 1018){\r\n\t\t\tulToc.append(...clonedChildren);\r\n\t\t} else {\r\n\t\t\tulTocTop.append(...clonedChildren);\r\n\t\t}\r\n\t} \r\n\r\n\tif (ulJourney !== null) {\r\n\t\tconst clonedChildrenJourney = ulJourney.cloneNode(true).children;\r\n\t\tconst ulTocJourney = document.getElementById('list_toc_journey');\r\n\t\tulTocJourney.append(...clonedChildrenJourney);\r\n\t} \r\n\t\r\n        Fungsi untuk mengambil tinggi navbar\r\n        function getNavbarHeight() {\r\n            const navbar = document.getElementById('tdi_34');\r\n            return navbar ? navbar.offsetHeight : 0;\r\n        }\r\n\r\n        \/\/ Fungsi untuk menambahkan offset posisi scroll\r\n        function scrollToElementWithOffset(elementId) {\r\n            const element = document.getElementById(elementId);\r\n            if (element) {\r\n                const offset = getNavbarHeight();\r\n                const elementPosition = element.getBoundingClientRect().top;\r\n                const offsetPosition = elementPosition - offset-40;\r\n\r\n                window.scrollBy({\r\n                    top: offsetPosition,\r\n                    behavior: 'smooth'\r\n                });\r\n            }\r\n        }\r\n\r\n        \/\/ Fungsi untuk menangani klik pada tautan judul\r\n        function handleTitleClick(event) {\r\n            event.preventDefault();\r\n            const href = event.target.getAttribute('href').substr(1);\r\n            scrollToElementWithOffset(href);\r\n        }\r\n\r\n        \/\/ Tambahkan event listener untuk semua tautan judul\r\n        const titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n        titleLinks.forEach(link => {\r\n            link.addEventListener('click', handleTitleClick);\r\n        });\r\n\t});\r\n    <\/script> -->\r\n<\/span><\/p>\n<h2><strong>What is Inventory Costing?<\/strong><\/h2>\n<p>Inventory costing is the process of assigning a monetary value to a company\u2019s stock based on the cost of acquiring or producing it, including all expenses needed to make it ready for sale.<\/p>\n<p>Properly tracking these costs is crucial for a company\u2019s financial health, as it directly impacts the calculation of profits, the management of taxes, and the overall financial reporting.<\/p>\n<p>The costs assigned to inventory directly impact the cost of goods sold (COGS), which companies deduct from revenue to calculate gross profit. Gross profit, in turn, influences decisions related to pricing, budgeting, and planning.<\/p>\n<h2><strong>Why Inventory Costing Matters for Your Business<\/strong><\/h2>\n<p>Accurate inventory costing is not just a matter of bookkeeping; it\u2019s a strategic tool that can influence your business\u2019s success or failure. When inventory costs are appropriately tracked and managed, businesses can:<\/p>\n<ul>\n<li><strong>Set competitive prices:<\/strong> Understanding the actual cost of inventory allows companies to set prices that cover their expenses while remaining competitive in the market.<\/li>\n<li><strong>Avoid stockouts and overstocking:<\/strong> Proper inventory costing helps businesses maintain optimal inventory levels, reducing the risk of stockouts that can lead to lost sales or overstock situations that tie up capital.<\/li>\n<li><strong>Improve cash flow:<\/strong> By accurately tracking inventory costs, businesses can better manage their cash flow, ensuring they have enough liquidity to cover operating expenses and invest in growth opportunities.<\/li>\n<li><strong>Enhance decision-making:<\/strong> With accurate data on inventory costs, businesses can make more informed decisions about purchasing, production, and sales strategies.<\/li>\n<\/ul>\n<p><span id=\"inventory-methods\">Ultimately, effective inventory costing helps businesses maintain financial stability, improve profitability, and achieve long-term success.<\/span><\/p>\n<h2><strong>Understanding Inventory Costing Methods<\/strong><\/h2>\n<p>Now that we understand the importance of inventory costing, let\u2019s explore the different methods used to calculate these costs. Each method has its advantages and disadvantages, and the choice of method can have a significant impact on your financial statements.<\/p>\n<h3><strong>1. First-In, First-Out (FIFO) method<\/strong><\/h3>\n<p>The FIFO method, or &#8216;First-In, First-Out,&#8217; assumes that businesses sell the first items added to inventory first. This approach aligns with the natural flow of goods in many industries, such as retail and food services.<\/p>\n<p>With FIFO, businesses use the oldest inventory costs to calculate COGS while applying the most recent purchase costs to ending inventory. This method is beneficial in times of inflation, as it matches older, often lower costs with current sales, resulting in higher reported profits.<\/p>\n<h4>Example calculation of FIFO<\/h4>\n<p>Suppose a company purchased 100 units at $10 each in January, and then another 100 units at $12 each in February. Under the FIFO method, if the company sells 100 units in March, the cost of goods sold (COGS) would be calculated using the $10 per unit cost from the January purchase.<\/p>\n<p>The remaining inventory would be valued at the more recent $12 per unit cost from the February purchase. This approach ensures that the inventory valuation on the balance sheet reflects more current market prices, which can be particularly advantageous in industries.<\/p>\n<h3><strong>2. Last-In, First-Out (LIFO) method<\/strong><\/h3>\n<p>The LIFO method, or &#8220;Last-In, First-Out,&#8221; operates on the assumption that the most recently acquired items are the first to be sold. This method is less intuitive than FIFO but can be beneficial in specific situations.<\/p>\n<p>Under LIFO, businesses use the most recent inventory costs to calculate COGS, which can reduce taxable income during inflation. By matching higher recent purchase costs against current revenues, businesses report lower profits.<\/p>\n<p>However, LIFO can also lead to lower inventory valuations on the balance sheet, which may not accurately reflect the current market value of the inventory.<\/p>\n<h4>Example calculation of LIFO<\/h4>\n<p>Using the same example as above, under the LIFO method, if the company sells 100 units in March, the COGS would be calculated using the $12 per unit cost from the February purchase. The older inventory, valued at $10 per unit from the January purchase, would remain in stock.<\/p>\n<p>This approach can be advantageous for businesses looking to minimize their tax liability during rising costs. Still, it may also result in a lower inventory valuation on financial statements.<\/p>\n<h3><strong>3. Weighted average cost method<\/strong><\/h3>\n<p>The <a href=\"https:\/\/www.hashmicro.com\/blog\/weighted-average\/\">weighted average<\/a> cost method blends the costs of all inventory items to calculate an average price per unit. This method is beneficial in industries where inventory items are indistinguishable from one another, such as in producing raw materials or components.<\/p>\n<p>Under this method, each time a new batch of inventory is added, the average <a href=\"https:\/\/www.hashmicro.com\/blog\/cost-per-unit-definition-formula-and-tips-to-reduce-cost\/\">cost per unit<\/a> is recalculated, smoothing out price fluctuations over time. This provides a more consistent and stable inventory valuation, which can simplify financial reporting.<\/p>\n<h4>Example calculation of weighted average<\/h4>\n<p>Let\u2019s continue with the previous example. If the company purchased 200 units total\u2014100 at $10 each and 100 at $12 each\u2014the weighted average cost per unit would be calculated as follows:<\/p>\n<p>The $11 per unit cost would then be applied to both COGS and ending inventory, providing a consistent approach to inventory valuation that smooths out the impact of price fluctuations.<\/p>\n<h3><strong>4. Specific identification method<\/strong><\/h3>\n<p>The specific identification method assigns a particular cost to each item in inventory. This method is typically used for high-value or unique items, such as custom-made goods, where it\u2019s essential to track the exact cost of each piece.<\/p>\n<p>This method offers precise inventory valuation, as each item\u2019s cost is known and recorded, allowing for detailed tracking of profits and losses associated with each sale. However, it can be more labor-intensive and may not be practical for businesses.<\/p>\n<h4>Example calculation of specific identification<\/h4>\n<p>For instance, a jewelry store might use a specific identification method to track the cost of each unique piece of jewelry. Suppose the store sells a ring that costs $500 to produce. The exact $500 price would be recorded as COGS when the ring is sold, ensuring an accurate profit calculation.<\/p>\n<p>This method is ideal for businesses dealing with high-value, low-volume inventory where precision is crucial.<\/p>\n<h2><strong>Alternative Inventory Costing Methods<\/strong><\/h2>\n<p>Beyond theprimaryn methods, there are also alternative inventory costing methods that businesses might consider. These methods are less commonly used but offer unique advantages in certain situations.<\/p>\n<h3><strong>1. Highest In, First Out (HIFO)<\/strong><\/h3>\n<p>HIFO, or &#8220;Highest In, First Out,&#8221; assumes that businesses prioritize selling the highest-cost items first. While rarely implemented, this method can be beneficial in industries aiming to reduce reported profits during periods of high inflation.<\/p>\n<p>For example, if a company has inventory purchased at different prices, using the HIFO method would mean selling the most expensive items first, thereby reducing taxable income. This can be useful for businesses looking to defer taxes.<\/p>\n<h3><strong>2. Lowest In, First Out (LOFO)<\/strong><\/h3>\n<p>Conversely, LOFO, or Lowest In, First Out, assumes that businesses sell the lowest-cost items first. Companies might use this method to report higher profits by matching lower costs with current revenues.<\/p>\n<p>For instance, if a company wants to maximize its profits for a particular financial period, it might use LOFO to match older, lower-cost inventory with current sales. This can lead to higher reported profits but may also result in higher taxes.<\/p>\n<h3><strong>3. First-Expired, First-Out (FEFO)<\/strong><\/h3>\n<p>FEFO, or &#8220;First-Expired, First-Out,&#8221; is particularly relevant in industries where product expiration dates are critical, such as food, pharmaceuticals, or any business dealing with perishable goods.<\/p>\n<p>This method ensures that items with the closest expiration dates are sold first, reducing waste and ensuring that products are sold before they become unsellable. For example, a grocery store might use FEFO to manage its stock of perishable items.<\/p>\n<h2><strong>Inventory Cost Flow Assumptions<\/strong><\/h2>\n<p>The methods we&#8217;ve discussed are based on certain assumptions about the flow of goods through inventory, which can significantly impact your financial statements.<\/p>\n<h3><strong>How inventory cost flow assumptions impact financial statements<\/strong><\/h3>\n<p>Inventory cost flow assumptions, such as those underlying FIFO, LIFO, and the other methods we&#8217;ve discussed, affect the valuation of both ending inventory and COGS. These valuations, in turn, influence key financial metrics like gross profit.<\/p>\n<p>For example, during periods of inflation, FIFO generally results in higher ending inventory values and lower COGS, leading to higher reported profits. In contrast, LIFO tends to result in lower ending inventory values and higher COGS, reducing taxable income.<\/p>\n<h3><strong>Primary inventory costing methods vs. alternative methods<\/strong><\/h3>\n<p>While FIFO, LIFO, and weighted average cost are the most commonly used methods, alternative methods like HIFO, LOFO, and FEFO can offer specific benefits depending on your business model and market conditions.<\/p>\n<p>Comparing these methods helps businesses choose the best approach for their needs, balancing accuracy, tax implications, and operational efficiency.<\/p>\n<h3><strong>Inventory valuation adjustments and estimates<\/strong><\/h3>\n<p>In addition to choosing a costing method, businesses may need to make adjustments or estimates when valuing inventory. For example, companies might need to write down obsolete stock or estimate the market value of inventory if it has declined.<\/p>\n<p>These adjustments ensure that financial statements accurately reflect the actual value of inventory, which is essential for maintaining investor confidence and complying with standardized accounting.<\/p>\n<h2><strong>Inventory Costing and Business Impact<\/strong><\/h2>\n<p>The choice of inventory costing method has a direct impact on a business&#8217;s financial health and operational efficiency. Understanding these impacts can help companies to make better decisions about how to manage their inventory.<\/p>\n<h3><strong>Cost of Goods Sold (COGS) vs. Inventory Costs<\/strong><\/h3>\n<p>COGS represents the direct costs businesses incur to produce goods they have sold during a specific period. This figure is crucial for calculating gross profit, as businesses subtract it from total revenue to determine the remaining profit after covering production costs.<\/p>\n<p>The method used to calculate COGS has a direct impact on this figure and, consequently, on a company\u2019s profitability.<\/p>\n<h4><strong>Impact on profit margins<\/strong><\/h4>\n<p>The inventory costing method you choose directly affects your profit margins. For example, using FIFO during times of rising costs will generally lead to lower COGS and higher gross profit, which can be beneficial for companies looking to show strong financial performance.<\/p>\n<p>Conversely, LIFO may result in higher COGS and lower gross profit, which could reduce tax liabilities but also make the company appear less profitable.<\/p>\n<h3><strong>Inventory holding costs<\/strong><\/h3>\n<p>Inventory holding costs, also known as carrying costs, include all expenses related to storing unsold goods. These costs can consist of warehousing fees, insurance, spoilage, depreciation, and opportunity costs of tied-up capital.<\/p>\n<p>Calculating these costs accurately is essential for understanding the actual cost of maintaining inventory and for identifying opportunities to reduce expenses.<\/p>\n<h4><strong>Reducing inventory holding costs for better profitability<\/strong><\/h4>\n<p><span id=\"inventory-costing-selecting\">Reducing inventory holding costs can significantly improve a company\u2019s profitability by freeing up cash flow and reducing waste. Strategies for reducing these costs include implementing just-in-time inventory systems and optimizing warehouse space. <\/span><\/p>\n<p><span id=\"inventory-costing-selecting\">By managing inventory more efficiently, businesses can lower their carrying costs, which directly contributes to higher profit margins.<\/span><\/p>\n<h2><strong>Choosing the Right Inventory Costing Method for Your Business<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-61927 size-full\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing-management.webp\" alt=\"inventory costing management\" width=\"1200\" height=\"650\" srcset=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing-management.webp 1200w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing-management-300x163.webp 300w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing-management-1024x555.webp 1024w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing-management-768x416.webp 768w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing-management-775x420.webp 775w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing-management-150x81.webp 150w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing-management-696x377.webp 696w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing-management-1068x580.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>Selecting the best inventory costing method for your business depends on various factors that are unique to each company. It\u2019s essential to consider these factors carefully to make an informed decision.<\/p>\n<ol>\n<li><strong>Nature of your business: <\/strong>Choose a costing method that matches your products. FIFO or FEFO suits perishable goods, while LIFO or weighted average works better for non-perishables.<\/li>\n<li><strong>Sales and purchasing patterns:<\/strong>\u00a0Seasonal businesses may adjust costing methods during peak and off-peak periods, while steady sales benefit from consistent methods like weighted average.<\/li>\n<li><strong>Tax implications:<\/strong> LIFO can lower taxable income during inflation, while FIFO may raise taxes but increase reported profits. Always consult a tax professional.<\/li>\n<li><strong>Aligning inventory costing with business strategy:<\/strong> Select a method that supports your goals\u2014lower COGS for higher profits or consistent reporting with weighted average costing.<\/li>\n<li><strong>Avoid common mistakes:<\/strong> Don\u2019t ignore inflation effects or switch methods too often, as this can cause reporting inconsistencies and tax issues.<\/li>\n<li><strong data-start=\"1994\" data-end=\"2039\">Leverage Cloud-Based Inventory Management:<\/strong> Use <a href=\"https:\/\/www.hashmicro.com\/blog\/cloud-based-inventory\/\">cloud based inventory<\/a> cloud systems to monitor stock in real time, automate costing, and ensure accurate, efficient financial tracking.<\/li>\n<\/ol>\n<p><em class=\"review-quote\">&#8220;Choosing the right inventory costing method isn\u2019t just about accounting accuracy, it\u2019s about aligning your financial strategy with how your business truly operates.&#8221;<\/em><\/p>\n<p><strong>&#8211; Angela Tan,\u00a0<\/strong>Regional Manager<\/p>\n<h2><strong>Leveraging Technology for Accurate Inventory Costing<\/strong><\/h2>\n<p>In today&#8217;s rapidly evolving business landscape, relying on outdated methods for inventory costing is a risk you can\u2019t afford to take. Without <a href=\"https:\/\/www.hashmicro.com\/blog\/inventory-management-software-singapore\/\">inventory management software<\/a>, you&#8217;re gambling with errors, financial losses, and missed opportunities. The precision of real-time tracking and automated cost calculations isn\u2019t just helpful\u2014it\u2019s critical.<\/p>\n<p><span id=\"hashmicro-inventory\">Every day without this technology puts your business at a disadvantage, risking inaccurate financials and poor decision-making. Don\u2019t wait until it\u2019s too late\u2014implement inventory software now to protect your bottom line and stay ahead of the competition. The time to act is now.<\/span><\/p>\n<h2><strong>Integrating Inventory Costing Methods with HashMicro\u2019s Inventory Software<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-61910 size-full\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/Software-Inventory.webp\" alt=\"Software Inventory hashmicro\" width=\"1470\" height=\"900\" srcset=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/Software-Inventory.webp 1470w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/Software-Inventory-300x184.webp 300w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/Software-Inventory-1024x627.webp 1024w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/Software-Inventory-768x470.webp 768w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/Software-Inventory-686x420.webp 686w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/Software-Inventory-150x92.webp 150w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/Software-Inventory-696x426.webp 696w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/Software-Inventory-1068x654.webp 1068w\" sizes=\"auto, (max-width: 1470px) 100vw, 1470px\" \/><\/p>\n<p>Integrating your inventory costing method with management software streamlines operations, ensures accurate cost tracking, and enhances forecasting, inventory turnover, and resource efficiency. With real-time analytics and IoT integration, businesses can optimize decision-making and maintain precise financial records.<\/p>\n<p>HashMicro\u2019s Inventory Management Software is designed to help Singaporean businesses improve efficiency, reduce costs, and scale operations. Its customizable features align with your specific goals, driving growth, profitability, and a competitive edge in the market.<\/p>\n<p>Here\u2019s how HashMicro can elevate your inventory management process:<\/p>\n<ul>\n<li><strong>Real-Time Inventory Insights:<\/strong> Get instant updates on key inventory metrics like turnover rates, stock levels, and order cycle times, ensuring you have the data needed to make informed decisions quickly.<\/li>\n<li><strong>Seamless Multi-Location Management:<\/strong> Effortlessly manage inventory across multiple warehouses or outlets, providing consistent tracking and reporting, regardless of where your stock is stored.<\/li>\n<li><strong>Automated Reordering System:<\/strong> Set automated reorder points based on your specific metrics, such as stock-to-sales ratio and lead time, to maintain optimal inventory levels without manual oversight.<\/li>\n<li><strong>Customizable Reporting:<\/strong> Generate detailed reports aligned with your chosen KPIs, giving you clear insights into inventory performance, cost efficiency, and overall business impact.<\/li>\n<li><strong>Scalability for All Business Sizes:<\/strong> Whether you&#8217;re a small business or a large enterprise, HashMicro\u2019s software adapts to your needs, allowing you to manage inventory efficiently as your business grows.<\/li>\n<\/ul>\n<p>Ready to take your inventory management to the next level? Explore HashMicro\u2019s solutions today.<\/p>\n<h3><strong>Conclusion<\/strong><\/h3>\n<p>Effective inventory costing is key to making informed financial decisions that directly impact profitability and operational efficiency. By choosing the correct method, whether FIFO, LIFO, or another approach\u2014you can optimize cost management, improve profit margins, and maintain accurate financial records.<\/p>\n<p>Beyond selecting a method, leveraging technology is crucial for streamlining inventory processes. <strong>HashMicro\u2019s Inventory Management Software<\/strong> offers advanced automation, real-time insights, and precise cost tracking to enhance efficiency and financial accuracy. With customizable features, it adapts to your business needs, ensuring smarter, data-driven decisions.<\/p>\n<p>In today\u2019s competitive landscape, staying ahead requires strategic tools that improve cash flow and financial stability. Integrating HashMicro\u2019s software empowers your business for long-term growth. Take the first step in optimizing your inventory management, sign up for a <a href=\"https:\/\/www.hashmicro.com\/free-product-tour\/\">free demo<\/a> today.<\/p>\n<a href=\"https:\/\/www.hashmicro.com\/inventory?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" width=\"712\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Inventory.webp\" alt=\"Inventory Management\"><\/a>\n<h3><strong>FAQ About Inventory Costing<\/strong><\/h3>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>What is actual inventory counting?<\/strong><\/summary>\n<p>Actual inventory counting is the physical process of manually counting all items in stock to verify the recorded inventory levels. It ensures accuracy by comparing the physical count with the inventory records.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>How do you keep your inventory count?<\/strong><\/summary>\n<p>To keep inventory counts accurate, businesses use regular methods like cycle counting, where portions of inventory are counted on a rotating schedule, or full physical counts, typically done annually. Using inventory management software also helps track and update stock levels in real-time.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What is the rule of inventory?<\/strong><\/summary>\n<p>The rule of inventory typically involves maintaining accurate records, regularly counting stock, and ensuring proper storage to avoid losses. It also includes principles like FIFO (First-In, First-Out) to manage inventory flow and reduce waste.<\/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\": \"What is actual inventory counting?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Actual inventory counting is the physical process of manually counting all items in stock to verify the recorded inventory levels. It ensures accuracy by comparing the physical count with the inventory records.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"How do you keep your inventory count?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"To keep inventory counts accurate, businesses use regular methods like cycle counting, where portions of inventory are counted on a rotating schedule, or full physical counts, typically done annually. Using inventory management software also helps track and update stock levels in real-time.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"What is the rule of inventory?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"The rule of inventory typically involves maintaining accurate records, regularly counting stock, and ensuring proper storage to avoid losses. It also includes principles like FIFO (First-In, First-Out) to manage inventory flow and reduce waste.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Inventory costing is one of the most critical factors that can make or break your company\u2019s bottom line. I\u2019ve seen how inaccurate cost allocation can send expenses spiraling out of control and disrupt an entire business. But here\u2019s the good news, in this article, I\u2019ll guide you through why mastering inventory costing matters, the key [&hellip;]<\/p>\n","protected":false},"author":16,"featured_media":61926,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[88],"tags":[],"class_list":{"0":"post-61919","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>What is Inventory Casting? Method and How to Get It Right<\/title>\n<meta name=\"description\" content=\"Inventory costing determines the total cost of stock, including purchase price, shipping, handling, and preparation for sale.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is Inventory Casting? Method and How to Get It Right\" \/>\n<meta property=\"og:description\" content=\"Inventory costing determines the total cost of stock, including purchase price, shipping, handling, and preparation for sale.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/\" \/>\n<meta property=\"og:site_name\" content=\"BusinessTech\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/web.facebook.com\/hashmicro\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-08-30T08:15:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-10-21T04:19:47+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing.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=\"Anatha Ginting\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hashmicro\" \/>\n<meta name=\"twitter:site\" content=\"@hashmicro\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Anatha Ginting\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/\"},\"author\":{\"name\":\"Anatha Ginting\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/fd6a863bec7b351016c5ae3ec08948a6\"},\"headline\":\"What is Inventory Casting? Method and How to Get It Right\",\"datePublished\":\"2024-08-30T08:15:03+00:00\",\"dateModified\":\"2025-10-21T04:19:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/\"},\"wordCount\":2795,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing.webp\",\"articleSection\":[\"Inventory\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/\",\"name\":\"What is Inventory Casting? Method and How to Get It Right\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing.webp\",\"datePublished\":\"2024-08-30T08:15:03+00:00\",\"dateModified\":\"2025-10-21T04:19:47+00:00\",\"description\":\"Inventory costing determines the total cost of stock, including purchase price, shipping, handling, and preparation for sale.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing.webp\",\"width\":1200,\"height\":650,\"caption\":\"inventory costing\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What is Inventory Casting? Method and How to Get It Right\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/\",\"name\":\"BusinessTech\",\"description\":\"Business Management Blog\",\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#organization\",\"name\":\"HashMicro\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2016\/02\/bt_logo-1.png\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2016\/02\/bt_logo-1.png\",\"width\":334,\"height\":51,\"caption\":\"HashMicro\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/web.facebook.com\/hashmicro\/\",\"https:\/\/x.com\/hashmicro\",\"https:\/\/www.linkedin.com\/company\/hashmicro\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/fd6a863bec7b351016c5ae3ec08948a6\",\"name\":\"Anatha Ginting\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/01a5baa16cb50808f3b9f5bf1e75940409ab0912a720fcd78e68157b9e1d31e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/01a5baa16cb50808f3b9f5bf1e75940409ab0912a720fcd78e68157b9e1d31e3?s=96&d=mm&r=g\",\"caption\":\"Anatha Ginting\"},\"description\":\"A full-time Content Writer at HashMicro. Strive to develop my writing skill and knowledge in terms of business, technology, and other relevant issues.\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/author\/anatha\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"What is Inventory Casting? Method and How to Get It Right","description":"Inventory costing determines the total cost of stock, including purchase price, shipping, handling, and preparation for sale.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/","og_locale":"en_US","og_type":"article","og_title":"What is Inventory Casting? Method and How to Get It Right","og_description":"Inventory costing determines the total cost of stock, including purchase price, shipping, handling, and preparation for sale.","og_url":"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/","og_site_name":"BusinessTech","article_publisher":"https:\/\/web.facebook.com\/hashmicro\/","article_published_time":"2024-08-30T08:15:03+00:00","article_modified_time":"2025-10-21T04:19:47+00:00","og_image":[{"width":1200,"height":650,"url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing.webp","type":"image\/webp"}],"author":"Anatha Ginting","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Written by":"Anatha Ginting","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/"},"author":{"name":"Anatha Ginting","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/fd6a863bec7b351016c5ae3ec08948a6"},"headline":"What is Inventory Casting? Method and How to Get It Right","datePublished":"2024-08-30T08:15:03+00:00","dateModified":"2025-10-21T04:19:47+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/"},"wordCount":2795,"publisher":{"@id":"https:\/\/www.hashmicro.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing.webp","articleSection":["Inventory"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/","url":"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/","name":"What is Inventory Casting? Method and How to Get It Right","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing.webp","datePublished":"2024-08-30T08:15:03+00:00","dateModified":"2025-10-21T04:19:47+00:00","description":"Inventory costing determines the total cost of stock, including purchase price, shipping, handling, and preparation for sale.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/blog\/inventory-costing\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/#primaryimage","url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing.webp","contentUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/08\/inventory-costing.webp","width":1200,"height":650,"caption":"inventory costing"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/blog\/inventory-costing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What is Inventory Casting? Method and How to Get It Right"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/blog\/#website","url":"https:\/\/www.hashmicro.com\/blog\/","name":"BusinessTech","description":"Business Management Blog","publisher":{"@id":"https:\/\/www.hashmicro.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hashmicro.com\/blog\/#organization","name":"HashMicro","url":"https:\/\/www.hashmicro.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2016\/02\/bt_logo-1.png","contentUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2016\/02\/bt_logo-1.png","width":334,"height":51,"caption":"HashMicro"},"image":{"@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/web.facebook.com\/hashmicro\/","https:\/\/x.com\/hashmicro","https:\/\/www.linkedin.com\/company\/hashmicro"]},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/fd6a863bec7b351016c5ae3ec08948a6","name":"Anatha Ginting","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/01a5baa16cb50808f3b9f5bf1e75940409ab0912a720fcd78e68157b9e1d31e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/01a5baa16cb50808f3b9f5bf1e75940409ab0912a720fcd78e68157b9e1d31e3?s=96&d=mm&r=g","caption":"Anatha Ginting"},"description":"A full-time Content Writer at HashMicro. Strive to develop my writing skill and knowledge in terms of business, technology, and other relevant issues.","url":"https:\/\/www.hashmicro.com\/blog\/author\/anatha\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts\/61919","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/comments?post=61919"}],"version-history":[{"count":13,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts\/61919\/revisions"}],"predecessor-version":[{"id":76295,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts\/61919\/revisions\/76295"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/media\/61926"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/media?parent=61919"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/categories?post=61919"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/tags?post=61919"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}