{"id":14472,"date":"2025-01-07T10:04:47","date_gmt":"2025-01-07T10:04:47","guid":{"rendered":"https:\/\/www.hashmicro.com\/ph\/blog\/?p=14472"},"modified":"2026-04-10T04:05:36","modified_gmt":"2026-04-10T04:05:36","slug":"fiscal-year","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/","title":{"rendered":"Fiscal Year Philippines (2026): BIR rules, deadlines, and how to change"},"content":{"rendered":"<p>A fiscal year is simply the 12-month period a company or government uses for accounting and financial reporting. In the Philippines, it usually runs from January 1 to December 31\u2014same as the calendar year. But here&#8217;s where it gets interesting: some businesses don&#8217;t follow this standard schedule.<\/p>\n<p>Schools, for instance, often align their books with the academic calendar. Retailers might close their fiscal year after the holiday rush in January or February. And companies with foreign parent corporations sometimes sync with their headquarters&#8217; reporting cycle. The point? Your fiscal year doesn&#8217;t have to match the calendar year, though changing it requires BIR approval.<\/p>\n<p>Understanding how fiscal years work in the Philippine context matters for tax compliance, financial planning, and comparing your performance against industry benchmarks. Let&#8217;s break down what you need to know.<\/p>\n<p><span data-sheets-root=\"1\"><a href=\"https:\/\/www.hashmicro.com\/ph\/accounting-software?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/02\/accounting_definisi_en.webp\" data-desktop-src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/02\/accounting_definisi_en.webp\" data-mobile-src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2026\/02\/accounting_definisi_en_m.webp\" alt=\"Accounting_Definisi\" 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<\/span><\/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<p style=\"margin-bottom: 10px; font-size: 1.17em; font-weight: bold;\"><span style=\"background-color: #990000; color: #ffffff; padding: 5px;\"><b>Key Takeaways<\/b><\/span><\/p>\n<ul>\n<li><a href=\"#what\">The standard accounting period<\/a> for Philippine businesses follows the calendar year (January 1 to December 31), as mandated by the BIR.<\/li>\n<li><a href=\"#common\">Some organizations,<\/a> like schools, retailers, and multinational subsidiaries, may apply for alternative reporting periods with BIR approval.<\/li>\n<li><a href=\"#ITR\">For calendar-year businesses<\/a>, the ITR deadline is April 15. For BIR-approved non-calendar fiscal years, the deadline is the 15th day of the 4th month after the fiscal year ends.<\/li>\n<\/ul>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><b><span id=\"what\">What is a Fiscal Year?<\/span><\/b><\/h2>\n<p data-start=\"50\" data-end=\"261\">A fiscal year (FY) refers to a 12-month period used by businesses and governments to track financial performance. It sets the boundaries for tracking revenues, expenses, and profits for annual reports and taxes.<\/p>\n<p data-start=\"263\" data-end=\"561\">In the Philippines, most businesses and the government use the calendar year (January 1 to December 31) as their fiscal year, as required by the BIR for tax purposes. However, businesses with unique operational cycles or ties to international parent companies can apply for a different fiscal year.<\/p>\n<p data-start=\"563\" data-end=\"817\" data-is-last-node=\"\" data-is-only-node=\"\">Even with an approved alternative fiscal year, income tax returns are still filed based on the calendar year. The fiscal year just affects the internal financial reporting period, which may differ from the calendar year depending on the business&#8217;s needs.<\/p>\n<h2 id=\"benefits-of-an-alternative-accounting-period\"><strong>Why Some Businesses Use a Different Accounting Period<\/strong><\/h2>\n<article class=\"w-full text-token-text-primary focus-visible:outline-2 focus-visible:outline-offset-[-4px]\" dir=\"auto\" data-testid=\"conversation-turn-9\" data-scroll-anchor=\"true\">\n<div class=\"m-auto text-base py-[18px] px-6\">\n<div class=\"mx-auto flex flex-1 text-base gap-4 md:gap-5 lg:gap-6 md:max-w-3xl\">\n<div class=\"group\/conversation-turn relative flex w-full min-w-0 flex-col agent-turn @xs\/thread:px-0 @sm\/thread:px-1.5 @md\/thread:px-4\">\n<div class=\"flex-col gap-1 md:gap-3\">\n<div class=\"flex max-w-full flex-col flex-grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 whitespace-normal break-words text-start [.text-message+&amp;]:mt-5\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"60a9ffe6-b786-487b-8fdd-9780e5ee16f7\" data-message-model-slug=\"gpt-4o-mini\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden first:pt-[3px]\">\n<div class=\"markdown prose w-full break-words dark:prose-invert light\">\n<p data-start=\"79\" data-end=\"353\">Some businesses adopt a non-calendar fiscal year to align financial reporting with their operations. For example, retailers with peak sales during the Christmas season prefer to close their books in January or February, avoiding year-end reporting during their busiest time.<\/p>\n<p data-start=\"355\" data-end=\"550\">Seasonal businesses, such as beach resorts in Boracay, often end their fiscal year in June to capture the full high season, making it easier to analyze performance and plan for the upcoming year.<\/p>\n<p data-start=\"552\" data-end=\"779\" data-is-last-node=\"\" data-is-only-node=\"\">For subsidiaries of multinational companies, using the same fiscal year as the parent company simplifies consolidated reporting. This avoids the need for frequent adjustments when the parent company&#8217;s fiscal year ends in March.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/article>\n<h2 id=\"common-fiscal-year-examples-in-the-philippines\"><strong><span id=\"common\">Common Reporting Periods by Industry<\/span><\/strong><\/h2>\n<p>While most Philippine businesses stick to the calendar year, certain sectors have established patterns for alternative fiscal periods:<\/p>\n<ul>\n<li><strong>Government agencies:<\/strong>\u00a0All national and local government units follow January 1 to December 31, aligned with the national budget cycle.<\/li>\n<li><strong>Educational institutions:<\/strong>\u00a0Private schools and universities often run June 1 to May 31 or July 1 to June 30, matching the academic calendar to track tuition revenues and school-year expenses together.<\/li>\n<li><strong>Retail companies:<\/strong>\u00a0Large retailers \u2014 especially those with multiple branches across Metro Manila, CALABARZON, and Visayas \u2014 sometimes use fiscal years ending in January, February, or March to process post-holiday inventory counts before closing books.<\/li>\n<li><strong>Agricultural and tourism businesses:<\/strong>\u00a0A mango exporter in Cebu might end their year after the harvest season in May. Hotels and resorts in Palawan or Baguio may choose year-ends that follow the tourist high season.<\/li>\n<li><strong>Multinational subsidiaries:<\/strong>\u00a0Companies with\u00a0<a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/peza-accreditation\/\">PEZA accreditation<\/a>\u00a0or foreign ownership frequently adopt their parent company&#8217;s fiscal year, subject to BIR approval.<\/li>\n<\/ul>\n<p>Even if you use a different internal fiscal year, your quarterly and annual income tax filings must still follow the calendar year. Your accounting system should be able to generate reports for both periods. Explore how <a href=\"https:\/\/www.hashmicro.com\/ph\/accounting-software\">ERP software<\/a> can simplify your financial reporting and ensure BIR compliance.<\/p>\n<h2><strong>BIR Requirements for Changing Your Fiscal Year<\/strong><\/h2>\n<p><a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/change-of-financial-year-end.webp\"><img decoding=\"async\" class=\"aligncenter size-full wp-image-14473\" src=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/change-of-financial-year-end.webp\" alt=\"change of financial year end\" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/change-of-financial-year-end.webp 1200w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/change-of-financial-year-end-300x169.webp 300w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/change-of-financial-year-end-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/change-of-financial-year-end-768x432.webp 768w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/change-of-financial-year-end-747x420.webp 747w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/change-of-financial-year-end-150x84.webp 150w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/change-of-financial-year-end-696x392.webp 696w, https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/change-of-financial-year-end-1068x601.webp 1068w\" sizes=\"(max-width: 1200px) 100vw, 1200px\" \/><\/a><\/p>\n<p>The Philippines requires a formal application process. Under <strong>NIRC Section 43<\/strong>, taxable income must be computed based on the taxpayer&#8217;s annual accounting period, defaulting to the calendar year for individuals or those without formal books. <strong>Section 46<\/strong> further requires Commissioner approval before any change of accounting period takes effect.<\/p>\n<h3><strong>How to apply for a change of accounting period<\/strong><\/h3>\n<ol class=\"steps\">\n<li><strong>File a written request with your RDO<br \/>\n<\/strong>Submit a formal letter to your Revenue District Office (RDO) requesting a change of accounting period. The letter should state your proposed new fiscal year-end month and the business reason for the change.<\/li>\n<li><strong>Prepare supporting documents<br \/>\n<\/strong>The BIR requires evidence of a legitimate business reason. Common documents include: parent company&#8217;s fiscal year documentation (for multinational subsidiaries), proof of seasonal revenue patterns, board resolution approving the change, and latest audited financial statements.<\/li>\n<li><strong>File a short-period return<br \/>\n<\/strong>If approved, you&#8217;ll need to file an income tax return covering the transition period \u2014 the months between your old fiscal year-end and the start of your new one. This &#8220;short period&#8221; return covers less than 12 months and is taxed on an annualised basis.<\/li>\n<li><strong>Update your BIR registration<br \/>\n<\/strong>Once approved, update your Certificate of Registration (BIR Form 2303) to reflect the new accounting period. Keep the BIR approval letter on file \u2014 your external auditors will need to see it.<\/li>\n<\/ol>\n<div class=\"added\">\n<p><strong>Important:<\/strong>\u00a0The BIR does not approve changes freely. You must demonstrate a clear operational reason. MSMEs rarely qualify unless there is a strong business case. Consistency is required \u2014 once approved, you cannot switch back and forth between accounting periods.<\/p>\n<h3><strong><span id=\"ITR\">ITR filing deadlines by fiscal year-end<\/span><\/strong><\/h3>\n<p>For businesses with an approved non-calendar fiscal year, the annual ITR (BIR Form 1702-RT\/EX\/MX) is due on the\u00a0<strong>15th day of the 4th month after your fiscal year closes<\/strong>. And for quarterly obligations, corporations and partnerships must file BIR Form 1702Q within<strong> 60\u00a0 days following the close of each of the first three quarters of the taxable year<\/strong>:<\/p>\n<table>\n<tbody>\n<tr>\n<td style=\"background-color: #990000; color: #ffffff;\"><strong>Fiscal Year-End Month<\/strong><\/td>\n<td style=\"background-color: #990000; color: #ffffff;\"><strong>Annual ITR Deadline<\/strong><\/td>\n<td style=\"background-color: #990000; color: #ffffff;\"><strong>Example Fiscal Year<\/strong><\/td>\n<\/tr>\n<tr>\n<td>December 31 (calendar year)<\/td>\n<td>April 15<\/td>\n<td>Jan 1 \u2013 Dec 31 (default)<\/td>\n<\/tr>\n<tr>\n<td>January 31<\/td>\n<td>May 15<\/td>\n<td>Feb 1, 2025 \u2013 Jan 31, 2026<\/td>\n<\/tr>\n<tr>\n<td>February 28\/29<\/td>\n<td>June 15<\/td>\n<td>Mar 1, 2025 \u2013 Feb 28, 2026<\/td>\n<\/tr>\n<tr>\n<td>March 31<\/td>\n<td>July 15<\/td>\n<td>Apr 1, 2025 \u2013 Mar 31, 2026<\/td>\n<\/tr>\n<tr>\n<td>April 30<\/td>\n<td>August 15<\/td>\n<td>May 1, 2025 \u2013 Apr 30, 2026<\/td>\n<\/tr>\n<tr>\n<td>May 31<\/td>\n<td>September 15<\/td>\n<td>Jun 1, 2025 \u2013 May 31, 2026<\/td>\n<\/tr>\n<tr>\n<td>June 30<\/td>\n<td>October 15<\/td>\n<td>Jul 1, 2025 \u2013 Jun 30, 2026<\/td>\n<\/tr>\n<tr>\n<td>July 31<\/td>\n<td>November 15<\/td>\n<td>Aug 1, 2025 \u2013 Jul 31, 2026<\/td>\n<\/tr>\n<tr>\n<td>August 31<\/td>\n<td>December 15<\/td>\n<td>Sep 1, 2025 \u2013 Aug 31, 2026<\/td>\n<\/tr>\n<tr>\n<td>September 30<\/td>\n<td>January 15<\/td>\n<td>Oct 1, 2025 \u2013 Sep 30, 2026<\/td>\n<\/tr>\n<tr>\n<td>October 31<\/td>\n<td>February 15<\/td>\n<td>Nov 1, 2025 \u2013 Oct 31, 2026<\/td>\n<\/tr>\n<tr>\n<td>November 30<\/td>\n<td>March 15<\/td>\n<td>Dec 1, 2025 \u2013 Nov 30, 2026<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2 id=\"apply\"><strong>How to manage your fiscal year effectively<\/strong><\/h2>\n<ul>\n<li><strong>Set up your accounting software for both periods.<\/strong>\u00a0If you use a non-calendar fiscal year, your system needs to generate two types of reports: fiscal-year management reports (for internal performance tracking) and calendar-year tax reports (for BIR filings).<\/li>\n<li><strong>Mark all critical dates on your calendar.<\/strong>\u00a0For calendar-year businesses: quarterly estimated tax payments fall on April 15, August 15, November 15, and February 15 of the following year, with annual ITR due April 15. Non-calendar fiscal year users add their own deadlines from the table above.<\/li>\n<li><strong>Reconcile monthly, not just at year-end.<\/strong>\u00a0Monthly\u00a0<a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/bank-reconciliation\/\">bank reconciliations<\/a>\u00a0and account reviews prevent the year-end crunch that causes errors.<\/li>\n<li><strong>Keep your BIR approval letter accessible.<\/strong>\u00a0If using an approved alternative fiscal year, the approval document must be on file at all times. External auditors and new finance team members will ask for it.<\/li>\n<li><strong>Train your finance team on the fiscal vs. tax year distinction.<\/strong>\u00a0Confusion between the two leads to missed deadlines and incorrect reports.<\/li>\n<\/ul>\n<p><span data-sheets-root=\"1\"><\/span><\/p>\n<h2 id=\"practical-steps-for-managing-your-fiscal-year\"><b>Conclusion<\/b><\/h2>\n<p data-start=\"88\" data-end=\"460\">The fiscal year you choose affects how you report finances, when you close your books, and how your numbers compare with industry peers. While most Philippine businesses follow the calendar year for simplicity and BIR compliance, those with seasonal operations, foreign affiliations, or unique needs may benefit from an alternative fiscal period, with proper BIR approval.<\/p>\n<p data-start=\"462\" data-end=\"867\" data-is-last-node=\"\" data-is-only-node=\"\">What truly matters is understanding your reporting requirements and having the right systems in place to meet them. Effective accounting practices ensure smooth operations regardless of your fiscal year-end, and implementing the right tools can make year-end reporting effortless. To streamline your financial processes and ensure compliance, explore <a href=\"https:\/\/www.hashmicro.com\/ph\/blog\/top-accounting-software-philippines\/\">the best accounting software in the Philippines<\/a>.<\/p>\n<h2><strong>FAQ about Fiscal Year in the Philippines<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>What is the standard fiscal year in the Philippines?<\/strong><\/summary>\n<p>The standard fiscal year in the Philippines follows the calendar year \u2014 January 1 to December 31. This is the BIR default for most businesses and is required for income tax reporting purposes unless a formal change of accounting period has been approved by the BIR.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Can a Philippine company use a different fiscal year?<\/strong><\/summary>\n<p>Yes, but only with prior BIR approval. Companies must submit a formal request to their Revenue District Office (RDO) with a legitimate business reason, such as alignment with a foreign parent company&#8217;s reporting cycle or a clearly seasonal business operation. The BIR does not approve changes without sufficient justification.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Does changing the fiscal year affect when I pay taxes?<\/strong><\/summary>\n<p>For most businesses, no. Income tax filings follow the calendar year regardless of your internal accounting period. However, businesses that have formally adopted a non-calendar fiscal year with BIR approval file their annual ITR on the 15th day of the 4th month after their fiscal year closes, not necessarily April 15.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What is the difference between a fiscal year and a calendar year?<\/strong><\/summary>\n<p>A calendar year always runs from January 1 to December 31. A fiscal year is any consecutive 12-month period used for accounting purposes, and it may or may not align with the calendar year. In the Philippines, the two are the same for most businesses, but certain industries such as education, retail, and multinational companies may use a different 12-month window with BIR approval.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What happens if I miss my fiscal year ITR deadline?<\/strong><\/summary>\n<p>Late filing results in a 25% surcharge on the tax due, plus 12% annual interest on unpaid taxes, and a compromise penalty. The BIR may also flag the company for audit. If you anticipate difficulty meeting a deadline, consult with your accountant or RDO about your options before the due date.<\/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 the standard fiscal year in the Philippines?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"The standard fiscal year in the Philippines follows the calendar year \u2014 January 1 to December 31. This is the BIR default for most businesses and is required for income tax reporting purposes unless a formal change of accounting period has been approved by the BIR.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Can a Philippine company use a different fiscal year?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes, but only with prior BIR approval. Companies must submit a formal request to their Revenue District Office (RDO) with a legitimate business reason, such as alignment with a foreign parent company's reporting cycle or a clearly seasonal business operation. The BIR does not approve changes without sufficient justification.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Does changing the fiscal year affect when I pay taxes?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"For most businesses, no. Income tax filings follow the calendar year regardless of your internal accounting period. However, businesses that have formally adopted a non-calendar fiscal year with BIR approval file their annual ITR on the 15th day of the 4th month after their fiscal year closes, not necessarily April 15.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the difference between a fiscal year and a calendar year?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"A calendar year always runs from January 1 to December 31. A fiscal year is any consecutive 12-month period used for accounting purposes, and it may or may not align with the calendar year. In the Philippines, the two are the same for most businesses, but certain industries such as education, retail, and multinational companies may use a different 12-month window with BIR approval.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What happens if I miss my fiscal year ITR deadline?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Late filing results in a 25% surcharge on the tax due, plus 12% annual interest on unpaid taxes, and a compromise penalty. The BIR may also flag the company for audit. If you anticipate difficulty meeting a deadline, consult with your accountant or RDO about your options before the due date.\"\n      }\n    }\n  ]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A fiscal year is simply the 12-month period a company or government uses for accounting and financial reporting. In the Philippines, it usually runs from January 1 to December 31\u2014same as the calendar year. But here&#8217;s where it gets interesting: some businesses don&#8217;t follow this standard schedule. Schools, for instance, often align their books with [&hellip;]<\/p>\n","protected":false},"author":14,"featured_media":14474,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[157],"tags":[],"class_list":{"0":"post-14472","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>Fiscal year Philippines 2026: Definition, BIR rules, and deadlines<\/title>\n<meta name=\"description\" content=\"A fiscal year is the 12 month period businesses use for financial reporting. Learn how it works in the Philippines and what BIR requires.\" \/>\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\/fiscal-year\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Fiscal Year Philippines (2026): BIR rules, deadlines, and how to change\" \/>\n<meta property=\"og:description\" content=\"A fiscal year is the 12 month period businesses use for financial reporting. Learn how it works in the Philippines and what BIR requires.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Philippine Blog\" \/>\n<meta property=\"article:published_time\" content=\"2025-01-07T10:04:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-10T04:05:36+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/fiscal-year.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=\"10 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\/fiscal-year\/\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/\",\"name\":\"Fiscal year Philippines 2026: Definition, BIR rules, and deadlines\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/fiscal-year.webp\",\"datePublished\":\"2025-01-07T10:04:47+00:00\",\"dateModified\":\"2026-04-10T04:05:36+00:00\",\"author\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/361edd80bf6a2b487c3c8bb5b4519fb2\"},\"description\":\"A fiscal year is the 12 month period businesses use for financial reporting. Learn how it works in the Philippines and what BIR requires.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/#breadcrumb\"},\"inLanguage\":\"en-PH\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-PH\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/fiscal-year.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/fiscal-year.webp\",\"width\":1200,\"height\":675,\"caption\":\"fiscal year\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/ph\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Fiscal Year Philippines (2026): BIR rules, deadlines, and how to change\"}]},{\"@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":"Fiscal year Philippines 2026: Definition, BIR rules, and deadlines","description":"A fiscal year is the 12 month period businesses use for financial reporting. Learn how it works in the Philippines and what BIR requires.","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\/fiscal-year\/","og_locale":"en_US","og_type":"article","og_title":"Fiscal Year Philippines (2026): BIR rules, deadlines, and how to change","og_description":"A fiscal year is the 12 month period businesses use for financial reporting. Learn how it works in the Philippines and what BIR requires.","og_url":"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/","og_site_name":"HashMicro Philippine Blog","article_published_time":"2025-01-07T10:04:47+00:00","article_modified_time":"2026-04-10T04:05:36+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/fiscal-year.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":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/","url":"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/","name":"Fiscal year Philippines 2026: Definition, BIR rules, and deadlines","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/fiscal-year.webp","datePublished":"2025-01-07T10:04:47+00:00","dateModified":"2026-04-10T04:05:36+00:00","author":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/#\/schema\/person\/361edd80bf6a2b487c3c8bb5b4519fb2"},"description":"A fiscal year is the 12 month period businesses use for financial reporting. Learn how it works in the Philippines and what BIR requires.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/#breadcrumb"},"inLanguage":"en-PH","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/"]}]},{"@type":"ImageObject","inLanguage":"en-PH","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/#primaryimage","url":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/fiscal-year.webp","contentUrl":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-content\/uploads\/2025\/01\/fiscal-year.webp","width":1200,"height":675,"caption":"fiscal year"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/ph\/blog\/fiscal-year\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/ph\/blog\/"},{"@type":"ListItem","position":2,"name":"Fiscal Year Philippines (2026): BIR rules, deadlines, and how to change"}]},{"@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\/14472","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=14472"}],"version-history":[{"count":16,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/14472\/revisions"}],"predecessor-version":[{"id":34292,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/posts\/14472\/revisions\/34292"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media\/14474"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/media?parent=14472"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/categories?post=14472"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/ph\/blog\/wp-json\/wp\/v2\/tags?post=14472"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}