{"id":14879,"date":"2025-01-15T09:30:23","date_gmt":"2025-01-15T09:30:23","guid":{"rendered":"https:\/\/www.hashmicro.com\/ph\/blog\/?p=14879"},"modified":"2025-12-22T09:46:35","modified_gmt":"2025-12-22T09:46:35","slug":"days-sales-outstanding","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/","title":{"rendered":"Days Sales Outstanding (DSO): Meaning, Formula, and Use Cases"},"content":{"rendered":"<p>Days Sales Outstanding (DSO) plays a key role in understanding how quickly businesses turn credit sales into cash. Ang taas ng DSO minsan ay senyales ng challenges, like delayed payments or cash flow issues. But it\u2019s not all bad news;\u00a0 every business can improve with the right knowledge.<\/p>\n<p>No matter the industry, keeping an eye on DSO is essential to maintaining financial health. Small businesses lalo na, rely on steady cash inflow para masustentohan ang daily activities at growth plans nila.<\/p>\n<p>In this article, you\u2019ll explore what DSO really means, why it\u2019s important, and how to manage it effectively. Whether you\u2019re just starting to track DSO or looking to optimize it, this guide offers practical tips to help you move forward confidently.<\/p>\n<table style=\"border-collapse: collapse; background-color: #fffacd; border-radius: 25px 25px 25px 25px;\" width=\"100%\">\n<tbody>\n<tr>\n<td style=\"padding: 15px; border: none;\">\n<h3 style=\"margin-bottom: 10px;\"><span style=\"background-color: #990000; color: #ffffff; padding: 5px;\"><b>Key Takeaways<\/b><\/span><\/h3>\n<ul>\n<li style=\"font-weight: 400;\">Days Sales Outstanding (DSO) measures how quickly a company collects payments from credit sales, reflecting its financial health.<\/li>\n<li style=\"font-weight: 400;\">A low DSO indicates efficient collections and steady cash flow, while a high DSO may signal potential cash flow issues.<\/li>\n<li style=\"font-weight: 400;\">DSO varies across industries, with longer payment terms common in some sectors and faster collections critical in others.<\/li>\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/ph\/accounting-software\">HashMicro Accounting Software<\/a> automates DSO tracking, payment reminders, and financial reporting for improved cash flow management.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><a href=\"https:\/\/www.hashmicro.com\/ph\/free-product-tour\/?medium=free-product-tour\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/bir-demo-gratis.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/bir-demo-gratis.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/mobile-bir-demo-gratis.webp\" alt=\"FreeDemo\" class=\"responsive-image-banner\" width=\"620\" height=\"255\"><\/a>\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script><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<\/p>\n<h2><b>What is Days Sales Outstanding?<\/b><\/h2>\n<p>Days Sales Outstanding (DSO) measures how many days, on average, it takes to turn credit sales into cash or collect payments from customers. It\u2019s calculated by dividing the total accounts receivable within a specific period by the total net credit sales, then multiplying the result by the number of days in that period. The <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/sales-journal\/\">sales journal<\/a> plays a critical role in tracking credit sales and calculating DSO for accurate financial analysis.<\/p>\n<p>Since cash flow is essential for running a business, companies aim to collect payments as quickly as possible. While businesses can usually expect to receive their payments, delays in collection mean losing money due to the time value of money.<\/p>\n<p>The definition of &#8220;quickly&#8221; varies depending on the industry. For example, longer payment terms are typical in finance, while faster payments are critical in industries like agriculture and fuel. Small businesses, in particular, rely on steady cash flow more than large, diversified companies.<\/p>\n<h2><b>Importance of Days Sales Outstanding<\/b><\/h2>\n<p>A high DSO indicates that a business may have cash flow issues. While the ideal DSO can vary between industries, a figure below 45 is generally considered good.<\/p>\n<p>Monitoring DSO over time is crucial, as a rising number could point to issues in the collections process or indicate that the company is extending credit to customers with poor payment habits. In either case, delayed payments can jeopardize the company\u2019s cash flow.<\/p>\n<p>Debt collection experts recommend regularly tracking DSO to encourage the payments team to address overdue invoices promptly. For small businesses, DSO can be a valuable metric for identifying customers who consistently delay payments and may be straining the company&#8217;s financial health.<\/p>\n<h2><b>Applications of DSO in the Company<\/b><\/h2>\n<p>Days Sales Outstanding (DSO) has multiple practical applications in business operations and financial analysis:<\/p>\n<ol>\n<li><b>Evaluating Collection Efficiency: <\/b>DSO provides insights into how efficiently a company&#8217;s collections department is recovering payments. A lower DSO suggests faster collections, while a higher DSO could indicate inefficiencies or challenges in the process.<\/li>\n<li><b>Monitoring Cash Flow Stability: <\/b>A company can use DSO as a benchmark to quickly assess its cash flow health. A consistently low or stable DSO reflects steady cash inflows, which are crucial for meeting financial obligations.<\/li>\n<li><b>Assessing Customer Creditworthiness: <\/b>By analyzing DSO trends, businesses can identify customers who consistently delay payments. This helps determine which customers might require stricter credit terms or upfront payment policies.<\/li>\n<li><b>Maintaining Customer Satisfaction: <\/b>A balanced DSO indicates that credit terms are reasonable and customers are satisfied with payment policies. Drastic changes in DSO might signal issues affecting customer relationships.<\/li>\n<li><b>Tracking Trends and Predicting Risks: <\/b>Observing DSO over time is more valuable than analyzing a single period. Increasing trends can act as an early warning sign of potential cash flow problems, declining customer satisfaction, or overextended credit terms.<\/li>\n<li><b>Industry Benchmarking and Performance Comparison: <\/b>Companies can compare their DSO to industry averages to gauge their operational efficiency. This is especially useful for identifying areas where processes might need improvement.<\/li>\n<li><b>Adjusting Credit and Payment Policies: <\/b>Businesses can use DSO data to refine their credit policies, offer incentives for early payments, or establish stricter terms for customers with a history of delayed payments.<\/li>\n<\/ol>\n<h2><b>What Indicates a Good DSO Ratio?<\/b><\/h2>\n<p>A good DSO indicates that a company collects payments efficiently, maintaining strong cash flow and financial stability. Typically, a DSO below 45 days is considered good, although this can vary depending on the industry.<\/p>\n<p>Consistency is also an important factor\u2014if a company\u2019s DSO remains stable over time and aligns with industry benchmarks, it suggests effective credit and collection policies.<\/p>\n<p>In seasonal industries, DSO might fluctuate during certain periods, but predictable patterns aren\u2019t usually a concern. On the other hand, unpredictable or rising DSO can signal problems, such as inefficient collections, declining customer satisfaction, or offering credit to customers with poor payment habits.<\/p>\n<p>According to the <a href=\"https:\/\/www.crfonline.org\/tools\/national-summary-of-domestic-trade-receivables-results-summary\/\">Credit Research Foundation<\/a>, the average DSO across industries in the third quarter of 2024 was <b>36.80 days<\/b>.<\/p>\n<h2><b>Limitations of Days Sales Outstanding<\/b><\/h2>\n<p><a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-meaning.webp\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-14886\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-meaning.webp\" alt=\"days sales outstanding meaning\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-meaning.webp 1200w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-meaning-300x169.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-meaning-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-meaning-768x432.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-meaning-747x420.webp 747w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-meaning-150x84.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-meaning-696x392.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-meaning-1068x601.webp 1068w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/a>Days Sales Outstanding (DSO) is a useful metric for assessing a company\u2019s efficiency in collecting payments, but it has limitations that investors should keep in mind.<\/p>\n<p>When comparing DSO across companies, it\u2019s important to focus on businesses within the same industry and with similar business models and revenue levels.<\/p>\n<p>Comparing companies from different industries or of varying sizes can lead to misleading conclusions since their DSO benchmarks and targets often differ significantly.<\/p>\n<h3><b>When DSO is Less Relevant<\/b><\/h3>\n<p>DSO is less meaningful when comparing companies with varying proportions of credit sales. For example, a company with a low percentage of credit sales may have a DSO that doesn\u2019t accurately reflect its cash flow. Similarly, comparing such companies with those that rely heavily on credit sales provides little insight.<\/p>\n<p>DSO also has limitations as a measure of accounts receivable efficiency. Changes in sales volume can distort DSO, as higher sales tend to lower the metric, regardless of how effectively payments are being collected.<\/p>\n<p>For a more accurate evaluation, metrics like Delinquent Days Sales Outstanding (DDSO) can be used to assess credit collection performance. DSO, like any performance metric, should be considered alongside other financial indicators for a well-rounded analysis.<\/p>\n<h2><b>Days Sales Outstanding Formula<\/b><\/h2>\n<p>To calculate days sales outstanding ratio formula, divide the accounts receivable balance by the revenue for the period, then multiply by 365 days:<\/p>\n<p><b>DSO = (Average Accounts Receivable \u00f7 Net Revenue) \u00d7 365 Days<\/b><\/p>\n<p>Where:<\/p>\n<ul>\n<li><b>Average Accounts Receivable<\/b> = (Ending Accounts Receivable + Beginning Accounts Receivable) \u00f7 2<\/li>\n<li><b>Net Revenue<\/b> = Gross Revenue \u2013 Returns \u2013 Discounts<\/li>\n<\/ul>\n<p>DSO is an important measure of a company&#8217;s operational efficiency because faster cash collection from customers improves liquidity, meaning the company has more cash available.<\/p>\n<ul>\n<li><b>Liquidity Benefits<\/b>: Having more cash on hand reduces financial risk and provides flexibility.<\/li>\n<li><b>Cash Flow Advantages<\/b>: Increased free cash flow (FCF) can be used for reinvestments, capital expenditures (Capex), or other opportunities that generate a positive return, rather than simply waiting for delayed payments.<\/li>\n<\/ul>\n<p>Accurately calculating DSO relies heavily on a well-structured <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/accounting-system\/\">accounting system<\/a>. By integrating receivables data with revenue metrics, companies can better understand their cash flow patterns and identify areas for improvement.<\/p>\n<p>If you want to quickly calculate the formula and how it affects other metrics of your financial statements, why don\u2019t you give accounting software a try? It automates every calculation, so that you only need to analyze and make the best decision based on accurate data. Click on the banner below to try out!<\/p>\n<a href=\"https:\/\/www.hashmicro.com\/ph\/free-product-tour\/?medium=free-product-tour\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/bir-demo-gratis.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/bir-demo-gratis.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/mobile-bir-demo-gratis.webp\" alt=\"FreeDemo\" class=\"responsive-image-banner\" width=\"620\" height=\"255\"><\/a>\r\n\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script>\n<h2><b>How to Calculate DSO<\/b><\/h2>\n<p><a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-ratio-formula.webp\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-14887\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-ratio-formula.webp\" alt=\"days sales outstanding ratio formula\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-ratio-formula.webp 1200w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-ratio-formula-300x169.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-ratio-formula-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-ratio-formula-768x432.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-ratio-formula-747x420.webp 747w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-ratio-formula-150x84.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-ratio-formula-696x392.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding-ratio-formula-1068x601.webp 1068w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/a>Let\u2019s apply the calculation to a fictional Filipino company, <b>PinoyTech Solutions<\/b>:<\/p>\n<p>Suppose PinoyTech Solutions has an accounts receivable (A\/R) balance of <b>\u20b11.5M<\/b> and total revenue of <b>\u20b110M<\/b>.<\/p>\n<p>If we divide <b>\u20b11.5M<\/b> by <b>\u20b110M<\/b>, the result is <b>0.15<\/b> (or <b>15%<\/b>).<\/p>\n<p>We then multiply <b>15%<\/b> by <b>365 days<\/b>, resulting in approximately <b>55 days<\/b> for DSO. This means it takes PinoyTech Solutions about <b>55 days<\/b> to collect cash payments after making a sale.<\/p>\n<p>Here\u2019s a breakdown of the process:<\/p>\n<ul>\n<li><b>Accounts Receivable (A\/R)<\/b> = \u20b11,500,000<\/li>\n<li><b>Revenue<\/b> = \u20b110,000,000<\/li>\n<li><b>A\/R as a Percentage of Revenue<\/b> = 15%<\/li>\n<li><b>Days Sales Outstanding (DSO)<\/b> = 15% \u00d7 365 days = 55 days<\/li>\n<\/ul>\n<p>This indicates that while PinoyTech Solutions has already delivered its product or service and recognized the revenue under accrual accounting, the company is still waiting for the customer to complete payment in cash.<\/p>\n<p>For a more accurate calculation, the average A\/R balance (i.e., the sum of the beginning and ending A\/R balance divided by two) can be used. However, using the ending balance is often simpler and has minimal impact on the overall calculation.<\/p>\n<h2><b>How to Lower DSO<\/b><\/h2>\n<p>For companies with DSOs higher than their industry peers, several strategies can help reduce it, such as:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li><b>Reducing Credit Payments:<\/b> Limit credit terms or offer incentives like discounts for customers who pay in cash.<\/li>\n<li><b>Addressing Repeat Late Payers:<\/b> Identify customers with a history of delayed payments and implement targeted measures, such as requiring upfront cash payments.<\/li>\n<li><b>Conducting Credit Checks:<\/b> For installment payment agreements, perform background checks to assess the creditworthiness of customers.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<ul>\n<li><b>Use Accounting Software: <\/b>\u00a0Businesses can leverage tools like <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/top-accounting-software-philippines\/\">accounting platform<\/a>. These tools automate invoice tracking, send timely reminders, and generate reports.<\/li>\n<\/ul>\n<p>However, extended DSOs aren\u2019t always a sign of inefficiency. In some cases, they may result from key customers who contribute significantly to the company\u2019s revenue and use their negotiating power to delay payments.<\/p>\n<p>It\u2019s essential to consider not only industry benchmarks and the nature of the product or service but also the specifics of the customer relationship.<\/p>\n<p>For instance, a major long-term customer with a history of delayed payments may not pose a concern, especially if they consistently settle their accounts and maintain a reliable business relationship.<\/p>\n<h2><b>Manage Your Days Sales Outstanding Effectively with HashMicro<\/b><\/h2>\n<p><a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/HashMicro-Accounting-PH-Dashboard-1.webp\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-14890\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/HashMicro-Accounting-PH-Dashboard-1.webp\" alt=\"HashMicro Accounting PH Dashboard\" width=\"1774\" height=\"1200\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/HashMicro-Accounting-PH-Dashboard-1.webp 1774w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/HashMicro-Accounting-PH-Dashboard-1-300x203.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/HashMicro-Accounting-PH-Dashboard-1-1024x693.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/HashMicro-Accounting-PH-Dashboard-1-768x520.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/HashMicro-Accounting-PH-Dashboard-1-1536x1039.webp 1536w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/HashMicro-Accounting-PH-Dashboard-1-621x420.webp 621w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/HashMicro-Accounting-PH-Dashboard-1-150x101.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/HashMicro-Accounting-PH-Dashboard-1-696x471.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/HashMicro-Accounting-PH-Dashboard-1-1068x722.webp 1068w\" sizes=\"(max-width: 1774px) 100vw, 1774px\" \/><\/a>Struggling with delayed payments? Ang taas ng Days Sales Outstanding (DSO) ay parang roadblock, hinahadlangan ng cash flow na kailangan mo to grow and thrive. Lowering DSO is the way when you want your sales to thrive.<\/p>\n<p>Why settle for complicated and outdated manual processes? With <a href=\"https:\/\/www.hashmicro.com\/ph\/accounting-software\">HashMicro Accounting Software<\/a>, you can transform how you handle your finances. From automating payment reminders to tracking DSO in real time, our software takes the guesswork out of collections.<\/p>\n<p>With HashMicro, you get more than just accounting software; you get an edge. Picture this:<\/p>\n<ul>\n<li><b>Business Intelligence (BI)<\/b> tools to turn numbers into actionable insights.<\/li>\n<li><b>Unlimited users<\/b> so your whole team can work seamlessly.<\/li>\n<li><b>BIR-certified<\/b> for time-saving financial reports generation and peace of mind.<\/li>\n<li>A user-friendly interface that makes managing finances easier than ever.<\/li>\n<\/ul>\n<p>Convenient, \u2018di ba? Trusted na ito ng over 2000 companies across Southeast Asia, so it\u2019s ready to cater to your needs; mapa-tracking ng transactions hanggang sa paggawa ng reports.<\/p>\n<h2><b>Conclusion<\/b><\/h2>\n<p>Days Sales Outstanding (DSO) measures how quickly a business collects payments from credit sales. A healthy DSO reflects effective credit policies and keeps businesses financially stable across industries.<\/p>\n<p>Struggling with high DSO? <a href=\"https:\/\/www.hashmicro.com\/ph\/accounting-software\">HashMicro Accounting Software<\/a> simplifies your collections by automating invoicing, tracking payments, and generating insightful reports. Trusted na ito ng over 2,000 companies, kaya siguradong maaasahan mo ito for managing your finances effectively.<\/p>\n<p>Transform how you manage finances with HashMicro\u2019s powerful features like BIR certification and Business Intelligence dashboards. It\u2019s time to streamline processes and enhance the cash flow your business deserves.<\/p>\n<p>Try out the <a href=\"https:\/\/www.hashmicro.com\/ph\/free-product-tour\/\">free demo<\/a> to see the compatibility of your company with this tool!<\/p>\n\n<h2><strong>FAQ on Days Sales Outstanding<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>How does DSO impact a company&#8217;s working capital?<\/strong><\/summary>\n<p>A higher DSO indicates slower collection of receivables, which can tie up a company&#8217;s working capital and limit its ability to invest in operations or growth opportunities. Conversely, a lower DSO suggests quicker collections, enhancing liquidity and financial flexibility.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What are some strategies to improve DSO?<\/strong><\/summary>\n<p>Companies can improve DSO by implementing stricter credit policies, offering early payment discounts, automating invoicing processes, and actively following up on overdue accounts to expedite collections.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Is DSO relevant for companies with cash sales only?<\/strong><\/summary>\n<p>No, DSO is specifically a measure of the efficiency of collecting credit sales. For companies that operate solely on cash sales, DSO is not applicable, as there are no receivables to track.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Can seasonal sales fluctuations affect DSO?<\/strong><\/summary>\n<p>Yes, seasonal variations can impact DSO. During peak sales periods, increased credit sales may temporarily raise DSO, while off-peak periods might lower it. Analyzing DSO trends in the context of seasonal patterns is essential for accurate assessment.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Days Sales Outstanding (DSO) plays a key role in understanding how quickly businesses turn credit sales into cash. Ang taas ng DSO minsan ay senyales ng challenges, like delayed payments or cash flow issues. But it\u2019s not all bad news;\u00a0 every business can improve with the right knowledge. No matter the industry, keeping an eye [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":14888,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[157],"tags":[],"class_list":{"0":"post-14879","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-accounting"},"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>Days Sales Outstanding (DSO): Meaning, Formula, and Use Cases<\/title>\n<meta name=\"description\" content=\"Days Sales Outstanding (DSO) is a metric that measures the average number of days it takes to collect payments from credit sales.\" \/>\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\/days-sales-outstanding\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Days Sales Outstanding (DSO): Meaning, Formula, and Use Cases\" \/>\n<meta property=\"og:description\" content=\"Days Sales Outstanding (DSO) is a metric that measures the average number of days it takes to collect payments from credit sales.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Philippine Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-15T09:30:23+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-22T09:46:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"675\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Nur Fi&#039;llia Nugrahani\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Nur Fi&#039;llia Nugrahani\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/\",\"name\":\"Days Sales Outstanding (DSO): Meaning, Formula, and Use Cases\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding.webp\",\"datePublished\":\"2025-01-15T09:30:23+00:00\",\"dateModified\":\"2025-12-22T09:46:35+00:00\",\"author\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/361edd80bf6a2b487c3c8bb5b4519fb2\"},\"description\":\"Days Sales Outstanding (DSO) is a metric that measures the average number of days it takes to collect payments from credit sales.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/#breadcrumb\"},\"inLanguage\":\"en-PH\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-PH\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding.webp\",\"width\":1200,\"height\":675,\"caption\":\"days sales outstanding\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/ph\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Days Sales Outstanding (DSO): Meaning, Formula, and Use Cases\"}]},{\"@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\/361edd80bf6a2b487c3c8bb5b4519fb2\",\"name\":\"Nur Fi'llia Nugrahani\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-PH\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/08\/cropped-foto-profil-nuri-96x96.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/08\/cropped-foto-profil-nuri-96x96.webp\",\"caption\":\"Nur Fi'llia Nugrahani\"},\"description\":\"A content writer at HashMicro. Loves to learn a lot, always keen to observe, ask, and discuss about anything that comes across her mind. Has been writing high-quality articles about technology and business practices.\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/author\/fillia-nugrahani\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Days Sales Outstanding (DSO): Meaning, Formula, and Use Cases","description":"Days Sales Outstanding (DSO) is a metric that measures the average number of days it takes to collect payments from credit sales.","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\/days-sales-outstanding\/","og_locale":"en_US","og_type":"article","og_title":"Days Sales Outstanding (DSO): Meaning, Formula, and Use Cases","og_description":"Days Sales Outstanding (DSO) is a metric that measures the average number of days it takes to collect payments from credit sales.","og_url":"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/","og_site_name":"HashMicro Philippine Blog","article_published_time":"2025-01-15T09:30:23+00:00","article_modified_time":"2025-12-22T09:46:35+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding.webp","type":"image\/webp"}],"author":"Nur Fi'llia Nugrahani","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Nur Fi'llia Nugrahani","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/","url":"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/","name":"Days Sales Outstanding (DSO): Meaning, Formula, and Use Cases","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding.webp","datePublished":"2025-01-15T09:30:23+00:00","dateModified":"2025-12-22T09:46:35+00:00","author":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/361edd80bf6a2b487c3c8bb5b4519fb2"},"description":"Days Sales Outstanding (DSO) is a metric that measures the average number of days it takes to collect payments from credit sales.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/#breadcrumb"},"inLanguage":"en-PH","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/"]}]},{"@type":"ImageObject","inLanguage":"en-PH","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/#primaryimage","url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding.webp","contentUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/days-sales-outstanding.webp","width":1200,"height":675,"caption":"days sales outstanding"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/days-sales-outstanding\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/ph\/blog\/"},{"@type":"ListItem","position":2,"name":"Days Sales Outstanding (DSO): Meaning, Formula, and Use Cases"}]},{"@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\/361edd80bf6a2b487c3c8bb5b4519fb2","name":"Nur Fi'llia Nugrahani","image":{"@type":"ImageObject","inLanguage":"en-PH","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/08\/cropped-foto-profil-nuri-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/08\/cropped-foto-profil-nuri-96x96.webp","caption":"Nur Fi'llia Nugrahani"},"description":"A content writer at HashMicro. Loves to learn a lot, always keen to observe, ask, and discuss about anything that comes across her mind. Has been writing high-quality articles about technology and business practices.","url":"https:\/\/www.hashmicro.com\/ph\/blog\/author\/fillia-nugrahani\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/14879","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\/14"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/comments?post=14879"}],"version-history":[{"count":6,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/14879\/revisions"}],"predecessor-version":[{"id":30002,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/14879\/revisions\/30002"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media\/14888"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media?parent=14879"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/categories?post=14879"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/tags?post=14879"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}