{"id":12629,"date":"2024-12-02T04:10:05","date_gmt":"2024-12-02T04:10:05","guid":{"rendered":"https:\/\/www.hashmicro.com\/ph\/blog\/?p=12629"},"modified":"2026-04-10T05:01:15","modified_gmt":"2026-04-10T05:01:15","slug":"bir-esales","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/","title":{"rendered":"What Is BIR eSales in the Philippines? How It Works and Compliance Guide (2026)"},"content":{"rendered":"<p>Businesses in the Philippines are increasingly required to submit sales data and tax reports through digital platforms, one of which is the BIR eSales system. This system is used to support electronic reporting and improve transparency in tax compliance.<\/p>\n<p>In practice, users often experience challenges such as system slowdowns, temporary outages, or interfaces that are not always intuitive, especially during peak filing periods. These issues can make compliance tasks more time-consuming for finance teams.<\/p>\n<p>Even with these limitations, BIR eSales remains a key part of the country\u2019s tax reporting framework. Understanding how it works, its main functions, components, and common issues helps businesses manage compliance more effectively.<\/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;\"><span style=\"font-weight: 400;\"><a href=\"#what\">BIR eSales is<\/a> an online system that simplifies tax filing for businesses in the Philippines by allowing electronic submission of sales data and ensuring compliance with BIR standards.<\/span><\/li>\n<li style=\"font-weight: 400;\"><span style=\"font-weight: 400;\">Despite its benefits, BIR eSales users may <a href=\"#issues\">encounter issues<\/a> like system downtime, slow processin and compatibility problems that can delay tax filing.<\/span><\/li>\n<li style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/sales-management-software\/\"><span style=\"font-weight: 400;\">Sales management t<\/span>ools<\/a><span style=\"font-weight: 400;\"> offer a more efficient solution for businesses looking to automate and streamline their sales processes.<\/span><\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400;\"><div id=\"toc_group_article\" style=''>\r\n\t<p style='font-size:25px;font-weight:bold; margin-bottom:0px'>\r\n\t\tTable of Contents\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div>\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Content Lists<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 20px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n  padding-top: 20px;\r\n  margin-top: 0px;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 84% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\/* \t\t\tright: 5%; *\/\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<style>\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor:#000;\r\n\t\tmargin-bottom: 10px;\r\n\t\ttransition:all 0.2s ease-in-out;\r\n\t\tfont-size:15px\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#list_toc_float li a{margin-bottom:0px}\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:768px){\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t \/* custom scrollbar style *\/\r\n::-webkit-scrollbar {\r\n    width: 7px;\r\n}\r\n::-webkit-scrollbar-track {\r\n    background: #d7a2a4;\r\n}\r\n::-webkit-scrollbar-thumb {\r\n    background: #b1252d;\r\n    border-radius: 15px;\r\n}\t\t\r\n\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n\t\t\/\/ Function to handle click on all <a> elements with href starting with #\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst targetId = this.getAttribute('href').substring(1);\r\n\t\t\tconst targetElement = document.getElementById(targetId);\r\n\r\n\t\t\tif (targetElement) {\r\n\t\t\t\tconst headerHeight = document.querySelector('#toc .header').offsetHeight;\r\n\t\t\t\tconst navbarHeight = document.getElementById('tdi_34') ? document.getElementById('tdi_34').offsetHeight : 0;\r\n\t\t\t\tconst windowHeight = window.innerHeight;\r\n\t\t\t\tconst targetOffset = targetElement.offsetTop;\r\n\t\t\t\tconst scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight) - navbarHeight - 40;\r\n\r\n\t\t\t\twindow.scrollTo({\r\n\t\t\t\t\ttop: scrollTo,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Add event listener for all <a> elements in toc-list and list-toc\r\n\t\tconst titleLinks = document.querySelectorAll('#toc-list a, #list_toc a');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n<\/script>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with class 'td-post-content'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within the article\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title');\r\n\r\n\/\/ Sticky TOC and update heading\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 700;\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\tconst panel2 = document.querySelector(\"#toc .list\");\r\n\tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n  let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n  \/\/ Function to handle scroll and add\/remove .sticky class\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Highlight user progress as the heading comes\r\n    headers.forEach(header => {\r\n\t\tconst headerTop = header.offsetTop;\r\n\t\tconst headerHeight = header.clientHeight;\r\n\t\tif(window.innerWidth < 767){\r\n\t\t\ttocTitle.textContent = 'Table of Contents'; \/\/ Selalu pertahankan judul ini di mobile\r\n\t\t} else {\r\n\t\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\t\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\t\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\t\t\t\ttocTitle.textContent = currentHeaderText;\r\n\t\t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader != '') {\r\n\t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\t\t\t  link.classList.add('active');\r\n\t\t  }\r\n\t  }\r\n    });\r\n\r\n    \/\/ Update TOC title if sticky\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n        toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n        toc.style.backgroundColor = \"#FFF\";\r\n\t\tpanel2.style.height = '0px';\r\n\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t  if(window.innerWidth < 767){\r\n\t\t\t  tocTitle.textContent = 'Table of Contents'; \/\/ Reset title\r\n       \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\t\t  }\r\n      }\r\n      if (currentHeader) {\r\n        tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n      }\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset'; \/\/ Reset to original width\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Table of Contents'; \/\/ Reset title\r\n\t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\t\ticon.style.transform = \"rotate(180deg)\";\r\n    }\r\n  }\r\n\r\n    \/\/ Attach the scroll event listener to the window\r\n    window.addEventListener('scroll', handleScroll);\r\n\r\n    \/\/ Initial call to handleScroll to set the correct state on load\r\n    handleScroll();\r\n});\r\n\t\r\n\t\/\/ Open toggle TOC\r\n\t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\t\tvar toc = document.querySelector(\"#toc\");\r\n\t\tvar icon = document.querySelector(\".toc-icon\");\r\n\t\tconst tocTitle = document.querySelector('#toc-title');\r\n\t\tconst tocs = document.querySelector('#toc.sticky');\r\n \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\t\t  tocHeader.addEventListener(\"click\", function() {\r\n\t\t\tvar panel = this.nextElementSibling;\r\n\t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t\t\tif(window.innerWidth > 768){\r\n\t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\t\t\t\t}\r\n\t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\t\t\t} else {\r\n\t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t  tocTitle.textContent = 'Table of Contents'; \/\/ Reset title\r\n\t\t\t\ttoc.style.paddingBottom = '24px';\r\n\t\t\t \tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t  });\r\n\r\n\t\t  \/\/ Close TOC when a link inside it is clicked\r\n\t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\t\t  tocLinks.forEach(function(link) {\r\n\t\t\tlink.addEventListener(\"click\", function() {\r\n\t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t});\r\n\t\t  });\r\n\t\t});\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\t\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!-- <script>\r\n\tdocument.addEventListener('DOMContentLoaded', function() {\r\n        let headerCounter = 0; \/\/ Counter to generate unique IDs\r\n\r\n\t\t\/\/ Function to generate ID in header0, header1, etc. format\r\n\t\tfunction formatId() {\r\n\t\t\treturn `header-${headerCounter++}`; \/\/ ID format: header0, header1, etc.\r\n\t\t}\r\n\r\n\/\/ \t\tfunction formatId(text) {\r\n\/\/             return text.trim().replace(\/[^\\w\\d]+\/g, '_');\r\n\/\/         }\r\n\t\r\n        \/\/ Function to create nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Object to store list of h2 and h3 with their titles\r\n        const headings = [];\r\n\r\n           \/\/ Get all h2 and h3 elements\r\n        \/\/ Get all h2 and h3 elements\r\n\t\tconst elements = document.querySelectorAll('.td-post-content h2');\r\n\r\n\t\telements.forEach(element => {\r\n\t\t\tif (element.tagName === 'H2') {\r\n\t\t\t\tconst id = formatId(); \/\/ Generate new ID\r\n\t\t\t\telement.id = id; \/\/ Set ID to h2 element\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Hide Key Takeaways di ToC\r\n\t\t\t\theadings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n\t\t\t} else if (element.tagName === 'H3') {\r\n\t\t\t\tconst id = formatId(); \/\/ Generate new ID\r\n\t\t\t\telement.id = id; \/\/ Set ID to h3 element\r\n\t\t\t\tif (headings.length > 0) {\r\n\t\t\t\t\theadings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t});\r\n       \/\/ Create HTML list from headings object\r\n\t\tconst ul = document.getElementById('list_toc');\r\n\t\tlet currentUl = ul;\r\n\t\theadings.forEach(heading => {\r\n\t\t\tconst li = document.createElement('li');\r\n\t\t\tconst a = document.createElement('a');\r\n\t\t\ta.textContent = heading.title;\r\n\t\t\ta.href = `#${heading.id}`; \/\/ Use the newly generated ID\r\n\t\t\tli.appendChild(a);\r\n\r\n\t\t\tif (heading.level === 'h2') {\r\n\t\t\t\tcurrentUl = li;\r\n\t\t\t\tul.appendChild(li);\r\n\t\t\t} else if (heading.level === 'h3') {\r\n\t\t\t\tif (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n\t\t\t\t\tconst nestedUl = document.createElement('ul');\r\n\t\t\t\t\tcurrentUl.appendChild(nestedUl);\r\n\t\t\t\t\tcurrentUl = nestedUl;\r\n\t\t\t\t}\r\n\t\t\t\tcurrentUl.appendChild(li);\r\n\t\t\t}\r\n\r\n\t\t\tcreateNestedList(li, heading.children);\r\n\t\t});\r\n\t\t\/\/ Get ul element with id 'list_toc'\r\n\t\tconst ulFloat = document.getElementById('list_toc');\r\n\r\n\t\t\/\/ Get content (child elements) from ul with id 'list_toc'\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\r\n\t\t\/\/ Get ul element with id 'list_toc_float'\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\r\n\t\t\/\/ Add content obtained from 'list_toc' to ul with id 'list_toc_float'\r\n\t\tulToc.append(...clonedChildren);\r\n\r\n\r\n        \/\/ Function to get navbar height\r\n\t\tfunction getNavbarHeight() {\r\n\t\t\tconst navbar = document.getElementById('tdi_34');\r\n\t\t\treturn navbar ? navbar.offsetHeight : 0;\r\n\t\t}\r\n\r\n\t\t\/\/ Function to add scroll position offset\r\n\t\tfunction scrollToElementWithOffset(elementId) {\r\n\t\t\tconst element = document.getElementById(elementId);\r\n\t\t\tif (element) {\r\n\t\t\t\tconst offset = getNavbarHeight();\r\n\t\t\t\tconst elementPosition = element.getBoundingClientRect().top;\r\n\t\t\t\tconst offsetPosition = elementPosition - offset - 40;\r\n\r\n\t\t\t\twindow.scrollBy({\r\n\t\t\t\t\ttop: offsetPosition,\r\n\t\t\t\t\tbehavior: 'smooth'\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t\/\/ Function to handle title link click\r\n\t\tfunction handleTitleClick(event) {\r\n\t\t\tevent.preventDefault();\r\n\t\t\tconst href = event.target.getAttribute('href').substr(1);\r\n\t\t\tscrollToElementWithOffset(href);\r\n\t\t}\r\n\r\n\t\t\/\/ Add event listener for all title links\r\n\t\tconst titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n\t\ttitleLinks.forEach(link => {\r\n\t\t\tlink.addEventListener('click', handleTitleClick);\r\n\t\t});\r\n\t});\r\n    <\/script> -->\r\n<\/span><br \/>\n<span id=\"what\"><\/span><\/p>\n<h2><b>What is BIR eSales?<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">BIR eSales is an online tax filing system launched by the Bureau of Internal Revenue (BIR) in the Philippines to simplify tax compliance. It allows businesses, especially MSMEs, to electronically submit sales data and tax documents.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Unlike traditional methods that involve paperwork and physical submissions, eSales offers a fully digital solution. Taxpayers can file and pay taxes online, reducing administrative burdens.\u00a0<\/span><\/p>\n<p><i><span style=\"font-weight: 400;\">Sa pamamagitan ng<\/span><\/i><span style=\"font-weight: 400;\"> BIR eSales, businesses can generate and submit forms like BIR Form 2307 and BIR Form 2551Q (Quarterly Percentage Tax Return). It supports VAT, income tax, and other taxes, helping modernize tax processes in the Philippines.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><\/span><\/p>\n<h2><b>How Does BIR eSales Work?<\/b><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-18243\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/philippines-esales-bir.webp\" alt=\"philippines esales bir\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/philippines-esales-bir.webp 1200w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/philippines-esales-bir-300x169.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/philippines-esales-bir-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/philippines-esales-bir-768x432.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/philippines-esales-bir-747x420.webp 747w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/philippines-esales-bir-150x84.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/philippines-esales-bir-696x392.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/philippines-esales-bir-1068x601.webp 1068w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">BIR eSales operates through an integrated online platform where taxpayers can enter sales data, upload documents, and make the <\/span><span style=\"font-weight: 400;\">BIR check payment format<\/span><span style=\"font-weight: 400;\">. Users must create an account to access the platform, then fill out tax forms.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Businesses input sales data, ensuring all necessary details, like amounts and dates, are included. The system validates the data in real-time, checking for inconsistencies and reducing errors. Once completed, users can electronically submit reports to the BIR.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">After submission, a confirmation notice serves as proof of filing. BIR eSales integrates with payment channels, allowing businesses to settle taxes via accredited banks or payment gateways.\u00a0<\/span><\/p>\n<a href=\"https:\/\/www.hashmicro.com\/ph\/offer\/download-erp-pricing-list?medium=banner-article\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/bir-skema-harga.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/bir-skema-harga.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/mobile-bir-skema-harga.webp\" alt=\"SkemaHarga\" 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><span id=\"template\">The Benefit of BIR eSales\u00a0<\/span><\/b><\/h2>\n<p>One of the most valuable benefits of BIR eSales is how it simplifies the preparation of <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/how-to-create-sales-report\/\">revenue summary data<\/a>. By completing all required fields accurately and following the BIR\u2019s check payment format, businesses can minimize errors, penalties, and processing delays.<\/p>\n<p>Key benefits of BIR eSales include:<\/p>\n<ul>\n<li><strong>Accurate Tax Liability Calculations:<\/strong> The system applies pre-set tax rates and methods, ensuring precise computation of tax dues without the need for manual adjustments.<\/li>\n<li><strong>Elimination of Manual Errors<\/strong>: Users no longer need to spend time formatting reports or performing calculations by hand. This automated approach minimizes human errors, especially for complex tax filings.<\/li>\n<li><strong>Continuous Compliance Updates<\/strong>: The platform automatically integrates changes in tax regulations, so users always work with the latest requirements. This system removes the burden of manually monitoring updates.<\/li>\n<\/ul>\n<p>With BIR eSales, businesses can confidently manage their tax obligations, avoid unnecessary penalties, and ensure timely submissions.<\/p>\n<h2><b>Who Needs BIR eSales?<\/b><\/h2>\n<p>BIR eSales helps small to medium-sized businesses submit sales data and tax returns efficiently, making tax filing easier for registered entities like sole proprietors, corporations, and professionals.<\/p>\n<p>According to the Bureau of Internal Revenue (BIR) <a href=\"https:\/\/bir-cdn.bir.gov.ph\/BIR\/pdf\/63728RMO%2012-2012.pdf\">Revenue Memorandum Order<\/a> No. 12-2012, all taxpayers utilizing:<\/p>\n<ul>\n<li>Cash Register Machines (CRMs)<\/li>\n<li>Point-of-Sale (POS) machines<\/li>\n<li>and other similar business machines<\/li>\n<\/ul>\n<p>are required to submit a monthly sales report for each machine through the eSales System.<\/p>\n<p>The deadlines for submission are as follows:<\/p>\n<ul>\n<li>For taxpayers with an even last digit in their 9-digit TIN, reports must be submitted on or before the 8th day of the following month.<\/li>\n<li>For those with an odd last digit, the deadline is on or before the 10th day of the following month.<\/li>\n<\/ul>\n<p>Businesses involved in sales or services requiring official tax documentation must comply with these requirements through BIR eSales.<\/p>\n<p><span style=\"font-weight: 400;\"><strong>Retailers, wholesalers, and online merchants<\/strong> with high transaction volumes can also use BIR eSales. The platform handles large amounts of sales data efficiently, ensuring accurate records and compliance with tax regulations.<\/span><\/p>\n<h2><b>The Key Components of BIR eSales<\/b><\/h2>\n<p><img decoding=\"async\" class=\"alignnone wp-image-18209 size-large\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Consider-tax-incentives-1024x576.webp\" alt=\"The Key Components of BIR eSales\" width=\"696\" height=\"392\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Consider-tax-incentives-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Consider-tax-incentives-300x169.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Consider-tax-incentives-768x432.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Consider-tax-incentives-747x420.webp 747w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Consider-tax-incentives-150x84.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Consider-tax-incentives-696x392.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Consider-tax-incentives-1068x601.webp 1068w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/Consider-tax-incentives.webp 1200w\" sizes=\"(max-width: 696px) 100vw, 696px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">BIR eSales is an online system that simplifies tax filing for businesses. It is designed to make submitting tax returns, paying dues, and keeping records more efficient and less prone to errors.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Below are the main components that make BIR eSales an essential tool for business owners, from the <a href=\"https:\/\/bir-cdn.bir.gov.ph\/BIR\/pdf\/63728RMO%2012-2012.pdf\">Bureau of Internal Revenue (BIR)<\/a> itself:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><strong>Monthly Sales Reporting<\/strong>: Businesses are required to submit a monthly sales report for each registered machine, including details like the Machine Identification Number (MIN), sales period, and the serial number of the last receipt issued.<\/li>\n<li style=\"font-weight: 400;\"><strong>Machine Identification Number (MIN)<\/strong>: Each machine is assigned a unique MIN when registered in the system. This number helps ensure accurate sales tracking and reporting.<\/li>\n<li style=\"font-weight: 400;\"><strong>User Enrollment<\/strong>: Companies must enroll an authorized user to access the eSales System. This involves submitting a notarized letter from the company\u2019s authorized officer. Once approved, the user can log in to submit sales reports.<\/li>\n<li style=\"font-weight: 400;\"><strong>Data Submission Options<\/strong>: The system offers two ways to submit sales data: manual encoding for businesses with fewer machines, and CSV file uploads for businesses with many machines, allowing up to 999 records per file.<\/li>\n<li style=\"font-weight: 400;\"><strong>Compliance Monitoring<\/strong>: After successfully submitting a sales report, the system generates a Sales Report Number (SRN) as proof of receipt. Businesses can also use the platform to check submitted reports or update passwords for better security.<\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">With these components, BIR eSales aims to streamline the tax filing process, <\/span><i><span style=\"font-weight: 400;\">tumutulong sa mga negosyo na manatiling sumusunod sa regulasyon habang nakakatipid ng oras at <\/span><\/i><span style=\"font-weight: 400;\">reducing administrative burdens<\/span><i><span style=\"font-weight: 400;\">.<\/span><\/i><br \/>\n<span id=\"issues\"><\/span><\/p>\n<h2><strong>How to Register and Use BIR eSales: Step-by-Step Guide<\/strong><\/h2>\n<p>The <strong data-start=\"369\" data-end=\"383\">BIR eSales<\/strong> system is designed to help businesses in the Philippines electronically submit their sales data to the Bureau of Internal Revenue (BIR) for tax compliance. If you haven&#8217;t registered your system yet, it\u2019s essential to complete the process to operate legally and submit reports efficiently.<\/p>\n<ul>\n<li data-section-id=\"1yzhicu\" data-start=\"172\" data-end=\"393\"><strong data-start=\"175\" data-end=\"209\">Prepare the Required Documents<\/strong><br data-start=\"209\" data-end=\"212\" \/>Ensure that you have the necessary documents, such as your Taxpayer Identification Number (TIN), business permit, and proof of address, before beginning the registration process.<\/li>\n<li data-section-id=\"1eo3uf7\" data-start=\"395\" data-end=\"574\"><strong data-start=\"398\" data-end=\"422\">Register via eAccReg<\/strong><br data-start=\"422\" data-end=\"425\" \/>Go to the BIR&#8217;s eAccReg system and fill out the required forms. This is the first step to getting your POS system accredited for eSales reporting.<\/li>\n<li data-section-id=\"ov5mtk\" data-start=\"576\" data-end=\"772\"><strong data-start=\"579\" data-end=\"608\">Submit eSales Application<\/strong><br data-start=\"608\" data-end=\"611\" \/>Submit the completed application for eSales registration through the BIR\u2019s online system. Follow the instructions provided to avoid any delays in the process.<\/li>\n<li data-section-id=\"q5nzvi\" data-start=\"774\" data-end=\"963\"><strong data-start=\"777\" data-end=\"832\">Wait for Approval and Issuance of BIR eSales Permit<\/strong><br data-start=\"832\" data-end=\"835\" \/>After submission, wait for the BIR to process your application. This may take several weeks, depending on the BIR\u2019s workload.<\/li>\n<li data-section-id=\"2avbqk\" data-start=\"965\" data-end=\"1116\"><strong data-start=\"968\" data-end=\"997\">Start Using eSales System<\/strong><br data-start=\"997\" data-end=\"1000\" \/>Once you receive your permit, you can start using the BIR eSales system to electronically submit your sales data.<\/li>\n<\/ul>\n<h2><strong>How to Submit eSales Report<\/strong><\/h2>\n<p>To stay compliant with the BIR&#8217;s reporting requirements, businesses must submit sales data regularly using the eSales system. This process ensures accuracy in tax filings and avoids discrepancies during audits. Here\u2019s how you can submit your eSales report seamlessly.<\/p>\n<ol data-start=\"1156\" data-end=\"1796\">\n<li data-section-id=\"1v01kz1\" data-start=\"1156\" data-end=\"1317\"><strong data-start=\"1159\" data-end=\"1190\">Log in to the eSales System<\/strong><br data-start=\"1190\" data-end=\"1193\" \/>Access the BIR eSales platform with your credentials. Make sure your system is fully set up to ensure accurate reporting.<\/li>\n<li data-section-id=\"1y9t24f\" data-start=\"1319\" data-end=\"1478\"><strong data-start=\"1322\" data-end=\"1349\">Fill Out the Sales Data<\/strong><br data-start=\"1349\" data-end=\"1352\" \/>Input your sales information for the period you are reporting. This includes sales totals, taxes, and other necessary data.<\/li>\n<li data-section-id=\"1rvuj7k\" data-start=\"1480\" data-end=\"1651\"><strong data-start=\"1483\" data-end=\"1504\">Submit the Report<\/strong><br data-start=\"1504\" data-end=\"1507\" \/>Once all fields are completed, submit your eSales report electronically. Double-check for any discrepancies before finalizing the submission.<\/li>\n<li data-section-id=\"1kx8ea6\" data-start=\"1653\" data-end=\"1796\"><strong data-start=\"1656\" data-end=\"1686\">Confirmation of Submission<\/strong><br data-start=\"1686\" data-end=\"1689\" \/>After submission, you will receive a confirmation from the BIR. Make sure to save this for your records.<\/li>\n<\/ol>\n<h2><strong>BIR eSales Policies and Compliance Rules for 2026<\/strong><\/h2>\n<p>To ensure compliance with BIR regulations in 2026, businesses must be familiar with the following key policies and rules related to <strong data-start=\"310\" data-end=\"324\">BIR eSales<\/strong> reporting:<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol data-start=\"337\" data-end=\"2542\">\n<li data-section-id=\"ao9gvn\" data-start=\"337\" data-end=\"867\"><strong data-start=\"340\" data-end=\"377\">Monthly e-Sales Report Submission<\/strong><br data-start=\"377\" data-end=\"380\" \/>Businesses using <strong data-start=\"400\" data-end=\"419\">CRM\/POS systems<\/strong> or similar business machines must submit their <strong data-start=\"467\" data-end=\"493\">monthly e-Sales report<\/strong> to BIR. This submission includes a summary of sales and taxes collected for the reporting period. Failure to comply with these submission requirements can lead to penalties. The deadline for submission is <strong data-start=\"699\" data-end=\"725\">the 20th of each month<\/strong>, with a grace period until 11:59 PM of that day. Ensure that submissions are filed on time to avoid penalties and issues with tax compliance.<\/li>\n<li data-section-id=\"1whl6z0\" data-start=\"869\" data-end=\"1323\"><strong data-start=\"872\" data-end=\"915\">Machine Registration and Identification<\/strong><br data-start=\"915\" data-end=\"918\" \/>As per <strong data-start=\"928\" data-end=\"947\">RMO No. 24-2023<\/strong>, all businesses using CRM\/POS systems must ensure that their machines are properly registered with the BIR. This includes obtaining the correct <strong data-start=\"1092\" data-end=\"1128\">Serial Registration Number (SRN)<\/strong> and linking it to the business&#8217;s tax identification number (TIN). The e-Sales system requires businesses to submit data that ties directly to the registered machine to maintain accurate records.<\/li>\n<li data-section-id=\"152omvz\" data-start=\"1325\" data-end=\"1689\"><strong data-start=\"1328\" data-end=\"1377\">Amendment and Correction of Submitted Reports<\/strong><br data-start=\"1377\" data-end=\"1380\" \/>In case of errors in the submitted e-Sales report, businesses are allowed to amend the report up to <strong data-start=\"1483\" data-end=\"1498\">three times<\/strong>. Any amendments must be done within the same reporting period to maintain accurate records. It is essential to keep a <strong data-start=\"1617\" data-end=\"1644\">digital copy of the SRN<\/strong> as proof of submission for future reference.<\/li>\n<li data-section-id=\"1vkweie\" data-start=\"1691\" data-end=\"2148\"><strong data-start=\"1694\" data-end=\"1726\">Data Security and Compliance<\/strong><br data-start=\"1726\" data-end=\"1729\" \/>Businesses must ensure that all customer and transaction data submitted to BIR via the e-Sales system complies with data protection regulations, such as the <strong data-start=\"1889\" data-end=\"1917\">Data Privacy Act of 2012<\/strong>. To safeguard sensitive information, businesses should employ secure payment processing and data encryption methods in their CRM\/POS systems. Any breach of data security could lead to significant penalties and reputational damage.<\/li>\n<li data-section-id=\"1ogtp4s\" data-start=\"2150\" data-end=\"2542\"><strong data-start=\"2153\" data-end=\"2183\">Penalty for Non-Compliance<\/strong><br data-start=\"2183\" data-end=\"2186\" \/>Failure to comply with the BIR e-Sales reporting requirements can result in severe consequences, including <strong data-start=\"2296\" data-end=\"2344\">fines, late fees, and potential legal action<\/strong>. Businesses must stay up to date with any updates or amendments to BIR policies to avoid these penalties. Non-compliance can also lead to suspension of business permits or tax-related restrictions.<\/li>\n<\/ol>\n<\/li>\n<\/ol>\n<ol>\n<li style=\"list-style-type: none;\"><\/li>\n<\/ol>\n<h2><strong>Common Mistakes to Avoid When Using BIR eSales<\/strong><\/h2>\n<p>Using BIR eSales is straightforward, but some mistakes can hinder your tax filing process. Here are the key issues to watch out for:<\/p>\n<p><strong>1. Inaccurate Data Entry<\/strong><br \/>\nAlways verify all information before submission. Mistakes in tax amounts, business details, or other entries can lead to compliance issues, delays, or financial penalties. Implementing a double-check system can help minimize these errors.<\/p>\n<p><strong>2. Missing Reporting Deadlines<\/strong><br \/>\nFailing to meet filing deadlines can result in fines or penalties. Set reminders or use scheduling tools to ensure timely submissions, avoiding unnecessary costs or complications.<\/p>\n<p><strong>3. Outdated Business Information<\/strong><br \/>\nKeep your business profile up-to-date, including address, contact details, and tax identification number (TIN). Outdated records can cause errors in filing and may lead to miscommunication with tax authorities.<\/p>\n<p><strong>4. Neglecting System Notifications<\/strong><br \/>\nPay close attention to updates or alerts from the BIR eSales system. These notifications might include critical changes to tax filing processes or system-related issues that require immediate attention.<\/p>\n<p><strong>5. Failure to Back Up Records<\/strong><br \/>\nAlways maintain a backup of your <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/sales-journal\/\">sales transaction record<\/a> and tax records. System glitches or unexpected issues can lead to data loss, impacting your ability to meet compliance requirements.<\/p>\n<p><strong>6. Not Reviewing Compliance Updates<\/strong><br \/>\nStay informed about new tax regulations or updates from the Bureau of Internal Revenue (BIR). Regularly reviewing updates ensures your submissions meet the latest compliance standards, avoiding unnecessary penalties.<\/p>\n<h2><b><span id=\"issues\">Common Problems with BIR eSales<\/span><\/b><\/h2>\n<p><span style=\"font-weight: 400;\">While BIR eSales offers significant benefits, some users experience challenges that can affect the filing process. These issues, though common, can often be mitigated with a better understanding of the system.\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\"><b>System downtime:<\/b><span style=\"font-weight: 400;\"> Occasionally, the platform experiences downtime, especially during peak filing periods. This can disrupt operations and delay submissions.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>Slow processing times:<\/b><span style=\"font-weight: 400;\"> Errors or delays in system processing can result in longer waiting times for tax submissions. Thus, risking missed <\/span><span style=\"font-weight: 400;\">eSales deadline<\/span><span style=\"font-weight: 400;\"> and potential penalties.<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>User interface issues:<\/b><span style=\"font-weight: 400;\"> Despite efforts to create a user-friendly platform, some users, especially those with limited technical expertise. Completing tasks like making complex tax calculations can be overwhelming.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\"><b>Compatibility problems:<\/b><span style=\"font-weight: 400;\"> Businesses may encounter submission failures when uploaded files don\u2019t meet size or format requirements, often forcing them to contact BIR support and causing delays<\/span><\/li>\n<\/ul>\n<h2><b>Case Study:\u00a0<\/b><strong>CRM Sales Implementation to Improve Inventory Visibility and BIR Compliance in Manufacturing Industry<\/strong><\/h2>\n<p>As a tire manufacturing company operating in a highly regulated environment, Yokohama manages complex inventory flows involving raw materials, work-in-progress items, and finished goods.<\/p>\n<p>Before implementing a centralized CRM sales system, Yokohama relied on manual and partially disconnected processes across sales, inventory, purchasing, and accounting. This lack of integration limited visibility into sales-driven stock movement and delayed reconciliation.<\/p>\n<p>By adopting a<a href=\"https:\/\/www.hashmicro.com\/ph\/sales-management-software\"> HashMicro&#8217;s Sales Managament System<\/a> platform integrated with inventory, accounting, and purchasing functions (SIAP), Yokohama gained real-time visibility into sales transactions and their impact on stock levels.<\/p>\n<p>The system enabled more accurate sales recording, automated reporting aligned with BIR requirements, and better coordination between sales and supply chain teams. As a result, Yokohama improved inventory accuracy and streamlined compliance processes.<\/p>\n<h2><b>Conclusion<\/b><\/h2>\n<p>BIR eSales helps businesses simplify tax filing and stay compliant with Philippine tax regulations. While the system offers clear advantages, occasional technical issues may still arise, particularly during peak filing periods.<\/p>\n<p>To manage these challenges, many businesses turn to modern sales and reporting systems that help streamline transactions, organize sales data, and reduce manual work. Automation can improve accuracy and minimize delays.<\/p>\n<p>For businesses looking to improve sales reporting and operational efficiency, exploring a solution that fits your workflow can make a significant difference. Consider a <a href=\"https:\/\/www.hashmicro.com\/ph\/free-product-tour\/\">free consultation<\/a> to assess the right approach for optimizing your sales processes.<\/p>\n<p><span data-sheets-root=\"1\"><a href=\"https:\/\/www.hashmicro.com\/ph\/offer\/download-erp-pricing-list?medium=banner-article\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/bir-skema-harga.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/bir-skema-harga.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/10\/mobile-bir-skema-harga.webp\" alt=\"SkemaHarga\" 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><\/span><\/p>\n<h2><strong>Frequently Asked Questions about BIR eSales<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details open=\"open\">\n<summary><strong>What is the deadline for eSales submission?<\/strong><\/summary>\n<p>eSales reports must be submitted monthly. The specific deadline can vary, so it&#8217;s essential to consult the BIR&#8217;s official guidelines or your local Revenue District Office (RDO) for precise dates.<\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>How much is the penalty for late filing of eSales BIR?<\/strong><\/summary>\n<p>Failure to submit the eSales report on time can result in a penalty of PHP 1,000 per month for each machine, as stipulated in Revenue Memorandum Order No. 21-2015. Additionally, other penalties such as surcharges and interest may apply depending on the circumstances.<\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>Can eSales be amended?<\/strong><\/summary>\n<p>Yes, eSales reports can be amended with a written justification submitted to your RDO or LTS office. Adjusting entries must also be properly recorded in your books of accounts, as outlined in Revenue Memorandum Circular No. 56-2015.<\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>Who is required to file eSales?<\/strong><\/summary>\n<p>Businesses required to use Electronic Cash Registers (ECRs) and those exceeding the annual threshold of P3,000,000.00 in gross sales or receipts are required to file eSales.<\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>How to encode sales in eSALES BIR?<\/strong><\/summary>\n<p data-sourcepos=\"3:4-3:61\">To encode sales in eSALES BIR, start by logging into your eSALES account. Navigate to the &#8220;Encode Sales&#8221; tab and select the relevant branch, month, year, and machine identification number. Next, input the end range of the Official Receipt along with the corresponding sales details. After entering the necessary information, click &#8220;Add to List&#8221; and then &#8220;Confirm Transaction&#8221; to proceed. Finally, click &#8220;Save&#8221; to successfully submit the sales report.<\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>What is the electronic sales reporting system for BIR?<\/strong><\/summary>\n<p>The BIR Electronic Sales Reporting System (eSRS) is the Bureau of Internal Revenue\u2019s digital channel for submitting sales invoice\/receipt data electronically as part of the Electronic Invoicing System (EIS) framework.<\/p>\n<p>In practice, businesses generate e-invoice data using BIR-compliant software, then transmit it to BIR, either by manual upload via the eSRS portal or through automated API submission. Afterward, BIR issues an acceptance or error notice for correction.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is BIR eSales?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"BIR eSales is the electronic sales reporting process used to submit sales data to the Bureau of Internal Revenue. It helps businesses report transaction records from POS systems, cash registers, or other accredited sales machines in line with BIR requirements.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Who is required to file eSales?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Businesses that use Electronic Cash Registers (ECRs) and those that meet the BIR threshold for required electronic sales reporting may need to file eSales. It is best to confirm the requirement with the relevant BIR guidelines or your assigned Revenue District Office.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What happens if you submit eSales late?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Late submission of eSales may result in penalties, surcharges, or other compliance issues based on the applicable BIR rules. Businesses should submit reports on time to avoid unnecessary fines and reporting problems.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Can eSales reports be amended?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. eSales reports may be amended when corrections are needed, usually with proper documentation and justification submitted to the appropriate BIR office. Any adjustment should also be reflected correctly in the company\u2019s books and supporting records.\"\n      }\n    }\n  ]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Businesses in the Philippines are increasingly required to submit sales data and tax reports through digital platforms, one of which is the BIR eSales system. This system is used to support electronic reporting and improve transparency in tax compliance. In practice, users often experience challenges such as system slowdowns, temporary outages, or interfaces that are [&hellip;]<\/p>\n","protected":false},"author":44,"featured_media":18273,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[195],"tags":[],"class_list":{"0":"post-12629","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-sales"},"acf":{"content_type_custom_acf":"","post_reviewer":""},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.6 (Yoast SEO v26.6) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>What is BIR eSales? How It Works &amp; Compliance Guide (2026)<\/title>\n<meta name=\"description\" content=\"BIR eSales is an online platform for submitting sales data electronically to the BIR. Learn how it works, who needs it, and how to avoid compliance mistakes.\" \/>\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\/bir-esales\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What Is BIR eSales in the Philippines? How It Works and Compliance Guide (2026)\" \/>\n<meta property=\"og:description\" content=\"BIR eSales is an online platform for submitting sales data electronically to the BIR. Learn how it works, who needs it, and how to avoid compliance mistakes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Philippine Blog\" \/>\n<meta property=\"article:published_time\" content=\"2024-12-02T04:10:05+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-10T05:01:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/bir-esales.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=\"Emmanuel Ramirez\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Emmanuel Ramirez\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"15 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\/bir-esales\/\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/\",\"name\":\"What is BIR eSales? How It Works & Compliance Guide (2026)\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/bir-esales.webp\",\"datePublished\":\"2024-12-02T04:10:05+00:00\",\"dateModified\":\"2026-04-10T05:01:15+00:00\",\"author\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/5a24defeabd2b1b698ade3f3e94670b6\"},\"description\":\"BIR eSales is an online platform for submitting sales data electronically to the BIR. Learn how it works, who needs it, and how to avoid compliance mistakes.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/#breadcrumb\"},\"inLanguage\":\"en-PH\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-PH\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/bir-esales.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/bir-esales.webp\",\"width\":1200,\"height\":675,\"caption\":\"BIR esales\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/ph\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What Is BIR eSales in the Philippines? How It Works and Compliance Guide (2026)\"}]},{\"@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\/5a24defeabd2b1b698ade3f3e94670b6\",\"name\":\"Emmanuel Ramirez\",\"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\/11\/Emmanuel-Ramirez-96x96.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/11\/Emmanuel-Ramirez-96x96.webp\",\"caption\":\"Emmanuel Ramirez\"},\"description\":\"Emmanuel Ramirez specializes in point-of-sale (POS) systems, developing content that explores features, benefits, and industry-specific applications. He crafts his pieces to be highly engaging and useful for retail and F&amp;B business owners.\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/author\/emmanuel-ramirez\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"What is BIR eSales? How It Works & Compliance Guide (2026)","description":"BIR eSales is an online platform for submitting sales data electronically to the BIR. Learn how it works, who needs it, and how to avoid compliance mistakes.","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\/bir-esales\/","og_locale":"en_US","og_type":"article","og_title":"What Is BIR eSales in the Philippines? How It Works and Compliance Guide (2026)","og_description":"BIR eSales is an online platform for submitting sales data electronically to the BIR. Learn how it works, who needs it, and how to avoid compliance mistakes.","og_url":"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/","og_site_name":"HashMicro Philippine Blog","article_published_time":"2024-12-02T04:10:05+00:00","article_modified_time":"2026-04-10T05:01:15+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/bir-esales.webp","type":"image\/webp"}],"author":"Emmanuel Ramirez","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Emmanuel Ramirez","Est. reading time":"15 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/","url":"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/","name":"What is BIR eSales? How It Works & Compliance Guide (2026)","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/bir-esales.webp","datePublished":"2024-12-02T04:10:05+00:00","dateModified":"2026-04-10T05:01:15+00:00","author":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/5a24defeabd2b1b698ade3f3e94670b6"},"description":"BIR eSales is an online platform for submitting sales data electronically to the BIR. Learn how it works, who needs it, and how to avoid compliance mistakes.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/#breadcrumb"},"inLanguage":"en-PH","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/"]}]},{"@type":"ImageObject","inLanguage":"en-PH","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/#primaryimage","url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/bir-esales.webp","contentUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2024\/12\/bir-esales.webp","width":1200,"height":675,"caption":"BIR esales"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/bir-esales\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/ph\/blog\/"},{"@type":"ListItem","position":2,"name":"What Is BIR eSales in the Philippines? How It Works and Compliance Guide (2026)"}]},{"@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\/5a24defeabd2b1b698ade3f3e94670b6","name":"Emmanuel Ramirez","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\/11\/Emmanuel-Ramirez-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/11\/Emmanuel-Ramirez-96x96.webp","caption":"Emmanuel Ramirez"},"description":"Emmanuel Ramirez specializes in point-of-sale (POS) systems, developing content that explores features, benefits, and industry-specific applications. He crafts his pieces to be highly engaging and useful for retail and F&amp;B business owners.","url":"https:\/\/www.hashmicro.com\/ph\/blog\/author\/emmanuel-ramirez\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/12629","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\/44"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/comments?post=12629"}],"version-history":[{"count":27,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/12629\/revisions"}],"predecessor-version":[{"id":34303,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/12629\/revisions\/34303"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media\/18273"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media?parent=12629"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/categories?post=12629"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/tags?post=12629"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}