{"id":6936,"date":"2024-08-21T03:27:51","date_gmt":"2024-08-21T03:27:51","guid":{"rendered":"https:\/\/www.hashmicro.com\/ph\/blog\/?p=6936"},"modified":"2026-03-26T07:23:00","modified_gmt":"2026-03-26T07:23:00","slug":"stock-keeping-unit-sku","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/","title":{"rendered":"The Importance of Stock Keeping Units (SKUs) in Inventory and E-Commerce"},"content":{"rendered":"<p>Running a business is tough enough without losing track of your products. For Filipino businesses operating in a fast-paced market, poor<a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/inventory-control\/\"> inventory organization<\/a> leads to mislabeled stock, delayed fulfillment, and avoidable errors that quietly drain margins. A Stock Keeping Unit (SKU) addresses this by giving every product a unique, structured code that the entire operation can rely on.<\/p>\n<p>This article covers what SKUs are, how they are created, where they are used, and how they support better inventory decisions across retail and e-commerce operations.<\/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>A <a href=\"#what\">SKU<\/a> is a unique alphanumeric code that identifies and tracks each product in a business&#8217;s inventory based on attributes like size, color, and category, and unlike UPCs, it is fully customizable to each business&#8217;s internal needs.<\/li>\n<li><a href=\"#where\">SKUs are used<\/a> across inventory systems, warehouse shelves, product listings, shipping labels, price tags, receipts, and product packaging to keep operations accurate and organized at every stage.<\/li>\n<li><a href=\"#vs\">SKUs are internal codes<\/a> businesses create for their own tracking needs, while UPCs are standardized global codes that remain consistent across all retailers.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\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<h2><strong><span id=\"what\">What is a Stock Keeping Unit (SKU)?<\/span><\/strong><\/h2>\n<p><img decoding=\"async\" class=\"wp-image-22159 size-full aligncenter\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/what-is-sku.webp\" alt=\"what is sku\" width=\"1200\" height=\"650\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/what-is-sku.webp 1200w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/what-is-sku-300x163.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/what-is-sku-1024x555.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/what-is-sku-768x416.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/what-is-sku-775x420.webp 775w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/what-is-sku-150x81.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/what-is-sku-696x377.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/what-is-sku-1068x580.webp 1068w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p>A Stock Keeping Unit (SKU) is a unique alphanumeric code businesses use to identify and track each product in their inventory, typically reflecting attributes like brand, size, color, and category. For example, a retail store might assign &#8220;SHRT-BLU-M&#8221; to a blue medium-sized shirt.<\/p>\n<p>The significance of SKUs lies in their ability to help businesses monitor <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/inventory-levels\/\">stock levels<\/a>, sales performance, and replenishment needs. Unlike UPCs, SKUs are unique to each business, allowing for customization that aligns with specific internal tracking needs.<\/p>\n<h2><strong>The Importance of SKU in Inventory Management<\/strong><\/h2>\n<p>SKUs enable precise tracking and organization by allowing businesses to categorize products based on attributes like type, size, and color, leading to better inventory management across warehouses, store shelves, and multiple locations.<\/p>\n<p>Both large and small businesses benefit from SKUs as they simplify stock counting, order fulfillment, and restocking. <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/inventory-management-system\/\">Inventory management software<\/a> integrates seamlessly with SKU systems, offering real time stock insights and helping prevent overstocking or stockouts.<\/p>\n<h2><strong>How are SKUs Created?<\/strong><\/h2>\n<p>Effective SKUs are short, usually 8\u201312 characters, and descriptive enough to convey key product details without becoming hard to read. A retailer, for example, might use &#8220;JKT-BLK-L&#8221; to represent a large black jacket, making it immediately recognizable to anyone handling that item. Keeping a consistent format across all SKUs is crucial, especially as inventory grows and more people across the team rely on these codes daily.<\/p>\n<p>As product catalogs expand, managing SKUs manually becomes increasingly difficult to sustain. Inventory management software solves this by automating SKU generation through predefined templates based on attributes like type, color, or size. This keeps codes consistent,<a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/inventory-accuracy\/\"> reduces human error<\/a>, and ensures the system scales alongside the business without losing accuracy.<\/p>\n<h2><strong><span id=\"where\">Where are SKUs Used?<\/span><\/strong><\/h2>\n<p><img decoding=\"async\" class=\"alignnone wp-image-33636 size-full\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/ChatGPT-Image-26-Mar-2026-12.39.45-e1774504932564.webp\" alt=\"Where-are-SKUs-Used?\" width=\"1536\" height=\"876\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/ChatGPT-Image-26-Mar-2026-12.39.45-e1774504932564.webp 1536w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/ChatGPT-Image-26-Mar-2026-12.39.45-e1774504932564-300x171.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/ChatGPT-Image-26-Mar-2026-12.39.45-e1774504932564-1024x584.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/ChatGPT-Image-26-Mar-2026-12.39.45-e1774504932564-768x438.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/ChatGPT-Image-26-Mar-2026-12.39.45-e1774504932564-736x420.webp 736w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/ChatGPT-Image-26-Mar-2026-12.39.45-e1774504932564-150x86.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/ChatGPT-Image-26-Mar-2026-12.39.45-e1774504932564-696x397.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/ChatGPT-Image-26-Mar-2026-12.39.45-e1774504932564-1068x609.webp 1068w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><\/p>\n<p>SKUs are used across retail, manufacturing, logistics, and e-commerce to help staff locate items and ensure customers receive the correct products. Common places where SKUs appear include:<\/p>\n<ol>\n<li><strong>Inventory Management Systems:<\/strong> SKU numbers are stored in inventory management systems or point-of-sale (POS) systems, making it easier to track all products.<\/li>\n<li><strong>Warehouse Shelving:<\/strong> SKUs are often labeled on warehouse shelves to help staff quickly locate products during picking and packing.<\/li>\n<li><strong>Product Listings:<\/strong> On e-commerce platforms like Amazon and eBay, SKU numbers are included in product details to ensure customers receive the correct items from the <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/inventory-list-bir\/\">BIR inventory list<\/a>.<\/li>\n<li><strong>Shipping Labels:<\/strong> Many businesses include SKU numbers on shipping labels for easy identification and tracking of products during delivery.<\/li>\n<li><strong>Delivery Notes<\/strong>: SKUs are often <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/delivery-note\/\">listed on delivery notes<\/a> to provide clear reference to the products being shipped, helping ensure accurate order fulfillment.<\/li>\n<li><strong>Price Tags:<\/strong> Retailers often use SKU numbers on price tags, enabling staff to efficiently manage inventory and locate items in-store.<\/li>\n<li><strong>Receipts:<\/strong> When a product is sold, the receipt typically lists the SKU number alongside the product description.<\/li>\n<li><strong>Product Packaging:<\/strong> Manufacturers print SKU numbers on product packaging, usually on a label or directly on the packaging.<\/li>\n<\/ol>\n<p>Integrating SKUs with an inventory tracking system enhances accuracy and streamlines operations, especially for businesses with large product catalogs.<\/p>\n<h2><strong><span id=\"sku\">SKU vs. UPC: What\u2019s the Difference?<\/span><\/strong><\/h2>\n<p>Both SKUs and UPCs are used in inventory management, but they serve different purposes. Understanding the distinction helps businesses decide when to use each and how to manage both within the same system.<\/p>\n<figure id=\"attachment_30779\" aria-describedby=\"caption-attachment-30779\" style=\"width: 472px\" class=\"wp-caption aligncenter\"><img decoding=\"async\" class=\"wp-image-30779 \" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2022\/12\/Stock-Keeping-Units-vs-Universal-Product-Codes.png\" alt=\"Stock Keeping Units vs Universal Product Codes\" width=\"472\" height=\"236\" \/><figcaption id=\"caption-attachment-30779\" class=\"wp-caption-text\">Source: squareup.com\/<\/figcaption><\/figure>\n<table style=\"border-collapse: collapse; width: 100%; border: 1px solid black;\">\n<thead>\n<tr>\n<th style=\"background-color: #990000; color: white; width: 30%; font-weight: bold; text-align: center; border: 1px solid black;\">Aspect<\/th>\n<th style=\"background-color: #990000; color: white; width: 35%; font-weight: bold; text-align: center; border: 1px solid black;\">SKU<\/th>\n<th style=\"background-color: #990000; color: white; width: 35%; font-weight: bold; text-align: center; border: 1px solid black;\">UPC<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"border: 1px solid black; text-align: center;\"><b>Role<\/b><\/td>\n<td style=\"border: 1px solid black; text-align: center;\">SKUs are unique codes created by each business to track and organize products within their operations.<\/td>\n<td style=\"border: 1px solid black; text-align: center;\">UPCs are standardized codes that are used globally to identify products and remain consistent across all retailers.<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid black; text-align: center;\"><b>Example<\/b><\/td>\n<td style=\"border: 1px solid black; text-align: center;\">&#8220;TSHRT-BLU-M&#8221; as an SKU for a medium blue t-shirt.<\/td>\n<td style=\"border: 1px solid black; text-align: center;\">&#8220;012345678905&#8221;<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid black; text-align: center;\"><b>Customization<\/b><\/td>\n<td style=\"border: 1px solid black; text-align: center;\">SKUs are tailored to meet a business\u2019s specific needs.<\/td>\n<td style=\"border: 1px solid black; text-align: center;\">UPCs are universal and do not change, no matter where the product is sold.<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid black; text-align: center;\"><b>Consistency Across Retailers<\/b><\/td>\n<td style=\"border: 1px solid black; text-align: center;\">The same product might have different SKUs in different stores.<\/td>\n<td style=\"border: 1px solid black; text-align: center;\">The same product always carries the same UPC across all retailers.<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid black; text-align: center;\"><b>Usage<\/b><\/td>\n<td style=\"border: 1px solid black; text-align: center;\">Businesses usually rely on SKUs for internal tracking.<\/td>\n<td style=\"border: 1px solid black; text-align: center;\">UPCs are used to sell products across various platforms.<\/td>\n<\/tr>\n<tr>\n<td style=\"border: 1px solid black; text-align: center;\"><b>System Compatibility<\/b><\/td>\n<td style=\"border: 1px solid black; text-align: center;\">Many inventory management systems can handle SKUs.<\/td>\n<td style=\"border: 1px solid black; text-align: center;\">Many inventory management systems can handle UPCs.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Businesses typically rely on SKUs for internal tracking and UPCs when selling across external platforms. Most <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/inventory-management-system\/\">inventory management systems support<\/a> both, making it straightforward to manage products across multiple sales channels without maintaining two separate systems.<\/p>\n<h2><strong>How are SKUs Used in E-Commerce?<\/strong><\/h2>\n<p>In e-commerce, SKUs keep online stores organized and ensure accurate order fulfillment by categorizing products, tracking inventory, and managing sales data across platforms. When a customer places an order, the SKU helps locate the exact item in the warehouse so the correct product gets shipped.<\/p>\n<p>High-volume sellers use SKUs to manage product variants and reduce fulfillment errors. Inventory management software enhances this by syncing SKUs across platforms, automating reorders, and helping sellers<a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/inventory-forecasting\/\"> forecast demand<\/a> and fine-tune marketing strategies.<\/p>\n<h2><strong>Track SKUs with an Inventory Management System<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-33646\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/image-6.webp\" alt=\"Stock Keeping Units\" width=\"1883\" height=\"652\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/image-6.webp 1883w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/image-6-300x104.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/image-6-1024x355.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/image-6-768x266.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/image-6-1536x532.webp 1536w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/image-6-1213x420.webp 1213w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/image-6-150x52.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/image-6-696x241.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/image-6-1068x370.webp 1068w\" sizes=\"(max-width: 1883px) 100vw, 1883px\" \/><\/p>\n<p>As SKU catalogs grow, manual management becomes unsustainable. Using dedicated <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/best-inventory-management-software\/\">inventory management software automates<\/a> SKU generation, stock monitoring, and reporting, keeping product data accurate without constant manual input.<\/p>\n<p>Key capabilities include automated SKU generation, real-time stock monitoring, multi warehouse management, inventory analytics, and ERP integration. Together, these tools give businesses the visibility needed to manage growing catalogs without adding operational complexity.<\/p>\n<h2><strong>Conclusion<\/strong><\/h2>\n<p>SKUs are a foundational element of effective inventory management, giving businesses a reliable way to identify, track, and organize every product in their catalog. When applied consistently across warehouses, retail floors, and e-commerce platforms, a well-structured SKU system reduces errors, supports faster fulfillment, and improves overall stock visibility.<\/p>\n<p>For businesses looking to strengthen this further, exploring the <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/best-inventory-management-software\/\">best inventory management software options<\/a> available can help identify which tools align with their operational scale and product complexity.<\/p>\n<h2><strong>FAQ Around SKUs<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>How do I get a SKU for my product?<\/strong><\/summary>\n<p>You can create a SKU by combining product details like type, color, size, or brand into an alphanumeric code. HashMicro&#8217;s Inventory Management Software automates SKU generation, ensuring consistency and simplifying the process for businesses.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Are SKU and barcode the same?<\/strong><\/summary>\n<p>No, SKUs and barcodes serve different purposes. SKUs are unique codes created by businesses to categorize and track inventory internally, while barcodes are standardized codes that are scanned for pricing and sales information at checkout. Both can work together but have distinct functions.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>How to choose SKU numbers?<\/strong><\/summary>\n<p>Choose SKU numbers that are clear, consistent, and easy to understand. Incorporate key product attributes like type, size, and color. Avoid using overly long codes or special characters, and ensure that your SKU format is scalable as your inventory grows.<\/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    {\n      \"@type\": \"Question\",\n      \"name\": \"How do I get a SKU for my product?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"You can create a SKU by combining product details like type, color, size, or brand into an alphanumeric code. HashMicro's Inventory Management Software automates SKU generation, ensuring consistency and simplifying the process for businesses.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Are SKU and barcode the same?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"No, SKUs and barcodes serve different purposes. SKUs are unique codes created by businesses to categorize and track inventory internally, while barcodes are standardized codes that are scanned for pricing and sales information at checkout. Both can work together but have distinct functions.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How to choose SKU numbers?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Choose SKU numbers that are clear, consistent, and easy to understand. Incorporate key product attributes like type, size, and color. Avoid using overly long codes or special characters, and ensure that your SKU format is scalable as your inventory grows.\"\n      }\n    }\n  ]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Running a business is tough enough without losing track of your products. For Filipino businesses operating in a fast-paced market, poor inventory organization leads to mislabeled stock, delayed fulfillment, and avoidable errors that quietly drain margins. A Stock Keeping Unit (SKU) addresses this by giving every product a unique, structured code that the entire operation [&hellip;]<\/p>\n","protected":false},"author":8,"featured_media":22160,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[20],"tags":[],"class_list":{"0":"post-6936","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-inventory"},"acf":{"content_type_custom_acf":"","post_reviewer":""},"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>Stock Keeping Unit (SKU): What It Is and How It Works<\/title>\n<meta name=\"description\" content=\"Learn how SKU can streamline inventory management for Filipino businesses and how HashMicro\u2019s Inventory Software simplifies SKU creation.\" \/>\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\/stock-keeping-unit-sku\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"The Importance of Stock Keeping Units (SKUs) in Inventory and E-Commerce\" \/>\n<meta property=\"og:description\" content=\"Learn how SKU can streamline inventory management for Filipino businesses and how HashMicro\u2019s Inventory Software simplifies SKU creation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Philippine Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-08-21T03:27:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-26T07:23:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/stock-keeping-unit-sku.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=\"Victo Glend\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Victo Glend\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/\",\"name\":\"Stock Keeping Unit (SKU): What It Is and How It Works\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/stock-keeping-unit-sku.webp\",\"datePublished\":\"2024-08-21T03:27:51+00:00\",\"dateModified\":\"2026-03-26T07:23:00+00:00\",\"author\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/c51b93967a008cb14e6ae3a116c1ea25\"},\"description\":\"Learn how SKU can streamline inventory management for Filipino businesses and how HashMicro\u2019s Inventory Software simplifies SKU creation.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/#breadcrumb\"},\"inLanguage\":\"en-PH\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-PH\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/stock-keeping-unit-sku.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/stock-keeping-unit-sku.webp\",\"width\":1200,\"height\":650,\"caption\":\"stock keeping unit sku\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/ph\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"The Importance of Stock Keeping Units (SKUs) in Inventory and E-Commerce\"}]},{\"@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\/c51b93967a008cb14e6ae3a116c1ea25\",\"name\":\"Victo Glend\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-PH\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/43770bec05cbcf2f378f590b5d00de05b91998ddb9ef520e856f3dfd761a2487?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/43770bec05cbcf2f378f590b5d00de05b91998ddb9ef520e856f3dfd761a2487?s=96&d=mm&r=g\",\"caption\":\"Victo Glend\"},\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/author\/victoglend\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Stock Keeping Unit (SKU): What It Is and How It Works","description":"Learn how SKU can streamline inventory management for Filipino businesses and how HashMicro\u2019s Inventory Software simplifies SKU creation.","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\/stock-keeping-unit-sku\/","og_locale":"en_US","og_type":"article","og_title":"The Importance of Stock Keeping Units (SKUs) in Inventory and E-Commerce","og_description":"Learn how SKU can streamline inventory management for Filipino businesses and how HashMicro\u2019s Inventory Software simplifies SKU creation.","og_url":"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/","og_site_name":"HashMicro Philippine Blog","article_published_time":"2024-08-21T03:27:51+00:00","article_modified_time":"2026-03-26T07:23:00+00:00","og_image":[{"width":1200,"height":650,"url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/stock-keeping-unit-sku.webp","type":"image\/webp"}],"author":"Victo Glend","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Victo Glend","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/","url":"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/","name":"Stock Keeping Unit (SKU): What It Is and How It Works","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/stock-keeping-unit-sku.webp","datePublished":"2024-08-21T03:27:51+00:00","dateModified":"2026-03-26T07:23:00+00:00","author":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/c51b93967a008cb14e6ae3a116c1ea25"},"description":"Learn how SKU can streamline inventory management for Filipino businesses and how HashMicro\u2019s Inventory Software simplifies SKU creation.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/#breadcrumb"},"inLanguage":"en-PH","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/"]}]},{"@type":"ImageObject","inLanguage":"en-PH","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/#primaryimage","url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/stock-keeping-unit-sku.webp","contentUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/08\/stock-keeping-unit-sku.webp","width":1200,"height":650,"caption":"stock keeping unit sku"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/stock-keeping-unit-sku\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/ph\/blog\/"},{"@type":"ListItem","position":2,"name":"The Importance of Stock Keeping Units (SKUs) in Inventory and E-Commerce"}]},{"@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\/c51b93967a008cb14e6ae3a116c1ea25","name":"Victo Glend","image":{"@type":"ImageObject","inLanguage":"en-PH","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/43770bec05cbcf2f378f590b5d00de05b91998ddb9ef520e856f3dfd761a2487?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/43770bec05cbcf2f378f590b5d00de05b91998ddb9ef520e856f3dfd761a2487?s=96&d=mm&r=g","caption":"Victo Glend"},"url":"https:\/\/www.hashmicro.com\/ph\/blog\/author\/victoglend\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/6936","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\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/comments?post=6936"}],"version-history":[{"count":19,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/6936\/revisions"}],"predecessor-version":[{"id":33658,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/6936\/revisions\/33658"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media\/22160"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media?parent=6936"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/categories?post=6936"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/tags?post=6936"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}