{"id":72839,"date":"2025-06-04T06:36:37","date_gmt":"2025-06-04T06:36:37","guid":{"rendered":"https:\/\/www.hashmicro.com\/blog\/?p=72839"},"modified":"2026-01-07T07:00:17","modified_gmt":"2026-01-07T07:00:17","slug":"tax-filing","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/blog\/tax-filing\/","title":{"rendered":"Tax Filing in Singapore: A Step-by-Step Guide for Compliance"},"content":{"rendered":"<p><span style=\"font-weight: 400;\">Did you know that efficient tax filing can significantly improve your business&#8217;s financial management in Singapore? A streamlined approach helps organizations stay compliant, avoid penalties, and reduce the administrative burden during tax season.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Failing to manage your tax obligations properly can lead to errors, delays, and unnecessary fines. It may also limit your company&#8217;s ability to focus on strategic growth, especially in a fast-evolving regulatory environment.<\/span><\/p>\n<p><a href=\"https:\/\/www.hashmicro.com\/accounting\"><span style=\"font-weight: 400;\">HashMicro&#8217;s Accounting Software<\/span><\/a><span style=\"font-weight: 400;\"> simplifies tax filing through automated calculations, accurate reporting, and real-time updates on compliance requirements. With intelligent workflows and reliable data, the system helps businesses reduce manual work, stay compliant, and file taxes with confidence.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Keep reading to learn how efficient tax filing works and how HashMicro&#8217;s digital solutions can help you grow your business in Singapore.<\/span><\/p>\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 Content:\r\n\t<\/p>\r\n\t<ul id=\"list_toc\" class='list_toc'><\/ul>\r\n<\/div> -->\r\n\r\n<!-- <div class=\"dropdown-fixed-top\" id=\"dropdown-fixed-top\">\r\n\t<div class=\"row\">\r\n\t\t<p id=\"pilihDaftarIsi\">Table of Content<\/p>\r\n\t\t<p><i class=\"td-icon-menu-down\"><\/i><\/p>\r\n\t<\/div>\r\n\t\r\n\t<div>\r\n\t\t<ul id=\"list_toc_top\" class='list_toc'><\/ul>\r\n\t<\/div>\r\n<\/div> -->\r\n\r\n<div id=\"placeholder-toc\"><\/div>\r\n<div id=\"toc\">\r\n    <div class=\"header\">\r\n\t<span class=\"toc-title\" id=\"toc-title\">Table of Content<\/span>\t\r\n\t <i class=\"toc-icon\">\r\n        <svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"30\" height=\"30\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"#000\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" class=\"header-icon\">\r\n          <path d=\"m6 9 6 6 6-6\" \/>\r\n        <\/svg>\r\n      <\/i>\r\n\t<\/div>\r\n    <div class=\"list\">\r\n      <ul id=\"toc-list\"><\/ul>\r\n    <\/div>\r\n <\/div>\r\n\r\n<style>\r\n\t@media (max-width: 992px) {\r\n\t\t#toc_group_article {\r\n\t\t\tpadding-top: 24px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc_float {\r\n\t\tmax-height: calc(100vh - 250px);\r\n\t\toverflow-y: auto;\r\n\t}\r\n\t\r\n\t#list_toc_top {\r\n\t\tdisplay: none;\r\n\t\tbackground: #fff;\r\n\t\tmargin-bottom: 4px;\r\n\t}\r\n\t\r\n\t#list_toc_top li {\r\n\t\tdisplay: block;\r\n\t\tmargin-left: 0;\r\n\t\tlist-style: none;\r\n\t}\r\n\t\r\n\t#list_toc_top a {\r\n\t\tpadding: 5px;\r\n\t\tdisplay: block;\r\n\t}\r\n\t\r\n\t#list_toc_top.show {\r\n\t\tdisplay: block;\r\n\t}\r\n\r\n\t#list_toc_top a {\r\n\t\tcolor: #434343;\r\n\t\tborder-bottom: 1px solid #bbb;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top {\r\n\t\tposition: fixed;\r\n\t\ttop: 59px;\r\n\t\twidth: 100%;\r\n\t\tz-index: 99;\r\n\t\tborder-bottom: 2px solid #9c171e;\r\n\t\tpadding: 12px;\r\n\t\tbackground: #fff;\r\n\t\twidth: 100%;\r\n\t\tcursor: pointer;\r\n\t\tdisplay: none;\r\n\t\tleft: 0;\r\n\t\tbox-shadow: 0 -2px 7px 6px rgba(0, 0, 0, 0.17);\r\n\t}\r\n\t\r\n\t#dropdown-fixed-top.show {\r\n\t\tanimation: showAnim 0.5s ease;\r\n\t\tdisplay: block;\r\n\t\topacity: 1;\r\n\t}\r\n\t\r\n\t@keyframes showAnim {\r\n\t\tfrom {\r\n\t\t\tdisplay: none;\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\tto {\r\n\t\t\tdisplay: block;\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top #list_toc_top {\r\n\t\tmax-height: calc(50vh - 110px);\r\n\t\toverflow-y: scroll;\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row {\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between\r\n\t}\r\n\t\r\n\t.dropdown-fixed-top .row p {\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\t\r\n\t#pilihDaftarIsi {\r\n\t\tmax-width: 100%;\r\n\t\toverflow: hidden;\r\n\t\twhite-space: nowrap;\r\n\t}\r\n\t\r\n\t@media (min-width: 1018px) {\r\n\t\t.dropdown-fixed-top {\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t}\r\n\t\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc > li > ul {padding-left: 20px;margin-bottom: 0;}\r\n\t#list_toc{height:max-content;transition:ease-in-out}\r\n\t#list_toc li {margin-bottom: 0;margin-top: 5px;}\r\n\t#list_toc_float li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_top li.active > a {color:#b1252d;background: #ffe1e3;}\r\n\t#list_toc_float li a {padding:3px 7px}\r\n\t#list_toc_float li a {\r\n\t\tdisplay: block;\r\n\t\tcolor: #000;\r\n\t\tmargin-bottom: 6px;\r\n\t\tpadding-top: 2px;\r\n\t\tpadding-bottom: 2px;\r\n\t\ttransition: all 0.2s ease-in-out;\r\n\t\tfont-size: 15px;\r\n\t\tline-height: 18px;\r\n\t}\r\n\t#list_toc_float li{list-style:none;list-style-position:inside; margin-left:0;}\r\n\t#list_toc_float a:hover{color:#b1252d;}\r\n\t\r\n\t#toc_group_float{\r\n\t\tline-height: 24px;\r\n\t\tmax-height: calc(100vh - 100px);\r\n\t\toverflow: auto;\r\n\t\tz-index: 99;\r\n\t\tdisplay:none!important;\r\n\t\tbackground:#fff;\r\n\t\ttransition:all 0.5s linear\r\n\t}\r\n\t\r\n\t@media (min-width:1019px){\r\n\t\t#toc_group_float {\r\n\t\t\tdisplay:block!important;\r\n\t\t\t}\r\n\t\t\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\r\n\t}\r\n\r\n<\/style>\r\n\r\n<!-- ToC styling  -->\r\n<style>\r\n\t\/* Simple styling for the TOC *\/\r\n\t\r\n\t#toc ul li:last-child {\r\n    padding-bottom: 16px; \/* Adjust the value as needed *\/\r\n}\r\n\r\n.td-fix-index {\r\n\t transform: unset !important;\r\n     -webkit-transform: unset !important; \r\n}\r\n.footer-contact .td-fix-index {\r\n\t transform: translateZ(0) !important;\r\n     -webkit-transform: translateZ(0) !important; \r\n}\r\n\t.tdb_single_content .tdb-block-inner.td-fix-index{\r\n\t\tposition: static;\r\n\t}\r\n\t\r\n\r\n\t\r\n#toc {\r\n  background-color: #FFF;\r\n\tpadding: 17px 24px 0px 24px !important;\r\n  margin-bottom: 20px;\r\n\/*   border: 1px solid #9C171E; *\/\r\n  border-radius: 6px;\r\n\tdisplay: none;\r\n  max-width: 100%;\r\n  transition: .4s ease height;\r\n\tmargin-left: 0;\r\n\toverflow: hidden;\r\n}\r\n\r\n#toc .header{\r\n  display: flex;\r\n  align-items: center;\r\n  justify-content: space-between;\r\n\tbackground-color: transparent;\r\n}\r\n\t\r\n\t#toc.sticky .header{\r\n\t\tpadding: 4px 0;\r\n\t}\r\n\t\r\n.header p{\r\n  font-size: 18px !important;\r\n  font-weight: 600 !important;\r\n  color: #393939;\r\n   margin-bottom: 0;\r\n  \/* margin-top: 20px; *\/\r\n}\r\n\r\n.toc-icon{\r\n  float: right;\r\n\/*   visibility: hidden; *\/\r\n}\r\n\r\n\t.toc-title{\r\n\t\tmargin-right: auto;\r\n\/* \t\tpadding-left: 20px; *\/\r\n\t\tfont-weight: 600;\r\n\t\talign-self: center;\t}\t\r\n\r\n#toc ul {\r\n  list-style-type: none;\r\n  padding-left: 0;\r\n}\r\n\t\r\n#toc.sticky ul{\r\n\toverflow-y: auto;\r\n\tmax-height: 250px;\r\n\tmargin-top: 0px;\r\n\tpadding-top: 20px;\r\n\/* \tborder-top: 1px solid #d3d3d3; *\/\r\n}\r\n\t\r\n#toc ul li {\r\n\/*   margin-bottom: 10px; *\/\r\n  margin-bottom: 10px;\r\n\tmargin-left: 0;\r\n\ttransition: .2s ease;\r\n\tcursor: pointer;\r\n}\r\n\t\r\n\t#toc.sticky ul li {\r\n\t  margin-right: 10px;\r\n\t}\r\n\t\r\n.td-post-content #toc-list li a:hover, .td-post-content #toc-list a.active{\r\n\tbackground-color: #FFF;\r\n\/* \tpadding: 8px 16px 8px 16px; *\/\r\n\tpadding: 4px 16px 4px 16px;\r\n\tborder-radius: 6px;\r\n\tcolor: #9c171e !important;\r\n\tfont-weight: 600 !important;\r\n}\r\n\t\r\n\t.td-post-content #toc-list li:hover a, .td-post-content #toc-list a.active{\r\n\t\tcolor: #9C171E !important;\r\n\t\tfont-weight: 600 !important;\r\n\t}\r\n\t\r\n.td-post-content #toc-list a.active{\r\n\tfont-weight: bold !important;\r\n\tcolor: #9C171E !important;\r\n}\r\n\t\r\n#toc a, .td-post-content #toc-list a {\r\n  text-decoration: none;\r\n  color: #ea1717 !important;\r\n  transition: .2s ease;\r\n\tfont-weight: 400 !important;\r\n\tdisplay: block;\r\n\t\r\n\tpadding: 4px 16px 4px 0;\r\n}\r\n\r\n#toc.sticky {\r\n  position: fixed;\r\n\/*   top: 73px; *\/\r\n\tbottom: 0;\r\n  z-index: 100; \r\n  box-shadow: 0 2px 5px rgba(0,0,0,0.1); \r\n\twidth: 100%; \r\n\tbackground-color: #FFF;\r\n\/* \tbackground-color: #FFF1F1; *\/\r\n\tborder-bottom: 1px solid #ea1717;\r\n\/*   border: 1px solid #393939; *\/\r\n  box-shadow: 0px 0px 14px 0px #00000040;\r\n  cursor: pointer;\r\n\tanimation: fadein .3s ease;\r\n\tpadding: 12px 16px !important;\r\n}\r\n\t\r\n\t.fadein{\r\n\t\tanimation: fadein .3s ease;\r\n\t}\r\n\t\r\n\t.fadeout{\r\n\t\tanimation: fadeout .3s ease;\r\n\t}\r\n\t\r\n\t\r\n\t@keyframes fadein{\r\n\t\t0% {\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@keyframes fadeout{\r\n\t\t0% {\r\n\t\t\topacity: 1;\r\n\t\t}\r\n\t\t100%{\r\n\t\t\topacity: 0;\r\n\t\t}\r\n\t}\r\n\r\n\t\r\n#toc.sticky .header p{\r\n\tmargin-bottom: 10px;\r\n\tmargin-top: 10px;\r\n}\r\n\r\n#toc.sticky .toc-icon{\r\n  visibility: visible;\r\n\/* \ttransition: 0.4s ease; *\/\r\n}\r\n\t\r\n\t.toc-icon{\r\n\t\talign-items: center;\r\n    \tdisplay: flex;\r\n\t}\r\n\t\r\n\tsvg.header-icon{\r\n\/* \t\tbackground-color: #9c171e; *\/\r\n\t\tbackground-color: #FFF;\r\n\t\tborder-radius: 30px;\r\n\t\tpadding: 5px;\r\n\t}\r\n\r\n#toc.sticky .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\t\r\n\t#toc .list{\r\n\/*   max-height: 0; *\/\r\n  transition: height 0.4s ease;\r\n}\r\n\r\n#toc .header.active .toc-icon{\r\n\ttransform: rotate(0deg); \r\n\topacity: 1;\r\n}\r\n\r\n\t#toc .header.active + .list {\r\n\t  max-height: 200px; \/* Adjust this value as needed *\/\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t#placeholder-toc{\r\n\/* \t\tdisplay: none; *\/\r\n\t}\r\n\t\r\n\t@media (min-width: 768px) and (max-width: 991px){\r\n\t\t#toc.sticky{\r\n\/* \t\t\ttop: 104px; *\/\r\n\t\t\tbottom: 0px;\r\n\t\t}\r\n\t\t\r\n\t\t#toc{\r\n\t\t\twidth: unset !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width: 767px){\r\n\t\t#toc{\r\n\t\t\twidth: 100% !important;\r\n\t\t\tdisplay: inline-block;\r\n\t\t}\r\n\t\t\r\n\t\t#toc.sticky{\r\n\t\t\twidth: 90% !important;\r\n\/* \t\t\ttop: 81px; *\/\r\n\t\t\tbottom: 60px;\r\n\t\t\tmargin-left: auto;\r\n\t\t\tmargin-right: auto;\r\n\t\t\tpadding: 0 16px;\r\n\t\t\tright: 5%;\r\n\t\t}\r\n\t}\r\n\t\r\n\t<\/style>\r\n\r\n<!-- ToC List for mobile -->\r\n<script>\r\n \/\/ Generate TOC based on headings\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  \/\/ Get the element that will contain the TOC\r\n  const tocList = document.getElementById('toc-list');\r\n\r\n  \/\/ Get the element with the ID 'article-left'\r\n  const article = document.querySelector('.td-post-content');\r\n\r\n  \/\/ Find all h2 elements within 'myarticle'\r\n  const headers = article.getElementsByTagName('h2');\r\n\r\n  \/\/ Loop through the h2 elements and create a list item for each one\r\n  for (let i = 0; i < headers.length; i++) {\r\n    const header = headers[i];\r\n    const headerText = header.textContent;\r\n\/\/     const headerId = 'header-' + i;\r\n    const headerId = headerText\r\n    .toLowerCase()\r\n    .trim()\r\n    .replace(\/[^\\w\\s-]\/g, '')  \/\/ hapus tanda baca\r\n    .replace(\/\\s+\/g, '-'); \/\/ ganti spasi jadi \"-\"\r\n\r\n    \/\/ Set an ID for the header if it doesn't have one\r\n    header.setAttribute('id', headerId);\r\n\r\n    \/\/ Create a list item for the TOC\r\n    const listItem = document.createElement('li');\r\n\r\n    \/\/ Create a link for the list item\r\n    const link = document.createElement('a');\r\n    link.setAttribute('href', '#' + headerId);\r\n    link.textContent = headerText;\r\n\r\n    \/\/ Append the link to the list item\r\n    listItem.appendChild(link);\r\n\r\n    \/\/ Append the list item to the TOC list\r\n    tocList.appendChild(listItem);\r\n  }\r\n});\r\n\r\n\/\/ Keep height and placement of content using placeholder in place of TOC\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const placeholderToc = document.querySelector('#placeholder-toc');\r\n\r\n  function setPlaceholderHeight() {\r\n    placeholderToc.style.height = `${toc.offsetHeight}px`;\r\n  }\r\n\r\n  \/\/ Set the initial height of the placeholder\r\n  setPlaceholderHeight();\r\n\r\n  \/\/ Update the height on window resize\r\n  window.addEventListener('resize', setPlaceholderHeight);\r\n});\r\n  const tocTitle = document.querySelector('#toc-title'); \/\/ Assuming header-faq is the element for TOC title\r\n\r\n\/\/ Sticky TOC and update heading\r\ndocument.addEventListener(\"DOMContentLoaded\", function() {\r\n  const toc = document.querySelector('#toc');\r\n  const footer = document.querySelector('.td-footer-template-wrap');\r\n  const tocParent = toc.parentElement;\r\n  const divTop = tocParent.getBoundingClientRect().top + window.pageYOffset;\r\n  const tocHeight = toc.offsetHeight;\r\n  const triggerPoint = divTop + tocHeight + 700;\r\n  const footerHeight = footer.offsetHeight;\r\n  const triggerFooterPoint = footer.getBoundingClientRect().top + window.pageYOffset - footerHeight - footerHeight - footerHeight;\r\n  const phtoc = document.querySelector('#placeholder-toc');\r\n  const headers = document.querySelectorAll('.td-post-content h2');\r\n  const navLinks = document.querySelectorAll('#toc-list a');\r\n\t\r\n\tconst panel2 = document.querySelector(\"#toc .list\");\r\n\tvar icon = document.querySelector(\".toc-icon\");\r\n\r\n  let activeLink = null; \/\/ Declare activeLink outside the loop\r\n\t\r\n  \/\/ Function to handle scroll and add\/remove .sticky class\r\n  function handleScroll() {\r\n    const windowTop = window.pageYOffset || document.documentElement.scrollTop;\r\n    let currentHeader = '';\r\n\r\n    \/\/ Highlight user progress as the heading comes\r\n    headers.forEach(header => {\r\n\t\tconst headerTop = header.offsetTop;\r\n\t\tconst headerHeight = header.clientHeight;\r\n\t\tif (window.scrollY >= (headerTop - headerHeight + 700)) {\r\n\t\t\tconst currentHeaderId = header.getAttribute('id');\r\n\t\t\tconst currentHeaderText = document.getElementById(currentHeaderId).textContent;\r\n\/\/ \t\t\tconsole.log(\"current header text:\", currentHeaderText);\r\n\t\t\ttocTitle.textContent = currentHeaderText;\r\n\t\t\tcurrentHeader = currentHeaderId;\r\n\t\t\t\r\n\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\ttocTitle.textContent = 'Table of Content';\r\n\t\t\t}\r\n\t\t}\r\n\t});\r\n\r\n    navLinks.forEach(link => {\r\n      link.classList.remove('active');\r\n      if(currentHeader != '') {\r\n\t\t  if (link.getAttribute('href').includes(currentHeader)) {\r\n\t\t\t  link.classList.add('active');\r\n\t\t  }\r\n\t  }\r\n    });\r\n\/\/     if (windowTop < triggerFooterPoint) {\r\n\/\/         toc.style.display = 'block';\r\n\/\/ \t}else{\r\n\/\/         toc.style.display = 'none';\r\n\/\/ \t}\r\n    \/\/ Update TOC title if sticky\r\n    if (windowTop > triggerPoint) {\r\n      if (!toc.classList.contains('sticky')) {\r\n        phtoc.style.display = \"block\";\r\n        toc.classList.add('sticky');\r\n        toc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n        toc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n        toc.style.backgroundColor = \"#FFF\";\r\n\t\tpanel2.style.height = '0px';\r\n\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t  if(window.innerWidth < 767){\r\n\/\/ \t\t\t  const tocs = document.querySelector('#toc.sticky');\r\n\t\t\t  tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n       \t\t  toc.style.width = '150px'; \/\/ Set width to match the parent element\r\n\t\t  }\r\n      }\r\n      if (currentHeader) {\r\n\/\/         console.log(\"activeLink:\", activeLink);\r\n        if (activeLink) {\r\n\/\/           tocTitle.textContent = activeLink.textContent; \/\/ Update TOC title\r\n          tocTitle.textContent = activeLink ? activeLink.textContent : \"\"; \/\/ Update title only if activeLink exists\r\n        }\r\n      }\r\n    } else {\r\n      toc.classList.remove('sticky');\r\n      phtoc.style.display = \"none\";\r\n      toc.style.width = 'unset'; \/\/ Reset to original width\r\n      toc.style.backgroundColor = \"#FFF\";\r\n      tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n\t\tpanel2.style.height = panel2.scrollHeight + \"px\";\r\n\t\ticon.style.transform = \"rotate(180deg)\";\r\n    }\r\n  }\r\n\r\n    \/\/ Attach the scroll event listener to the window\r\n    window.addEventListener('scroll', handleScroll);\r\n\r\n    \/\/ Initial call to handleScroll to set the correct state on load\r\n    handleScroll();\r\n});\r\n\t\r\n\t\/\/ Open toggle TOC\r\n\t  document.addEventListener(\"DOMContentLoaded\", function() {\r\n\t\tvar tocHeader = document.querySelector(\"#toc .header\");\r\n\t\tvar toc = document.querySelector(\"#toc\");\r\n\t\tvar icon = document.querySelector(\".toc-icon\");\r\n\t\tconst tocTitle = document.querySelector('#toc-title');\r\n\t\tconst tocs = document.querySelector('#toc.sticky');\r\n \t\tconst tocParent = toc.parentElement;\t\t  \r\n\r\n\t\t  tocHeader.addEventListener(\"click\", function() {\r\n\t\t\tvar panel = this.nextElementSibling;\r\n\t\t\tif (panel.style.height !== '0px') { \/\/ Check if height is not 0px\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\/\/ \t\t\t\ttoc.style.paddingBottom = '6px'; \r\n\t\t\t\tif(window.innerWidth > 768){\r\n\t\t\t\t\tif(!toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = \"unset\";\r\n\/\/ \t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t\tif (toc.classList.contains('sticky')){\r\n\t\t\t\t\t\ttoc.style.width = '${tocParent.offsetWidth}px';\r\n\t\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t\tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = \"unset\"; \/\/ Reset width\r\n\t\t\t\t}\r\n\t\t\t\ttoc.style.backgroundColor = \"#FFF1F1\";\r\n\t\t\t} else {\r\n\t\t\t  panel.style.height = panel.scrollHeight + \"px\";\r\n\t\t\t  icon.style.transform = \"rotate(0deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t  tocTitle.textContent = 'Table of Content'; \/\/ Reset title\r\n\t\t\t\ttoc.style.paddingBottom = '24px';\r\n\t\t\t \tif(window.innerWidth < 767){\r\n\t\t\t\t\ttoc.style.width = `${tocParent.offsetWidth}px`; \/\/ Set width to match the parent element\r\n\t\t\t\t\ttoc.setAttribute('style', 'width: ' + tocParent.offsetWidth + 'px !important;');\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t  });\r\n\r\n\t\t  \/\/ Close TOC when a link inside it is clicked\r\n\t\t  var tocLinks = document.querySelectorAll(\"#toc .list a\");\r\n\t\t  tocLinks.forEach(function(link) {\r\n\t\t\tlink.addEventListener(\"click\", function() {\r\n\t\t\t  var panel = document.querySelector(\"#toc .list\");\r\n\t\t\t  panel.style.height = '0px'; \/\/ Set height to 0 for full collapse\r\n\t\t\t  icon.style.transform = \"rotate(180deg)\";\r\n\t\t\t  toc.style.backgroundColor = \"#FFF\";\r\n\t\t\t});\r\n\t\t  });\r\n\t\t});\r\n\r\n\r\n\r\n\t\r\n\/\/ \tmake the heading at the center of the viewport\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/     \/\/ Add click event listener to all links in the TOC list\r\n\/\/     document.querySelectorAll('#toc-list a').forEach(anchor => {\r\n\/\/         anchor.addEventListener('click', function (e) {\r\n\/\/             e.preventDefault(); \/\/ Prevent the default behavior of jumping to the anchor\r\n\/\/ \/\/ \t\t\tconsole.log(\"prevent default\");\r\n\/\/             const targetId = this.getAttribute('href').substring(1); \/\/ Get the ID of the target element\r\n\/\/             const targetElement = document.getElementById(targetId); \/\/ Get the target element\r\n\r\n\/\/             if (targetElement) {\r\n\/\/                 const headerHeight = document.querySelector('#toc .header').offsetHeight; \/\/ Get the height of the fixed header\r\n\/\/                 const windowHeight = window.innerHeight; \/\/ Get the height of the viewport\r\n\/\/                 const targetOffset = targetElement.offsetTop; \/\/ Get the top offset of the target element\r\n\/\/                 const scrollTo = targetOffset + (windowHeight \/ 2) + (headerHeight); \/\/ Calculate the scroll position to center the target element\r\n\r\n\/\/                 \/\/ Scroll to the calculated position smoothly\r\n\/\/                 window.scrollTo({\r\n\/\/                     top: scrollTo,\r\n\/\/                     behavior: 'smooth'\r\n\/\/                 });\r\n\/\/             }\r\n\/\/         });\r\n\/\/     });\r\n\/\/ });\r\n<\/script>\r\n\r\n<!-- START script lama -->\r\n<!-- <script>\r\n\/\/ \tvar pilihDaftarIsi = document.getElementById('pilihDaftarIsi');\r\n\t\r\n\/\/ \tdocument.addEventListener('DOMContentLoaded', function() {\r\n\/\/ \t\tvar dropdownFixedTop = document.querySelector('.dropdown-fixed-top');\r\n\r\n\/\/ \t\tdropdownFixedTop.addEventListener('click', function() {\r\n\/\/ \t\t\tvar dropdownContent = this.querySelector('.list_toc');\r\n\/\/ \t\t\tdropdownContent.classList.toggle('show');\r\n\/\/ \t\t});\r\n\r\n\/\/ \t\twindow.addEventListener('click', function(event) {\r\n\/\/ \t\t\tvar listTocTop = document.getElementById('list_toc_top');\r\n\r\n\/\/ \t\t\tif (!dropdownFixedTop.contains(event.target)) {\r\n\/\/ \t\t\t\tlistTocTop.classList.remove('show');\r\n\/\/ \t\t\t}\r\n\/\/ \t\t});\r\n\/\/ \t});\r\n\t\r\n\/\/ \tvar daftarIsiContainer = document.getElementById('toc_group_article');\r\n\/\/ \tvar dropdownFixedTop = document.getElementById('dropdown-fixed-top');\r\n\/\/     var triggered = false; \/\/ Flag to keep track of whether the function has been triggered\r\n\r\n\/\/     window.addEventListener('scroll', function() {\r\n\/\/         if (!triggered && isCompletelyScrolledPast(daftarIsiContainer)) {\r\n\/\/             showSectionDropdownFixedTop(false);\r\n\/\/             triggered = true;\r\n\/\/         } else if (triggered && !isCompletelyScrolledPast(daftarIsiContainer)) {\r\n\/\/             showSectionDropdownFixedTop(true);\r\n\/\/             triggered = false;\r\n\/\/         }\r\n\/\/     });\r\n\r\n\/\/     function isCompletelyScrolledPast(element) {\r\n\/\/         var elementTop = element.getBoundingClientRect().top;\r\n\/\/         var elementBottom = element.getBoundingClientRect().bottom;\r\n\/\/         return elementTop < 0 && elementBottom < 0;\r\n\/\/     }\r\n\r\n\/\/     function showSectionDropdownFixedTop(show) {\r\n\/\/ \t\tif (show) {\r\n\/\/ \t\t\tdropdownFixedTop.classList.remove(\"show\");\r\n\/\/ \t\t} else {\r\n\/\/ \t\t\tdropdownFixedTop.classList.add(\"show\");\r\n\/\/ \t\t}\r\n\/\/     }\r\n<\/script> -->\r\n<!-- <script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n\t\t  pilihDaftarIsi.innerHTML = a.textContent;\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float', 'list_toc_top']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script> -->\r\n<!-- END script lama -->\r\n\t\r\n<script>\r\n    \/\/ Scrollspy function to highlight the active TOC item based on the scroll position\r\n  function scrollSpy(tocClass) {\r\n    const scrollPosition = window.scrollY;\r\n\r\n    \/\/ Find the active h2 and h3 headings based on their position in the corresponding TOC\r\n    let activeH2 = null;\r\n    let activeH3 = null;\r\n\r\n    const tocItems = document.querySelectorAll(`.${tocClass} li`);\r\n    tocItems.forEach(item => {\r\n      const a = item.querySelector('a');\r\n      if (!a) return;\r\n      const href = a.getAttribute('href');\r\n      const targetId = href.substring(1); \/\/ Remove the '#' from the href to get the target ID\r\n      const targetElement = document.getElementById(targetId);\r\n      if (!targetElement) return;\r\n\r\n      const targetTop = targetElement.getBoundingClientRect().top + scrollPosition;\r\n      const nextItem = item.nextElementSibling;\r\n      const nextTop = nextItem ? nextItem.getBoundingClientRect().top + scrollPosition : Infinity;\r\n\r\n      if (targetTop <= scrollPosition + 150) {\r\n        if (a.parentElement.parentElement === tocItems) {\r\n          \/\/ The h2 heading is at the root level of the TOC\r\n          activeH2 = { id: targetId, level: 'h2' };\r\n        } else {\r\n          \/\/ The h3 heading is nested under an h2 heading\r\n          const parentH2 = a.parentElement.parentElement.previousElementSibling;\r\n          if (parentH2) {\r\n            const h2Link = parentH2.querySelector('a');\r\n            if (h2Link) {\r\n              const h2Href = h2Link.getAttribute('href');\r\n              const h2Id = h2Href.substring(1);\r\n              activeH2 = { id: h2Id, level: 'h2' };\r\n            }\r\n          }\r\n          activeH3 = { id: targetId, level: 'h3' };\r\n        }\r\n      }\r\n\r\n      if (targetTop > scrollPosition + 150 && nextTop > scrollPosition + 150 && !activeH3) {\r\n        \/\/ Reset the activeH2 when there are no more active h3 headings\r\n        activeH2 = null;\r\n      }\r\n    });\r\n\r\n    \/\/ Update the active state for the TOC items\r\n    tocItems.forEach(item => {\r\n      item.classList.remove('active');\r\n      const a = item.querySelector('a');\r\n      if (a) {\r\n        const href = a.getAttribute('href');\r\n        const targetId = href.substring(1);\r\n        if ((activeH2 && activeH2.id === targetId) || (activeH3 && activeH3.id === targetId)) {\r\n          item.classList.add('active');\r\n        }\r\n      }\r\n    });\r\n  }\r\n\r\n  \/\/ Call scrollSpy for each TOC on window scroll\r\n  const tocClasses = ['list_toc', 'list_toc_float']; \/\/ Add other TOC class names here if you have more than two instances\r\n  tocClasses.forEach(tocClass => {\r\n    window.addEventListener('scroll', () => scrollSpy(tocClass));\r\n  });\r\n<\/script>\r\n\t\r\n\r\n<!-- ToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\" -->\r\n<!--  <script>\r\n\tdocument.addEventListener(\"DOMContentLoaded\", function() {\r\nToC List for desktop side bar, diganti jadi inject by php, di code snippet \"Sidebar Accordion\"\r\n        Fungsi untuk mengubah teks menjadi format id\r\n        function formatId(text) {\r\n            return text.trim().replace(\/[^\\w\\d]+\/g, '_');\r\n        }\r\n\r\n        \/\/ Fungsi untuk membuat nested list\r\n        function createNestedList(parentNode, children) {\r\n            if (children.length === 0) return;\r\n\r\n            const nestedUl = document.createElement('ul');\r\n            children.forEach(child => {\r\n                const nestedLi = document.createElement('li');\r\n                const nestedA = document.createElement('a');\r\n                nestedA.textContent = child.title;\r\n                nestedA.href = `#${child.id}`;\r\n                nestedLi.appendChild(nestedA);\r\n                nestedUl.appendChild(nestedLi);\r\n\r\n                if (child.children.length > 0) {\r\n                    createNestedList(nestedLi, child.children);\r\n                }\r\n            });\r\n\r\n            parentNode.appendChild(nestedUl);\r\n        }\r\n\r\n        \/\/ Membuat objek untuk menyimpan daftar h2 dan h3 beserta judulnya\r\n        const headings = [];\r\n\r\n           \/\/ Mengambil semua elemen h2 dan h3\r\n        const elements = document.querySelectorAll('.td-post-content h2');\r\n\t\t\t\/\/, .td-post-content h3\r\n\r\n        elements.forEach(element => {\r\n            if (element.tagName === 'H2') {\r\n                const id = formatId(element.textContent);\r\n                element.id = id;\r\n\t\t\t\tif (element.textContent.toLowerCase() === \"key takeaways\") {return;} \/\/ Kalau Key Takeaways, jangan dimasukin\r\n                headings.push({ level: 'h2', id: id, title: element.textContent, children: [] });\r\n            } else if (element.tagName === 'H3') {\r\n                const id = formatId(element.textContent);\r\n                element.id = id;\r\n                if (headings.length > 0) {\r\n                    headings[headings.length - 1].children.push({ level: 'h3', id: id, title: element.textContent, children: [] });\r\n                }\r\n            }\r\n        });\r\n\r\n        \/\/ Membuat list HTML dari objek headings\r\n        const ul = document.getElementById('list_toc');\r\n        let currentUl = ul;\r\n        headings.forEach(heading => {\r\n            const li = document.createElement('li');\r\n            const a = document.createElement('a');\r\n            a.textContent = heading.title;\r\n            a.href = `#${heading.id}`;\r\n            li.appendChild(a);\r\n\r\n            if (heading.level === 'h2') {\r\n                \/\/ Menyimpan ul saat ini untuk menambahkan nested ul\r\n                currentUl = li;\r\n                ul.appendChild(li);\r\n            } else if (heading.level === 'h3') {\r\n                if (!currentUl.lastElementChild || currentUl.lastElementChild.tagName !== 'UL') {\r\n                    \/\/ Jika belum ada nested ul, buat satu\r\n                    const nestedUl = document.createElement('ul');\r\n                    currentUl.appendChild(nestedUl);\r\n                    currentUl = nestedUl;\r\n                }\r\n                currentUl.appendChild(li);\r\n            }\r\n\r\n            createNestedList(li, heading.children);\r\n        });\r\n\t\tDapatkan elemen ul dengan id 'list_toc_float'\r\nconst ulFloat = document.getElementById('list_toc');\r\nconst ulJourney = document.getElementById('list_journey');\r\n\r\nDapatkan isi (child elements) dari ul dengan id 'list_toc_float'\r\n\tif (ulFloat !== null) {\r\n\t\tconst clonedChildren = ulFloat.cloneNode(true).children;\r\n\t\tconst ulToc = document.getElementById('list_toc_float');\r\n\t\tconst ulTocTop = document.getElementById('list_toc_top');\r\n\t\tif ((ulToc !== null || ulToc !== undefined) && window.innerWidth > 1018){\r\n\t\t\tulToc.append(...clonedChildren);\r\n\t\t} else {\r\n\t\t\tulTocTop.append(...clonedChildren);\r\n\t\t}\r\n\t} \r\n\r\n\tif (ulJourney !== null) {\r\n\t\tconst clonedChildrenJourney = ulJourney.cloneNode(true).children;\r\n\t\tconst ulTocJourney = document.getElementById('list_toc_journey');\r\n\t\tulTocJourney.append(...clonedChildrenJourney);\r\n\t} \r\n\t\r\n        Fungsi untuk mengambil tinggi navbar\r\n        function getNavbarHeight() {\r\n            const navbar = document.getElementById('tdi_34');\r\n            return navbar ? navbar.offsetHeight : 0;\r\n        }\r\n\r\n        \/\/ Fungsi untuk menambahkan offset posisi scroll\r\n        function scrollToElementWithOffset(elementId) {\r\n            const element = document.getElementById(elementId);\r\n            if (element) {\r\n                const offset = getNavbarHeight();\r\n                const elementPosition = element.getBoundingClientRect().top;\r\n                const offsetPosition = elementPosition - offset-40;\r\n\r\n                window.scrollBy({\r\n                    top: offsetPosition,\r\n                    behavior: 'smooth'\r\n                });\r\n            }\r\n        }\r\n\r\n        \/\/ Fungsi untuk menangani klik pada tautan judul\r\n        function handleTitleClick(event) {\r\n            event.preventDefault();\r\n            const href = event.target.getAttribute('href').substr(1);\r\n            scrollToElementWithOffset(href);\r\n        }\r\n\r\n        \/\/ Tambahkan event listener untuk semua tautan judul\r\n        const titleLinks = document.querySelectorAll('a[href^=\"#\"]');\r\n        titleLinks.forEach(link => {\r\n            link.addEventListener('click', handleTitleClick);\r\n        });\r\n\t});\r\n    <\/script> -->\r\n<a href=\"https:\/\/www.hashmicro.com\/free-product-tour\/?medium=free-product-tour\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" width=\"712\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/11\/Free-Product-Tour-resized.webp\" alt=\"Free Demo\"><\/a><\/span><\/p>\n<table style=\"border-collapse: collapse; background-color: #fffacd; box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); 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;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><a href=\"#tax\">Tax filing<\/a> is the process of reporting income to the IRAS to determine tax liabilities. Individuals submit annual returns, while businesses file ECI and corporate tax returns, supported by proper records.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\">To file taxes accurately in Singapore, businesses must prepare <a href=\"#key\">key documents<\/a> such as financial statements, receipts, and tax computation sheets.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><a href=\"https:\/\/www.hashmicro.com\/accounting\"><span style=\"font-weight: 400;\">HashMicro&#8217;s Accounting Software<\/span><\/a><span style=\"font-weight: 400;\"> simplifies tax filing with automated calculations, real-time reports, and AI-powered tools to ensure accuracy, compliance, and time savings for businesses of all sizes in Singapore.<\/span><\/li>\n<\/ul>\n<p><span id=\"tax\"><\/span><span style=\"font-weight: 400;\"><style>\r\n.button-cta-custom {\r\n    background-color: #8a0e19;\r\n    color: #fff !important;\r\n    -webkit-transition: all .3s ease;\r\n    transition: all .3s ease;\r\n    padding: 8px 24px;\r\n    display: inline-block;\r\n    border-radius: 8px;\r\n    font-size: 16px;\r\n    font-weight: bold;\r\n}\r\n.button-cta-custom:hover{\r\n\tbackground-color:#991b26\t\t\r\n}\r\n<\/style>\r\n<a class=\"button-cta-custom\" href=\"https:\/\/www.hashmicro.com\/free-product-tour\/?medium=cta-button\" target=\"_blank\">Book a Demo Now!<\/a><\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2><b>Understand Your Tax Filing Obligations<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Tax filing is the process of submitting income and financial information to the Inland Revenue Authority of Singapore (IRAS) to determine tax liabilities. For individuals, this involves declaring yearly earnings through the Income Tax Return.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For businesses, it requires filing the Estimated Chargeable Income (ECI) within three months of the financial year-end and submitting the Corporate Income Tax Return. Companies must also ensure proper bookkeeping and maintain records to support their declarations.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In Singapore, all companies, including private limited firms and foreign entities with branches in the country, are <a href=\"https:\/\/www.hashmicro.com\/blog\/guide-to-corporate-tax-in-singapore\/\">required to file corporate tax in Singapore<\/a>. Sole proprietorships and partnerships are also exempt from this obligation, as their business income is reported under the owner&#8217;s tax return.<\/span><\/p>\n<h2><b>Corporate Tax Filing in Singapore<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">To calculate the tax due, companies must derive their taxable income by subtracting allowable business expenses, capital allowances, and relevant exemptions from their total revenue. Accurate financial records must be maintained to justify these claims and ensure compliance.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The tax filing process involves two main obligations: first, the submission of the Estimated Chargeable Income (ECI) within three months from the end of the financial year, unless the company qualifies for a waiver, and second, the annual filing of the Corporate Income Tax Return using Form C or Form C-S, due by November 30.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">To simplify tax compliance, businesses are encouraged to use IRAS&#8217;s myTax Portal. This digital platform enables them to file required documents, monitor deadlines, access previous filings, and stay updated on their tax matters securely and efficiently.<\/span><\/p>\n<h2><b>Common Tax Filing Mistakes to Avoid<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Tax filing can sometimes lead to mistakes, which may happen to anyone. These errors generally fall into two main categories: those made for employees and those made for self-employed individuals. Below is an explanation of each type.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">Mistakes for employees<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">If you&#8217;re an employee, start by checking whether your employer is part of the Auto-Inclusion Scheme (AIS). Even if your employer has submitted your income details to IRAS, you must still file an Income Tax Return if you receive a notification via SMS, email, or letter.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">To ensure accurate filing and avoid issues with your tax obligations, it&#8217;s essential to be aware of common errors when filing personal income tax and how to prevent them. Here are the explanations:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Incorrect relief claims:<\/b><span style=\"font-weight: 400;\"> Review the eligibility for each of your claims, even if the information was automatically carried over from last year&#8217;s tax assessment.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Not filing your income tax return:<\/b><span style=\"font-weight: 400;\"> You must file your income tax return if IRAS has sent you a notification to do so, even if you had no income in the previous year.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Incorrect expense claims: <\/b><span style=\"font-weight: 400;\">You should only claim employment expenses that were directly related to performing your official job duties.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Not informing IRAS when you discover mistakes in your submission: <\/b><span style=\"font-weight: 400;\">You are allowed to submit a revised tax return once before April 18, before receiving your tax assessment notice.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Not clicking the &#8220;submit&#8221; button: <\/b><span style=\"font-weight: 400;\">After clicking &#8220;submit&#8221; on the Consolidated Statement page under My Declaration, an acknowledgment page will appear confirming your tax return submission.<\/span><\/li>\n<\/ul>\n<h3><span style=\"font-weight: 400;\">Mistakes for self-employed individuals<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">If you earn self-employment income, it should be declared under the &#8216;Trade, Business, Profession or Vocation&#8217; section of your Income Tax Return.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">This requirement also applies to employees or retirees who transition into self-employment, such as starting a business after leaving a job, offering independent consultancy tax services after retirement, or turning a personal hobby into a home-based venture.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">To ensure compliance, it&#8217;s essential to understand the common pitfalls freelancers and business owners face when filing taxes and learn how to avoid them.\u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Reporting net income as &#8220;revenue&#8221;:<\/b><span style=\"font-weight: 400;\"> In the 2-line\/4-line statement, you should declare your gross income or sales as &#8220;revenue&#8221; before subtracting any allowable business expenses.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Claiming self-employed CPF relief:<\/b><span style=\"font-weight: 400;\"> You don&#8217;t need to submit a claim, as it is automatically granted based on information provided by the CPF Board.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Declaring estimates\/not keeping proper records: <\/b><span style=\"font-weight: 400;\">\u00a0Providing estimates or failing to maintain accurate records is not permitted. You are required to keep adequate business records and accounts for five years.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Declaring revenue only:<\/b><span style=\"font-weight: 400;\"> You must fill in all sections of the 2-line\/4-line statement. If your business incurred losses, follow the <\/span><a href=\"https:\/\/www.hashmicro.com\/blog\/profit-and-loss-guide\/\"><span style=\"font-weight: 400;\">profit and loss guide<\/span><\/a><span style=\"font-weight: 400;\"> and enter the amount in the &#8220;adjust profit\/loss&#8221; field instead of listing it as &#8220;0&#8221;.\u00a0<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Declaring self-employment income as &#8220;employment income&#8221; or &#8220;other income&#8221;: <\/b><span style=\"font-weight: 400;\">Your self-employment income should be reported under the &#8220;Trade, Business, Profession or Vocation&#8221; section in your income tax return.<\/span><\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<h2><b>Key Documents Needed for Tax Filing <\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-72840\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Key-Documents-Needed-for-Tax-Filing.webp\" alt=\"Key Documents Needed for Tax Filing \" width=\"1200\" height=\"675\" srcset=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Key-Documents-Needed-for-Tax-Filing.webp 1200w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Key-Documents-Needed-for-Tax-Filing-300x169.webp 300w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Key-Documents-Needed-for-Tax-Filing-1024x576.webp 1024w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Key-Documents-Needed-for-Tax-Filing-768x432.webp 768w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Key-Documents-Needed-for-Tax-Filing-747x420.webp 747w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Key-Documents-Needed-for-Tax-Filing-150x84.webp 150w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Key-Documents-Needed-for-Tax-Filing-696x392.webp 696w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Key-Documents-Needed-for-Tax-Filing-1068x601.webp 1068w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/p>\n<p><span style=\"font-weight: 400;\">When preparing to file taxes, businesses need to compile their<\/span><b> financial statements<\/b><span style=\"font-weight: 400;\">. These records provide a detailed snapshot of the company&#8217;s financial position, including revenues, costs, assets, and debts. They play a key role in accurately determining taxable income.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Alongside financial statements, collecting <\/span><b>receipts<\/b><span style=\"font-weight: 400;\"> is essential. These documents verify the expenses and transactions made throughout the fiscal year, supporting any deductions claimed and ensuring all costs are properly substantiated.<\/span><\/p>\n<p>Additionally, tax computation sheets must be prepared to outline taxable income and deferred tax payable, providing clarity on <a href=\"https:\/\/www.hashmicro.com\/blog\/deferred-tax-assets\/\">deferred tax assets and liabilities<\/a>. Keeping these documents well-organized is essential for an efficient and accurate tax filing process in Singapore.<\/p>\n<h2><b>Tips for Improving Your Tax Filing Process<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">After understanding the definition, key document, and common mistakes in tax filing, the next step is to explore practical tips for improving your tax filing process and ensuring greater accuracy and efficiency.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">1. Knowing the deadline for personal income tax filing<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">It&#8217;s important to be aware of the tax filing deadline for personal income tax filing in Singapore: April 15 for paper submissions and April 18 for e-filing. Filing notifications are typically sent between January and February, with the filing period running from March 1 to April 18.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Most taxpayers receive their tax bills starting from the end of April. If additional time is needed, a filing extension of up to 14 days may be requested. Fulfilling your tax responsibilities involves two key steps: submitting your income tax return and addressing your tax bill once it has been issued.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">2. Be prepared with the necessary documents to file an income tax return\u00a0<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Before accessing the myTax Portal, make sure you have all the necessary documents prepared. It includes your Singpass or Singpass Foreign User Account, Form IR8A if your employer is not part of the Auto-Inclusion Scheme (AIS), details of dependents for new relief claims, and information on any rental or additional income.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The Consolidated Statement will specify if any documents need to be uploaded. It&#8217;s also important to keep accurate records for at least five years to support your declared income and claimed expenses.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">3. Avoid mistakes when making tax relief claims<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">IRAS has identified that the most commonly misclaimed tax reliefs include qualifying child relief, spouse relief, and parent relief, often due to taxpayers not meeting the necessary eligibility criteria. Errors also frequently occur when multiple individuals claim the same dependent, leading to duplicate claims.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Suppose more than one taxpayer qualifies for the same dependent. In that case, the relief can be shared based on an agreed division, provided the total amount claimed does not exceed the allowable limit. To avoid these issues, it&#8217;s important to verify your eligibility or seek guidance from a Singapore tax professional.\u00a0<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">4. Making changes after filing or receiving an income tax bill<\/span><\/h3>\n<p><span style=\"font-weight: 400;\">Suppose you need to make changes after submitting your original income tax return. In that case, you can refile through the myTax Portal within seven days of your latest submission or <\/span><b>by April 18<\/b><span style=\"font-weight: 400;\">, whichever comes first.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Starting from YA 2024, <\/span><a href=\"https:\/\/www.iras.gov.sg\/taxes\/individual-income-tax\/basics-of-individual-income-tax\/understanding-my-income-tax-filing\/e-filing-your-income-tax-return\"><span style=\"font-weight: 400;\">IRAS<\/span><\/a><span style=\"font-weight: 400;\"> has been sending out tax bills, also referred to as the Notice of Assessment (NOA). It&#8217;s important to review your bill carefully to ensure all reported income and relief claims are correct.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If you notice any missing income or unclaimed reliefs in your bill, you must notify IRAS by using the Object to Assessment feature on the myTax Portal within 30 days. In cases where you discover mistakes in your tax return, it&#8217;s advisable to inform IRAS and rectify the issues voluntarily and promptly.<\/span><\/p>\n<h3><span style=\"font-weight: 400;\">5. File your income tax with ease using digital or software tools<\/span><b>\u00a0<\/b><\/h3>\n<p><span style=\"font-weight: 400;\">Filing your income tax and <\/span><a href=\"https:\/\/www.hashmicro.com\/blog\/understanding-property-tax-singapore\/\"><span style=\"font-weight: 400;\">property tax<\/span><\/a><span style=\"font-weight: 400;\"> in Singapore can be simple when you use the right digital tools and software solutions. Staying updated on important deadlines, available reliefs, and eligible deductions helps you manage your taxes efficiently and remain compliant with IRAS requirements.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">If the process feels complex or you want to ensure everything is filed correctly while maximizing potential savings, digital tax solutions and professional assistance can make the entire experience much more manageable.<\/span><\/p>\n<h2><b>Simplify Your Tax Filing Process with HashMicro&#8217;s Accounting Software <\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter size-full wp-image-71830\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/05\/Software-Akuntansi.webp\" alt=\"Simplify Your Tax Filing Process with HashMicro\u2019s Accounting Software \" width=\"1470\" height=\"900\" srcset=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/05\/Software-Akuntansi.webp 1470w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/05\/Software-Akuntansi-300x184.webp 300w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/05\/Software-Akuntansi-1024x627.webp 1024w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/05\/Software-Akuntansi-768x470.webp 768w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/05\/Software-Akuntansi-686x420.webp 686w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/05\/Software-Akuntansi-150x92.webp 150w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/05\/Software-Akuntansi-696x426.webp 696w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/05\/Software-Akuntansi-1068x654.webp 1068w\" sizes=\"auto, (max-width: 1470px) 100vw, 1470px\" \/><\/p>\n<p><a href=\"https:\/\/www.hashmicro.com\/accounting\"><span style=\"font-weight: 400;\">HashMicro&#8217;s Accounting Software<\/span><\/a><span style=\"font-weight: 400;\"> is the ideal solution for simplifying your tax filing process with accuracy and efficiency. Equipped with smart features like automated tax calculations, real-time reporting, and AI-powered assistance, it ensures your business remains compliant without the manual burden.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The software streamlines complex tax filing procedures, minimizing errors and saving valuable time. With a user-friendly interface, powerful performance, and scalable capabilities, it caters to businesses of all sizes and industries in Singapore.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\">HashMicro offers a <\/span><a href=\"https:\/\/www.hashmicro.com\/free-product-tour\/\"><span style=\"font-weight: 400;\">free demo<\/span><\/a><span style=\"font-weight: 400;\"> to explore how HashMicro&#8217;s accounting solution can make your tax preparation faster, easier, and more accurate. Here are the key features designed to support tax filing:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Auto-Generated Tax Reports<\/b><span style=\"font-weight: 400;\">: Automatically generate tax reports based on real-time financial data. This feature ensures that all required documents are ready and accurate, reducing the need for manual calculations or cross-checking.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Multi-Entity Tax Filing Support<\/b><span style=\"font-weight: 400;\">: File taxes for multiple business units or subsidiaries with consolidated reporting. It simplifies coordination and ensures unified compliance across entities.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Budget vs. Tax Projection Comparison<\/b><span style=\"font-weight: 400;\">: Compare your budget estimates with projected tax obligations to plan and avoid unexpected liabilities.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Tax Summary by Department or Branch<\/b><span style=\"font-weight: 400;\">: Gain a clear breakdown of tax contributions across different branches, projects, or departments. It helps identify high-impact areas and ensures better tax management.<\/span><\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><b>Real-Time Compliance Tracking<\/b><span style=\"font-weight: 400;\">: Monitor changes in tax regulations and system alerts to stay compliant. This proactive approach helps avoid penalties and late filings.<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400;\">In addition, HashMicro also offers <\/span><a href=\"https:\/\/www.hashmicro.com\/ai-agent-for-finance\/\"><span style=\"font-weight: 400;\">Hashy AI<\/span><\/a><span style=\"font-weight: 400;\"> to boost efficiency by automating data input, verifying tax-related entries, and flagging inconsistencies across reports. It supports faster reviews and higher accuracy.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Another standout tool is the <\/span><b>AR Tax Tracker<\/b><span style=\"font-weight: 400;\">, which automates the tracking of tax on receivables and prepares Statements of Account (SoA) with tax details, perfect for ensuring proper documentation and timely submissions.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Lastly, the <\/span><b>AP Tax Module<\/b><span style=\"font-weight: 400;\"> enhances vendor payment coordination with proper tax classifications and deductions, making the whole filing process more transparent and reliable.<\/span><\/p>\n<h2><b>Conclusion<\/b><\/h2>\n<p><span style=\"font-weight: 400;\">Choosing the right tax filing solution in Singapore is essential for businesses looking to enhance accuracy, save time, and ensure regulatory compliance. A reliable system streamlines financial reporting, reduces manual errors, and supports better decision-making throughout the tax season.<\/span><\/p>\n<p><a href=\"https:\/\/www.hashmicro.com\/accounting\"><span style=\"font-weight: 400;\">HashMicro&#8217;s Accounting Software<\/span><\/a><span style=\"font-weight: 400;\"> offers an all-in-one platform with a user-friendly interface, powerful automation tools, and integration with other core business systems. It enables companies to manage tax computations, generate reports, and file returns more efficiently.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For businesses in Singapore seeking to improve their financial processes, the NTUC<\/span><a href=\"https:\/\/www.hashmicro.com\/ctc-grants\"> <span style=\"font-weight: 400;\">CTC Grant<\/span><\/a><span style=\"font-weight: 400;\"> provides valuable support. Eligible companies can receive up to 70% funding to adopt digital solutions like HashMicro.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Request your<\/span><a href=\"https:\/\/www.hashmicro.com\/free-product-tour\/\"> <span style=\"font-weight: 400;\">free demo<\/span><\/a><span style=\"font-weight: 400;\"> today and experience how HashMicro&#8217;s Accounting Software can simplify your tax filing process while enhancing overall financial management.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/accounting?medium=moneysite-banner\" target=\"_blank\"><img decoding=\"async\" loading=\"lazy\" width=\"712\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Accounting.webp\" alt=\"Accounting\"><\/a><\/span><\/p>\n<h2><strong>Frequently Asked Questions<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>When to file Singapore income tax?<\/strong><\/summary>\n<p>Filing notifications (SMS\/Email\/Letter) are sent from Feb to Mar. If you received a notification to file, you may e-file from March 1 to April 18. Generally, most taxpayers will be receiving their tax bills from the end of April onwards. Use the filing checker below to determine whether you&#8217;re required to file.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What is the best time to file taxes?<\/strong><\/summary>\n<p>To avoid penalties: If your objective is to avoid late fees, you&#8217;ll want to get your return in by Tax Day. If you miss the April deadline, the IRS could hit you with a late-filing penalty of 5% of your bill, up to a maximum of 25% of your taxes owed.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>What happens if you don&#8217;t pay income tax in Singapore?<\/strong><\/summary>\n<p>If you fail to make payment for your overdue tax, IRAS may appoint your banks, tenant, employer, etc., as an agent to recover the unpaid tax. Your appointed agent(s) will be required to pay money due to you to the Comptroller to settle your tax liabilities.<\/p>\n<\/details>\n<\/li>\n<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>Did you know that efficient tax filing can significantly improve your business&#8217;s financial management in Singapore? A streamlined approach helps organizations stay compliant, avoid penalties, and reduce the administrative burden during tax season. Failing to manage your tax obligations properly can lead to errors, delays, and unnecessary fines. It may also limit your company&#8217;s ability [&hellip;]<\/p>\n","protected":false},"author":199,"featured_media":72841,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[153],"tags":[2939],"class_list":{"0":"post-72839","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-accounting","8":"tag-nobanner"},"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>Tax Filing in Singapore: A Step-by-Step Guide for Compliance<\/title>\n<meta name=\"description\" content=\"Learn how to file your taxes in Singapore with this step-by-step guide to ensure accurate, timely, and hassle-free tax compliance.\" \/>\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\/blog\/tax-filing\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tax Filing in Singapore: A Step-by-Step Guide for Compliance\" \/>\n<meta property=\"og:description\" content=\"Learn how to file your taxes in Singapore with this step-by-step guide to ensure accurate, timely, and hassle-free tax compliance.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/blog\/tax-filing\/\" \/>\n<meta property=\"og:site_name\" content=\"BusinessTech\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/web.facebook.com\/hashmicro\/\" \/>\n<meta property=\"article:published_time\" content=\"2025-06-04T06:36:37+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-01-07T07:00:17+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Tax-Filing-in-Singapore-A-Step-by-Step-Guide-for-Compliance-HashMicro.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=\"Lucas\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@hashmicro\" \/>\n<meta name=\"twitter:site\" content=\"@hashmicro\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Lucas\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/tax-filing\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/tax-filing\/\"},\"author\":{\"name\":\"Lucas\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/1d507d1ae58f14604279ad39f6076838\"},\"headline\":\"Tax Filing in Singapore: A Step-by-Step Guide for Compliance\",\"datePublished\":\"2025-06-04T06:36:37+00:00\",\"dateModified\":\"2026-01-07T07:00:17+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/tax-filing\/\"},\"wordCount\":2306,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/tax-filing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Tax-Filing-in-Singapore-A-Step-by-Step-Guide-for-Compliance-HashMicro.webp\",\"keywords\":[\"NoBanner\"],\"articleSection\":[\"Accounting\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/tax-filing\/\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/tax-filing\/\",\"name\":\"Tax Filing in Singapore: A Step-by-Step Guide for Compliance\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/tax-filing\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/tax-filing\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Tax-Filing-in-Singapore-A-Step-by-Step-Guide-for-Compliance-HashMicro.webp\",\"datePublished\":\"2025-06-04T06:36:37+00:00\",\"dateModified\":\"2026-01-07T07:00:17+00:00\",\"description\":\"Learn how to file your taxes in Singapore with this step-by-step guide to ensure accurate, timely, and hassle-free tax compliance.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/tax-filing\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/blog\/tax-filing\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/tax-filing\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Tax-Filing-in-Singapore-A-Step-by-Step-Guide-for-Compliance-HashMicro.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Tax-Filing-in-Singapore-A-Step-by-Step-Guide-for-Compliance-HashMicro.webp\",\"width\":1200,\"height\":675},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/tax-filing\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tax Filing in Singapore: A Step-by-Step Guide for Compliance\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/\",\"name\":\"BusinessTech\",\"description\":\"Business Management Blog\",\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#organization\",\"name\":\"HashMicro\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2016\/02\/bt_logo-1.png\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2016\/02\/bt_logo-1.png\",\"width\":334,\"height\":51,\"caption\":\"HashMicro\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/web.facebook.com\/hashmicro\/\",\"https:\/\/x.com\/hashmicro\",\"https:\/\/www.linkedin.com\/company\/hashmicro\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/1d507d1ae58f14604279ad39f6076838\",\"name\":\"Lucas\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/01\/cropped-expertise-blog-2-96x96.png\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/01\/cropped-expertise-blog-2-96x96.png\",\"caption\":\"Lucas\"},\"description\":\"Lucas Yeo creates in-depth articles on accounting topics tailored to the challenges and questions faced by finance professionals. His articles are SEO-friendly and designed to attract readers seeking accounting solutions.\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/author\/lucas-yeo\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Tax Filing in Singapore: A Step-by-Step Guide for Compliance","description":"Learn how to file your taxes in Singapore with this step-by-step guide to ensure accurate, timely, and hassle-free tax compliance.","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\/blog\/tax-filing\/","og_locale":"en_US","og_type":"article","og_title":"Tax Filing in Singapore: A Step-by-Step Guide for Compliance","og_description":"Learn how to file your taxes in Singapore with this step-by-step guide to ensure accurate, timely, and hassle-free tax compliance.","og_url":"https:\/\/www.hashmicro.com\/blog\/tax-filing\/","og_site_name":"BusinessTech","article_publisher":"https:\/\/web.facebook.com\/hashmicro\/","article_published_time":"2025-06-04T06:36:37+00:00","article_modified_time":"2026-01-07T07:00:17+00:00","og_image":[{"width":1200,"height":675,"url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Tax-Filing-in-Singapore-A-Step-by-Step-Guide-for-Compliance-HashMicro.webp","type":"image\/webp"}],"author":"Lucas","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Written by":"Lucas","Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/blog\/tax-filing\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/blog\/tax-filing\/"},"author":{"name":"Lucas","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/1d507d1ae58f14604279ad39f6076838"},"headline":"Tax Filing in Singapore: A Step-by-Step Guide for Compliance","datePublished":"2025-06-04T06:36:37+00:00","dateModified":"2026-01-07T07:00:17+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/blog\/tax-filing\/"},"wordCount":2306,"publisher":{"@id":"https:\/\/www.hashmicro.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/blog\/tax-filing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Tax-Filing-in-Singapore-A-Step-by-Step-Guide-for-Compliance-HashMicro.webp","keywords":["NoBanner"],"articleSection":["Accounting"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/blog\/tax-filing\/","url":"https:\/\/www.hashmicro.com\/blog\/tax-filing\/","name":"Tax Filing in Singapore: A Step-by-Step Guide for Compliance","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/blog\/tax-filing\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/blog\/tax-filing\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Tax-Filing-in-Singapore-A-Step-by-Step-Guide-for-Compliance-HashMicro.webp","datePublished":"2025-06-04T06:36:37+00:00","dateModified":"2026-01-07T07:00:17+00:00","description":"Learn how to file your taxes in Singapore with this step-by-step guide to ensure accurate, timely, and hassle-free tax compliance.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/blog\/tax-filing\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/blog\/tax-filing\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/blog\/tax-filing\/#primaryimage","url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Tax-Filing-in-Singapore-A-Step-by-Step-Guide-for-Compliance-HashMicro.webp","contentUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/06\/Tax-Filing-in-Singapore-A-Step-by-Step-Guide-for-Compliance-HashMicro.webp","width":1200,"height":675},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/blog\/tax-filing\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Tax Filing in Singapore: A Step-by-Step Guide for Compliance"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/blog\/#website","url":"https:\/\/www.hashmicro.com\/blog\/","name":"BusinessTech","description":"Business Management Blog","publisher":{"@id":"https:\/\/www.hashmicro.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hashmicro.com\/blog\/#organization","name":"HashMicro","url":"https:\/\/www.hashmicro.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2016\/02\/bt_logo-1.png","contentUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2016\/02\/bt_logo-1.png","width":334,"height":51,"caption":"HashMicro"},"image":{"@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/web.facebook.com\/hashmicro\/","https:\/\/x.com\/hashmicro","https:\/\/www.linkedin.com\/company\/hashmicro"]},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/1d507d1ae58f14604279ad39f6076838","name":"Lucas","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/01\/cropped-expertise-blog-2-96x96.png","contentUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/01\/cropped-expertise-blog-2-96x96.png","caption":"Lucas"},"description":"Lucas Yeo creates in-depth articles on accounting topics tailored to the challenges and questions faced by finance professionals. His articles are SEO-friendly and designed to attract readers seeking accounting solutions.","url":"https:\/\/www.hashmicro.com\/blog\/author\/lucas-yeo\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts\/72839","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/users\/199"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/comments?post=72839"}],"version-history":[{"count":4,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts\/72839\/revisions"}],"predecessor-version":[{"id":78246,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts\/72839\/revisions\/78246"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/media\/72841"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/media?parent=72839"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/categories?post=72839"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/tags?post=72839"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}