{"id":2136,"date":"2026-04-10T17:50:17","date_gmt":"2026-04-10T07:50:17","guid":{"rendered":"https:\/\/www.hashmicro.com\/au\/blog\/?p=2136"},"modified":"2026-04-14T17:50:40","modified_gmt":"2026-04-14T07:50:40","slug":"consignment-inventory","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/","title":{"rendered":"Consignment Inventory: How It Works and Why It Matters"},"content":{"rendered":"<p data-start=\"214\" data-end=\"576\">The modern supply chain is increasingly complex, pushing businesses to find smarter ways to manage cash flow and reduce risk. Traditional inventory models require retailers to invest heavily upfront, creating financial pressure and limiting flexibility.<\/p>\n<p data-start=\"261\" data-end=\"672\">To maintain visibility in these environments, many businesses rely on <a href=\"https:\/\/www.hashmicro.com\/au\/inventory\">inventory monitoring software<\/a> to track stock movement and performance in real time. This model allows suppliers to retain ownership while retailers sell without upfront costs.<\/p>\n<p data-start=\"578\" data-end=\"906\"><!-- <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<\/p>\n<style>\r\n\t.takeaways-container {\r\n\t\tmargin: 20px 0;\r\n\t\tfont-family: sans-serif;\r\n\t}\r\n\t.box-content {\r\n\t\tbackground-color: #fffacd;\r\n\t\tbox-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\r\n\t\tborder-radius: 25px;\r\n\t\tpadding: 25px;\r\n\t}\r\n\t.title {\r\n\t\tmargin-bottom: 20px;\r\n\t}\r\n\t.title p {\r\n\t\tdisplay: inline-block;\r\n\t\tbackground-color: #8A0E19;\r\n\t\tcolor: #ffffff;\r\n\t\tpadding: 8px 15px;\r\n\t\tborder-radius: 8px;\r\n\t\tfont-size: 22px;\r\n\t\tfont-weight: bold;\r\n\t\tmargin: 0;\r\n\t}\r\n\t.item {\r\n\t\tdisplay: flex;\r\n\t\talign-items: flex-start;\r\n\t\tmargin-bottom: 12px;\r\n\t}\r\n\t.item .circle {\r\n\t\twidth: 8px;\r\n\t\theight: 8px;\r\n\t\tbackground-color: #000000;\r\n\t\tborder-radius: 50%;\r\n\t\tmargin-right: 12px;\r\n\t\tflex-shrink: 0;\r\n\t\tmargin-top: 8px;\r\n\t}\r\n\t.item p {\r\n\t\tmargin: 0;\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 1.6;\r\n\t}\r\n\t.item p a {\r\n\t\tcolor: #8A0E19;\r\n\t\tfont-weight: normal;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.item p a:hover {\r\n\t\ttext-decoration: underline;\r\n\t}\r\n\t.button-wrapper {\r\n\t\tmargin-top: 25px;\r\n\t}\r\n\t.submit-button {\r\n\t\tbackground-color: #8a0e19;\r\n\t\tcolor: #fff !important;\r\n\t\ttransition: all .3s ease;\r\n\t\tpadding: 12px 28px;\r\n\t\tdisplay: inline-block;\r\n\t\tborder-radius: 12px;\r\n\t\tfont-size: 16px;\r\n\t\tfont-weight: bold;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.submit-button:hover {\r\n\t\tbackground-color: #991b26;\r\n\t}\r\n\t@media (max-width: 767px) {\r\n\t\t.takeaways-container {\r\n\t\t\theight: auto;\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\t\t.box-content {\r\n\t\t\tpadding: 24px;\r\n\t\t}\r\n\t\t.content,\r\n\t\t.main-content,\r\n\t\t.list-item {\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<div class=\"takeaways-container\">\r\n\t<div class=\"box-content\">\r\n\t\t<div class=\"content\">\r\n\t\t\t<div class=\"title\">\r\n\t\t\t\t<p>Key Takeaways<\/p>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"main-content\">\r\n\t\t\t\t<div class=\"list-item\">\r\n\t\t\t\t\t<div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#what-is-consignment-inventory\">Explore the fundamental definition and<\/a> core mechanics of the consignment model.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#consignment-inventory-vs-traditional-inventory\">Compare the consignment approach with<\/a> traditional wholesale purchasing.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#key-components-of-a-consignment-inventory-agreement\">Discover the essential clauses needed<\/a> in a robust consignment contract.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#how-consignment-inventory-works\">Follow the step-by-step process of<\/a> establishing a consignment relationship.<\/p><\/div>\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t<\/div>\r\n<\/div>\n<h2 data-section-id=\"1gnwr7n\" data-start=\"853\" data-end=\"888\"><strong>What Is Consignment Inventory?<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-2308\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/what-is-Consignment-Inventory.webp\" alt=\"\" width=\"800\" height=\"400\" srcset=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/what-is-Consignment-Inventory.webp 800w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/what-is-Consignment-Inventory-300x150.webp 300w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/what-is-Consignment-Inventory-768x384.webp 768w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/what-is-Consignment-Inventory-150x75.webp 150w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/what-is-Consignment-Inventory-696x348.webp 696w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<p data-start=\"890\" data-end=\"1177\">Consignment inventory is an arrangement where a supplier retains ownership of goods until they are sold by a retailer. The retailer stores and sells the items without making any upfront payment.<\/p>\n<p data-start=\"1179\" data-end=\"1420\">Once a sale occurs, the retailer pays the supplier based on agreed terms. This payment structure is typically outlined in a formal consignment agreement. It ensures that suppliers are compensated only when products are successfully sold.<\/p>\n<p data-start=\"1422\" data-end=\"1691\">Unsold goods can usually be returned to the supplier, reducing financial risk for the retailer. This makes the model ideal for businesses expanding their product range. As a result, companies can grow their offerings while maintaining better control over cash flow.<\/p>\n<h2 data-section-id=\"185adp2\" data-start=\"1693\" data-end=\"1745\"><strong>Consignment Inventory vs. Traditional Inventory<\/strong><\/h2>\n<p data-start=\"1747\" data-end=\"2034\">In traditional inventory models, businesses purchase stock in advance and take full ownership. This means they are responsible for all associated costs and risks, including storage and unsold inventory.<\/p>\n<p data-start=\"1747\" data-end=\"2034\">With consignment inventory, businesses only pay for products after they are sold. It allows businesses to maintain a wider product range without committing significant capital, while still maintaining effective <a href=\"https:\/\/www.hashmicro.com\/au\/blog\/inventory-management\/\">stock control<\/a> across locations.<\/p>\n<p data-start=\"2305\" data-end=\"2596\">Because of this flexibility, businesses can respond more quickly to changes in customer demand and market trends. They can adjust stock levels more efficiently without overcommitting resources.<\/p>\n<p data-start=\"2305\" data-end=\"2596\"><style>\r\n    #custom-quote {\r\n        background-color: #f0f0f0;\r\n        padding: 20px;\r\n        border-radius: 12px;\r\n        margin: 20px;\r\n        display: flex;\r\n        flex-direction: column;\r\n    }\r\n\r\n    #custom-quote .quote-body {\r\n        display: flex;\r\n        flex-direction: row;\r\n        align-items: flex-start;\r\n        gap: 15px;\r\n        font-size: 16px;\r\n        line-height: 1.5;\r\n        font-style: italic;\r\n    }\r\n\r\n    #custom-quote .quote-icon {\r\n        width: 40px;\r\n        height: 40px;\r\n        flex-shrink: 0;\r\n    }\r\n\r\n    #custom-quote .quote-author-wrapper {\r\n        margin-top: 15px;\r\n        align-self: flex-start;\r\n        margin-left: 55px; \r\n\t\tmargin-bottom: 0px;\r\n    }\r\n\r\n    #custom-quote em {\r\n        font-family: 'Roboto Serif', serif !important;\r\n        font-size: 12px;\r\n        font-weight: bold;\r\n        font-style: normal;\r\n    }\r\n\r\n    @media screen and (max-width: 768px) {\r\n        #custom-quote {\r\n            margin: 15px 0;\r\n            padding: 15px;\r\n        }\r\n        \r\n        #custom-quote .quote-body {\r\n            gap: 12px;\r\n        }\r\n\r\n        #custom-quote .quote-author-wrapper {\r\n            margin-left: 52px;\r\n        }\r\n    }\r\n\r\n    @media screen and (max-width: 480px) {\r\n        #custom-quote {\r\n            margin: 10px 0;\r\n            padding: 12px;\r\n        }\r\n\r\n        #custom-quote .quote-body {\r\n            font-size: 14px;\r\n            gap: 10px;\r\n        }\r\n\r\n        #custom-quote .quote-icon {\r\n            width: 32px;\r\n            height: 32px;\r\n        }\r\n\r\n        #custom-quote .quote-author-wrapper {\r\n            margin-top: 10px;\r\n            margin-left: 42px;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div id=\"custom-quote\">\r\n    <div class=\"quote-body\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/12\/quote.webp\" alt=\"Quote Icon\" class=\"quote-icon\">\r\n        <div>\r\n            Consignment inventory allows businesses to reduce financial risk while maintaining product availability, creating a more flexible and collaborative supply chain model.        <\/div>\r\n    <\/div>\r\n    <p class=\"quote-author-wrapper\">\r\n        <em>Kaia Lockwood, Senior Product Manager<\/em>\r\n    <\/p>\r\n<\/div><\/p>\n<h2 data-section-id=\"9b9s21\" data-start=\"2598\" data-end=\"2654\"><strong>Key Components of a Consignment Inventory Agreement<\/strong><\/h2>\n<p data-start=\"2656\" data-end=\"2918\">A clear agreement is essential to ensure both parties understand their roles and responsibilities. Well-defined terms improve transparency and ensure smooth collaboration between suppliers and retailers.<\/p>\n<h3 data-section-id=\"140b3h3\" data-start=\"2920\" data-end=\"2955\"><strong>1. Consignor and Consignee Roles<\/strong><\/h3>\n<p data-start=\"2956\" data-end=\"3216\">The consignor is the supplier who owns the goods, while the consignee is the retailer who sells them. Each party has distinct responsibilities in the process. The consignor manages supply, while the consignee handles storage, display, and sales activities.<\/p>\n<h3 data-section-id=\"1nc9qh5\" data-start=\"3218\" data-end=\"3251\"><strong>2. Ownership and Payment Terms<\/strong><\/h3>\n<p data-start=\"3252\" data-end=\"3483\">Ownership remains with the consignor until products are sold. Payment terms specify when and how the retailer pays for sold items. These terms are typically structured on a periodic basis, such as weekly or monthly settlements.<\/p>\n<h3 data-section-id=\"14pm5wf\" data-start=\"3485\" data-end=\"3531\"><strong>3. Shipping, Returns, and Liability Clauses<\/strong><\/h3>\n<p data-start=\"3532\" data-end=\"3759\">The agreement should define who is responsible for shipping costs and logistics. It should also outline procedures for returning unsold goods. Liability clauses clarify who bears the risk in cases of damage, theft, or loss.<\/p>\n<h3 data-section-id=\"f9ilft\" data-start=\"3761\" data-end=\"3802\"><strong>4. Inventory Tracking Responsibilities<\/strong><\/h3>\n<p data-start=\"3803\" data-end=\"4013\">Both parties must agree on how inventory is tracked and reported. Accurate tracking ensures transparency and accountability. Using a shared <a href=\"https:\/\/www.hashmicro.com\/au\/blog\/inventory-management-system\">stock management system<\/a> or regular reporting helps maintain accurate stock records.<\/p>\n<h2 data-section-id=\"1ebz3e6\" data-start=\"4015\" data-end=\"4051\"><strong>How Consignment Inventory Works<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-2334\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/infographic-consignmetnt-inventory-scaled.webp\" alt=\"\" width=\"2560\" height=\"1429\" srcset=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/infographic-consignmetnt-inventory-scaled.webp 2560w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/infographic-consignmetnt-inventory-300x167.webp 300w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/infographic-consignmetnt-inventory-1024x572.webp 1024w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/infographic-consignmetnt-inventory-768x429.webp 768w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/infographic-consignmetnt-inventory-1536x857.webp 1536w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/infographic-consignmetnt-inventory-2048x1143.webp 2048w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/infographic-consignmetnt-inventory-753x420.webp 753w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/infographic-consignmetnt-inventory-150x84.webp 150w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/infographic-consignmetnt-inventory-696x388.webp 696w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/infographic-consignmetnt-inventory-1068x596.webp 1068w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/infographic-consignmetnt-inventory-1920x1072.webp 1920w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/p>\n<p data-start=\"4053\" data-end=\"4293\">Consignment inventory follows a structured process that ensures smooth coordination between supplier and retailer. Each step plays a critical role in success.<br data-start=\"4211\" data-end=\"4214\" \/>Understanding this workflow helps businesses implement the model effectively.<\/p>\n<h3 data-section-id=\"1803mh4\" data-start=\"4295\" data-end=\"4349\"><strong>1. Identify a Suitable Consignment Partner<\/strong><\/h3>\n<p data-start=\"3892\" data-end=\"4248\">Businesses must evaluate partners based on reliability, product demand, and alignment with goals. Choosing the right partner is essential. Strong partnerships improve sales performance and reduce operational risks.<\/p>\n<h3 data-section-id=\"1lh5ytn\" data-start=\"4492\" data-end=\"4545\"><strong>2. Draft and Sign a Consignment Agreement<\/strong><\/h3>\n<p data-start=\"4546\" data-end=\"4666\">A formal agreement outlines pricing, responsibilities, and payment terms. This document protects both parties legally. Clear agreements reduce misunderstandings and support long-term collaboration.<\/p>\n<h3 data-section-id=\"1iuzeii\" data-start=\"4668\" data-end=\"4713\"><strong>3. Transfer Goods to the Retailer<\/strong><\/h3>\n<p data-start=\"4714\" data-end=\"4847\">The supplier delivers goods to the retailer without transferring ownership. The retailer stores and prepares the products for sale. This step ensures product availability without requiring upfront investment.<\/p>\n<h3 data-section-id=\"ibopss\" data-start=\"4849\" data-end=\"4899\"><strong>4. Track Sales and Manage Stock Levels<\/strong><\/h3>\n<p data-start=\"4900\" data-end=\"5015\">The retailer sells the goods while monitoring inventory levels. Sales data is shared with the supplier regularly. Accurate tracking ensures timely replenishment and prevents stock discrepancies.<\/p>\n<h3 data-section-id=\"1c7ctd5\" data-start=\"5017\" data-end=\"5072\"><strong>5. Process Payments and Return Unsold Goods<\/strong><\/h3>\n<p data-start=\"5073\" data-end=\"5199\">The retailer pays the supplier for sold items based on agreed terms. Unsold goods are returned if specified in the contract. This step completes the cycle and maintains inventory efficiency.<\/p>\n<h2 data-section-id=\"9kmcog\" data-start=\"5201\" data-end=\"5259\"><strong>Advantages and Disadvantages of Consignment Inventory<\/strong><\/h2>\n<p data-start=\"5683\" data-end=\"5976\">Consignment inventory offers several benefits but also comes with challenges. Understanding these factors helps in making informed decisions. A balanced approach ensures the model aligns with business goals and capabilities.<\/p>\n<h3 data-start=\"5978\" data-end=\"6302\"><strong data-start=\"5978\" data-end=\"6023\">1. Advantages for Consignors (Suppliers)<\/strong><\/h3>\n<p data-start=\"5978\" data-end=\"6302\">Suppliers can expand market reach without opening new locations. They also retain control over pricing and branding. This model allows testing new markets with lower upfront investment. It also provides opportunities to build stronger relationships with retail partners.<\/p>\n<h3 data-start=\"6304\" data-end=\"6624\"><strong data-start=\"6304\" data-end=\"6349\">2. Advantages for Consignees (Retailers)<\/strong><\/h3>\n<p data-start=\"6304\" data-end=\"6624\">Retailers benefit from reduced upfront costs and lower inventory risk. They can offer more products without large capital investment. This improves cash flow and increases product variety. As a result, retailers can enhance customer satisfaction and competitiveness.<\/p>\n<h3 data-start=\"6626\" data-end=\"6919\"><strong data-start=\"6626\" data-end=\"6662\">3. Disadvantages for Consignors<\/strong><\/h3>\n<p data-start=\"6626\" data-end=\"6919\">Suppliers may experience delayed revenue since payment depends on sales. There is also a risk of unsold or damaged goods. Performance depends heavily on the retailer\u2019s ability to sell. This makes partner selection and monitoring even more critical.<\/p>\n<h3 data-start=\"6921\" data-end=\"7225\"><strong data-start=\"6921\" data-end=\"6957\">4. Disadvantages for Consignees<\/strong><\/h3>\n<p data-start=\"6921\" data-end=\"7225\">Retailers may earn lower margins due to revenue sharing. Managing consigned inventory can also increase administrative work. Disputes may arise if tracking and reporting are not accurate. Without proper systems, these challenges can impact overall efficiency.<\/p>\n<h2 data-section-id=\"g5dlsf\" data-start=\"6073\" data-end=\"6117\"><strong>Consignment Inventory Across Industries<\/strong><\/h2>\n<p data-start=\"6119\" data-end=\"6408\">Consignment inventory is widely used across industries that require flexibility and cost control. It is especially useful where demand is unpredictable. Retail businesses use it for fashion and electronics, while manufacturers use it to ensure steady production supply.<\/p>\n<p data-start=\"6119\" data-end=\"6408\">Healthcare and automotive industries also rely on consignment for high-value or critical items, ensuring availability without large upfront costs. This makes the model suitable for various sectors when supported by <a href=\"https:\/\/www.hashmicro.com\/au\/blog\/best-inventory-software\/\">consignment inventory software in Australia.<\/a><\/p>\n<h2 data-section-id=\"tzkxil\" data-start=\"6410\" data-end=\"6447\"><strong>Consignment Inventory Accounting<\/strong><\/h2>\n<p data-start=\"6449\" data-end=\"6722\">Consignment inventory requires different accounting treatment since ownership remains with the supplier. This affects how assets and revenue are recorded, suppliers keep inventory on their balance sheet until items are sold. Revenue is only recognised after a sale occurs.<\/p>\n<p data-start=\"6449\" data-end=\"6722\">Retailers do not record consigned goods as assets. They only recognise revenue for their share of the sale under applicable standards. Proper accounting ensures compliance with regulations and accurate financial reporting.<\/p>\n<h2 data-section-id=\"mnm9w0\" data-start=\"6724\" data-end=\"6775\"><strong>Common Consignment Inventory Mistakes to Avoid<\/strong><\/h2>\n<p data-start=\"123\" data-end=\"324\">Many businesses face challenges due to poor implementation or lack of visibility, which can lead to inefficiencies and disputes. Avoiding these issues ensures smoother operations and better outcomes.<\/p>\n<ul>\n<li data-start=\"326\" data-end=\"530\"><strong data-start=\"326\" data-end=\"366\">Unclear or Incomplete Agreements<\/strong><br data-start=\"366\" data-end=\"369\" \/>Failing to define terms clearly can lead to misunderstandings and disputes. A well-documented agreement ensures both parties understand their responsibilities.<\/li>\n<li data-start=\"532\" data-end=\"716\"><strong data-start=\"532\" data-end=\"577\">Poor Inventory Tracking and Reporting<\/strong><br data-start=\"577\" data-end=\"580\" \/>Inaccurate tracking can result in stock discrepancies and financial errors. Reliable systems are essential for maintaining visibility.<\/li>\n<li data-start=\"718\" data-end=\"901\"><strong data-start=\"718\" data-end=\"763\">Lack of Communication Between Parties<\/strong><br data-start=\"763\" data-end=\"766\" \/>Limited communication can disrupt operations and reduce trust. Regular updates help ensure alignment between consignor and consignee.<\/li>\n<li data-start=\"903\" data-end=\"1072\"><strong data-start=\"903\" data-end=\"947\">Mixing Consigned and Owned Inventory<\/strong><br data-start=\"947\" data-end=\"950\" \/>Combining inventory types can cause confusion and reporting issues. Keeping them separate improves accuracy and control.<\/li>\n<li data-start=\"1074\" data-end=\"1253\"><strong data-start=\"1074\" data-end=\"1122\">Not Using a Centralised Inventory System<\/strong><br data-start=\"1122\" data-end=\"1125\" \/>Manual processes increase the risk of errors and inefficiencies. A centralised system helps streamline tracking and reporting.<\/li>\n<\/ul>\n<h2 data-section-id=\"ozczsc\" data-start=\"7680\" data-end=\"7736\"><strong>Best Practices for Consignment Inventory Management<\/strong><\/h2>\n<p data-start=\"8931\" data-end=\"9228\">Effective management ensures that both suppliers and retailers benefit from the arrangement. Following best practices helps maintain accuracy, transparency, and strong partnerships.<\/p>\n<h3><strong data-start=\"9230\" data-end=\"9278\">1. Draft a Clear and Comprehensive Contract<\/strong><\/h3>\n<p>A well-written contract defines all responsibilities and expectations. It helps prevent misunderstandings and disputes.cClear documentation ensures smoother operations and accountability.<\/p>\n<h3 data-start=\"9541\" data-end=\"9836\"><strong data-start=\"9541\" data-end=\"9596\">2. Build a Strong Consignor\u2013Consignee Relationship<\/strong><\/h3>\n<p data-start=\"9541\" data-end=\"9836\">Strong communication and trust are essential for success. Both parties must collaborate closely.cRegular updates and transparency improve long-term performance. A healthy relationship also helps resolve challenges more effectively.<\/p>\n<h3 data-start=\"9838\" data-end=\"10135\"><strong data-start=\"9838\" data-end=\"9896\">3. Track Consigned and Non-Consigned Stock Separately<\/strong><\/h3>\n<p data-start=\"9838\" data-end=\"10135\">Separating inventory types reduces errors and confusion. It also improves reporting accuracy. Clear categorisation ensures better stock management and auditing. This practice also simplifies reconciliation and financial reporting.<\/p>\n<h3 data-start=\"10137\" data-end=\"10488\"><strong data-start=\"10137\" data-end=\"10196\">4. Use an Inventory Management System for Full Control<\/strong><\/h3>\n<p data-start=\"10137\" data-end=\"10488\">An inventory system provides real-time visibility into stock and sales. It reduces manual errors and improves efficiency. Automation helps businesses track inventory accurately and make better decisions.<\/p>\n<h2 data-section-id=\"14ivhnq\" data-start=\"8361\" data-end=\"8376\"><strong>Conclusion<\/strong><\/h2>\n<p data-start=\"8378\" data-end=\"8677\">Consignment inventory is a flexible solution that helps businesses reduce financial risk while maintaining product availability. It supports better cash flow and operational efficiency.<\/p>\n<p data-start=\"8378\" data-end=\"8677\">With clear agreements and proper tracking, businesses can maximise its benefits. Using the right tools further enhances accuracy and scalability. By adopting best practices, companies can build stronger partnerships and achieve long-term growth.<\/p>\n<p data-start=\"8378\" data-end=\"8677\">To identify the right solution for your business, consider booking a <a href=\"https:\/\/www.hashmicro.com\/au\/free-product-tour\/\">no-cost consultation<\/a> with our team.<\/p>\n<p data-start=\"8378\" data-end=\"8677\"><span data-sheets-root=\"1\"><a href=\"https:\/\/www.hashmicro.com\/au\/free-product-tour\/?medium=free-product-tour\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" width=\"712\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/11\/Free-Product-Tour-resized.webp\" alt=\"Free Demo\"><\/a><\/span><\/p>\n<p><h2 class=\"faqTitle\">Frequently Asked Question<\/h2>\r\n<style>\r\n\t#main-article p.faqTitle{\r\n\t\ttext-align: center;\r\n\t\tmargin-bottom: 0;\r\n\t\tmargin-top: 50px;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\t\r\n\t.accordion-wrapper{\r\n\t\tbackground-color: white;\r\n\t\tborder: 1px solid #9c171e;\r\n\t\tborder-radius: 6px;\r\n\t\ttransition: 0.4s ease;\r\n\t\tmargin-bottom: 20px;\r\n\t\toverflow: hidden;\r\n\t}\r\n\t\r\n\t.header-faq{\r\n\t\tdisplay: flex;\r\n\t\tborder: none;\r\n\t\tborder-radius: 6px 6px 6px 6px;\r\n\t\tbackground: #FFF;\r\n\t\talign-items: center;\r\n\t\tpadding: 18px;\r\n\t\ttransition: 0.4s;\r\n\t\tcursor: pointer;\r\n\t\tjustify-content: space-between;\r\n\t}\r\n\t\r\n\t.header-faq p{\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\t\r\n\t.question {\r\n\t\tcolor: #3C3C3C;\r\n\t\twidth: 100%;\r\n\t\ttext-align: left;\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 20px;\r\n\t \ttransition: 0.4s;\r\n\t\tborder: none;\r\n\t\tborder-radius: 6px 6px 6px 6px;\r\n\t\tbackground: #FFF;\r\n\t\tpadding: 0;\r\n\t\ttext-transform: uppercase;\r\n\t\tfont-weight: 700;\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between;\r\n\t\talign-items: center;\r\n\t}\r\n\r\n\t.header-faq.active {\r\n\t  background-color: #FFF;\r\n\t}\r\n\t\r\n\tbutton.question{\r\n\t\tcolor: unset;\r\n\t\tbackground-color: unset;\r\n\t}\r\n\t\r\n\tbutton.question::after{\r\n\t\tcontent: \"<\";\r\n\t\twidth: 2.2rem;\r\n\t\theight: 2.2rem;\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t\tborder-radius: 50%;\r\n\t\tcolor: #FFF;\r\n\t\tflex-shrink: 0;\r\n\t\tfloat: right;\r\n\t\ttransition: 0.4s;\r\n\t\topacity: 0.4;\r\n\t\tposition: relative;\r\n\t\ttransform: rotate(-90deg);\r\n\t\tbackground-color: #9c171e;\r\n\t\tfont-family: monospace;\r\n\t}\r\n\r\n\t.answer {\r\n\t  padding: 0 18px;\r\n\t  max-height: 0;\r\n\t  overflow: hidden;\r\n\t  background-color: white;\r\n\t  border-radius: 0 0 6px 6px;\r\n\t  transition: max-height 0.4s ease, opacity 0.4s ease;\r\n\t  opacity: 0;\r\n\t}\r\n\r\n\t.answer p{\r\n\t\tfont-size: 16px;\r\n\t\tfont-weight: 400;\r\n\t\tline-height: 28px;\r\n\t\ttext-align: left;\r\n\t\ttext-transform: none;\r\n\t\tcolor: #494949;\r\n\t}\r\n\t\r\n\t.accordion-wrapper.active{\r\n\t\tbox-shadow: 0px 0px 20px 0px #4034AB38;\r\n\t}\r\n\t\r\n\t.header-faq.active .accordion-icon .vLine{\r\n\t\ttransform: translateX(-50%) rotate(0deg);\r\n\t}\r\n\r\n\t.header-faq.active + .answer {\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t.header-faq.active button.question::after{\r\n\t\ttransform: rotate(90deg);\r\n\t\topacity: 1;\r\n\t}\r\n\t\r\n\t.header-faq:hover button.question::after{\r\n\t\topacity: 1;\r\n\t}\r\n\t\r\n\t.faq-h3-addition {\r\n\t\tmargin: 0 !important;\r\n\t\tpadding-right: 15px;\r\n\t\tmin-width: 0;\r\n\t}\r\n<\/style>\r\n\r\n    <div class=\"accordion-wrapper\">\r\n        <div class=\"header-faq\">\r\n            <button class=\"question\">What is consignment inventory?<\/button>\r\n        <\/div>\r\n        <div class=\"answer\">\r\n            <p>Consignment inventory is when a supplier keeps ownership of products until they are sold. The retailer only pays after making a sale.<\/p>\r\n        <\/div>\r\n    <\/div>\r\n    <div class=\"accordion-wrapper\">\r\n        <div class=\"header-faq\">\r\n            <button class=\"question\">Why do businesses use consignment inventory?<\/button>\r\n        <\/div>\r\n        <div class=\"answer\">\r\n            <p>It helps reduce upfront costs and lowers the risk of unsold stock. Businesses can also offer more products without spending too much money.<\/p>\r\n        <\/div>\r\n    <\/div>\r\n    <div class=\"accordion-wrapper\">\r\n        <div class=\"header-faq\">\r\n            <button class=\"question\">How is consignment different from regular inventory?<\/button>\r\n        <\/div>\r\n        <div class=\"answer\">\r\n            <p>In regular inventory, businesses buy stock before selling it. In consignment, they only pay after the product is sold.<\/p>\r\n        <\/div>\r\n    <\/div>\r\n\r\n<script>\r\n    function toggleAccordion() {\r\n        var acc = document.getElementsByClassName(\"header-faq\");\r\n        for (var i = 0; i < acc.length; i++) {\r\n            acc[i].addEventListener(\"click\", function() {\r\n                for (var j = 0; j < acc.length; j++) {\r\n                    if (acc[j] !== this && acc[j].classList.contains(\"active\")) {\r\n                        acc[j].classList.remove(\"active\");\r\n                        acc[j].closest('.accordion-wrapper').classList.remove('active');\r\n                        var panel = acc[j].nextElementSibling;\r\n                        panel.style.maxHeight = null;\r\n                    }\r\n                }\r\n\r\n                this.classList.toggle(\"active\");\r\n                var accordionWrapper = this.closest('.accordion-wrapper');\r\n                var panel = this.nextElementSibling;\r\n                if (this.classList.contains(\"active\")) {\r\n                    panel.style.maxHeight = panel.scrollHeight + \"px\";\r\n                    accordionWrapper.classList.add('active');\r\n                } else {\r\n                    panel.style.maxHeight = null;\r\n                    accordionWrapper.classList.remove('active');\r\n                }\r\n            });\r\n        }\r\n    }\r\n\r\n    document.addEventListener('DOMContentLoaded', toggleAccordion);\r\n<\/script>\r\n\r\n<!-- <script>\r\n    document.addEventListener('DOMContentLoaded', function() {\r\n        document.querySelectorAll('.header-faq .question').forEach(btn => {\r\n            const text = btn.textContent.trim();\r\n            const h3 = document.createElement('h3');\r\n            h3.textContent = text;\r\n            h3.className = \"faq-h3-addition\";\r\n            btn.textContent = '';\r\n            btn.appendChild(h3);\r\n        });\r\n    });\r\n<\/script> --><br \/>\n<script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is consignment inventory?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Consignment inventory is when a supplier keeps ownership of products until they are sold. The retailer only pays after making a sale.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Why do businesses use consignment inventory?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"It helps reduce upfront costs and lowers the risk of unsold stock. Businesses can also offer more products without spending too much money.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How is consignment different from regular inventory?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"In regular inventory, businesses buy stock before selling it. In consignment, they only pay after the product is sold.\"\n      }\n    }\n  ]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The modern supply chain is increasingly complex, pushing businesses to find smarter ways to manage cash flow and reduce risk. Traditional inventory models require retailers to invest heavily upfront, creating financial pressure and limiting flexibility. To maintain visibility in these environments, many businesses rely on inventory monitoring software to track stock movement and performance in [&hellip;]<\/p>\n","protected":false},"author":51,"featured_media":2307,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"tdm_status":"","tdm_grid_status":"","footnotes":""},"categories":[56],"tags":[],"class_list":{"0":"post-2136","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>Consignment Inventory: How It Works and Why It Matters - HashMicro Australia<\/title>\n<meta name=\"description\" content=\"Learn the basics of consignment inventory, its benefits, and how it differs from traditional inventory. Reduce financial risk and manage stock smarter.\" \/>\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\/au\/blog\/consignment-inventory\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Consignment Inventory: How It Works and Why It Matters\" \/>\n<meta property=\"og:description\" content=\"Learn the basics of consignment inventory, its benefits, and how it differs from traditional inventory. Reduce financial risk and manage stock smarter.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Australia\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-10T07:50:17+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-14T07:50:40+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Consignment-Inventory.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Isla Avery Young\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Isla Avery Young\" \/>\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\/au\/blog\/consignment-inventory\/\",\"url\":\"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/\",\"name\":\"Consignment Inventory: How It Works and Why It Matters - HashMicro Australia\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/au\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Consignment-Inventory.webp\",\"datePublished\":\"2026-04-10T07:50:17+00:00\",\"dateModified\":\"2026-04-14T07:50:40+00:00\",\"author\":{\"@id\":\"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/d6c3d199b3a724e06ff32dfd866ebdc3\"},\"description\":\"Learn the basics of consignment inventory, its benefits, and how it differs from traditional inventory. Reduce financial risk and manage stock smarter.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Consignment-Inventory.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Consignment-Inventory.webp\",\"width\":800,\"height\":400},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/au\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Consignment Inventory: How It Works and Why It Matters\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/au\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/au\/blog\/\",\"name\":\"HashMicro Australia\",\"description\":\"Business Management Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/au\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/d6c3d199b3a724e06ff32dfd866ebdc3\",\"name\":\"Isla Avery Young\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/02\/cropped-Isla-Avery-Young-WP-96x96.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/02\/cropped-Isla-Avery-Young-WP-96x96.webp\",\"caption\":\"Isla Avery Young\"},\"description\":\"As a business development staff, I spend my time listening to the real problems teams face on the inventory and warehouse operations. It gives me a clear view of what businesses usually miss, where errors start, which handoffs break, and what visibility leaders need to stop firefighting. I share that perspective in my articles.\",\"url\":\"https:\/\/www.hashmicro.com\/au\/blog\/author\/isla-avery-young\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Consignment Inventory: How It Works and Why It Matters - HashMicro Australia","description":"Learn the basics of consignment inventory, its benefits, and how it differs from traditional inventory. Reduce financial risk and manage stock smarter.","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\/au\/blog\/consignment-inventory\/","og_locale":"en_US","og_type":"article","og_title":"Consignment Inventory: How It Works and Why It Matters","og_description":"Learn the basics of consignment inventory, its benefits, and how it differs from traditional inventory. Reduce financial risk and manage stock smarter.","og_url":"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/","og_site_name":"HashMicro Australia","article_published_time":"2026-04-10T07:50:17+00:00","article_modified_time":"2026-04-14T07:50:40+00:00","og_image":[{"width":800,"height":400,"url":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Consignment-Inventory.webp","type":"image\/webp"}],"author":"Isla Avery Young","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Isla Avery Young","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/","url":"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/","name":"Consignment Inventory: How It Works and Why It Matters - HashMicro Australia","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Consignment-Inventory.webp","datePublished":"2026-04-10T07:50:17+00:00","dateModified":"2026-04-14T07:50:40+00:00","author":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/d6c3d199b3a724e06ff32dfd866ebdc3"},"description":"Learn the basics of consignment inventory, its benefits, and how it differs from traditional inventory. Reduce financial risk and manage stock smarter.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/#primaryimage","url":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Consignment-Inventory.webp","contentUrl":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Consignment-Inventory.webp","width":800,"height":400},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/au\/blog\/consignment-inventory\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/au\/blog\/"},{"@type":"ListItem","position":2,"name":"Consignment Inventory: How It Works and Why It Matters"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/au\/blog\/#website","url":"https:\/\/www.hashmicro.com\/au\/blog\/","name":"HashMicro Australia","description":"Business Management Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/au\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/d6c3d199b3a724e06ff32dfd866ebdc3","name":"Isla Avery Young","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/02\/cropped-Isla-Avery-Young-WP-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/02\/cropped-Isla-Avery-Young-WP-96x96.webp","caption":"Isla Avery Young"},"description":"As a business development staff, I spend my time listening to the real problems teams face on the inventory and warehouse operations. It gives me a clear view of what businesses usually miss, where errors start, which handoffs break, and what visibility leaders need to stop firefighting. I share that perspective in my articles.","url":"https:\/\/www.hashmicro.com\/au\/blog\/author\/isla-avery-young\/"}]}},"_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts\/2136","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/users\/51"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/comments?post=2136"}],"version-history":[{"count":8,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts\/2136\/revisions"}],"predecessor-version":[{"id":2430,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts\/2136\/revisions\/2430"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/media\/2307"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/media?parent=2136"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/categories?post=2136"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/tags?post=2136"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}