{"id":17120,"date":"2026-03-04T10:00:18","date_gmt":"2026-03-04T10:00:18","guid":{"rendered":"https:\/\/www.hashmicro.com\/my\/blog\/?p=17120"},"modified":"2026-03-10T02:03:25","modified_gmt":"2026-03-10T02:03:25","slug":"e-invoice-exemption","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/","title":{"rendered":"E-Invoice Exemption Malaysia 2026: Full Guide to Who Qualifies and What Transactions Are Excluded"},"content":{"rendered":"<p>Malaysia&#8217;s e-invoicing mandate is gradually changing how businesses handle billing and tax compliance. Introduced by the<a href=\"https:\/\/www.hasil.gov.my\/media\/0xqitc2t\/lhdnm-e-invoice-general-faqs.pdf\"> Inland Revenue Board of Malaysia (LHDN)<\/a> in collaboration with MDEC, the system is designed to modernise the country&#8217;s tax infrastructure. However, not every business or transaction falls within the scope of this mandate.<\/p>\n<p>Whether you are a small enterprise just getting to grips with Malaysia&#8217;s digital invoicing requirements, a finance professional navigating complex transaction categories, or a compliance officer determining your organisation&#8217;s obligations, this guide provides everything you need.<\/p>\n<p>Understanding which categories qualify for an e-invoice exemption is important not only to avoid penalties but also to make sound compliance decisions. This guide covers who qualifies, which transactions are excluded, how to apply for an exemption, and what obligations still apply even during an exemption period.<\/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\">Not all businesses are <a href=\"#1\">required to issue e-invoices<\/a>. LHDN recognises both person-based and transaction-based exemptions.<\/li>\n<li>Small businesses <a href=\"#3\">below the current revenue threshold<\/a> are in a temporary exemption period not permanently exempt. Full compliance applies from July 2026 for all taxpayers.<\/li>\n<li aria-level=\"1\">Certain transactions such as <a href=\"#2\">employment income, dividend payments, and property disposals are excluded<\/a> from e-invoice requirements regardless of who issues them.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><span style=\"font-weight: 400;\"><a href=\"#4\">Formal application to LHDN<\/a> is required for exemptions that are not automatically granted by category.<\/span><\/li>\n<\/ul>\n<p><!-- <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\">Content Lists<\/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<!-- TOC mobile -->\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<!-- TOC mobile -->\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}\r\n\t\t#toc_group_article {\r\n\t\t\tdisplay:none;\r\n\t\t}\t\t\t\t\r\n\t}\r\n\r\n<\/style>\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<!-- START 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<!-- END ToC styling  -->\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<\/script>\r\n\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\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', '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\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        \/\/ 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;} \/\/ Biar ga nampilin Key Takeaways di ToC\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\t\/\/ Dapatkan elemen ul dengan id 'list_toc_float'\r\nconst ulFloat = document.getElementById('list_toc');\r\nconst ulJourney = document.getElementById('list_journey');\r\n\r\n\/\/ Dapatkan 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\r\n\r\n\r\n\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<!-- \t<style>#toc_group_float{display:block !important}<\/style> -->\r\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h2>What Is E-Invoice Exemption and Why Does It Matter?<\/h2>\n<p>An e-invoice exemption is a formal or categorical exclusion that allows certain taxpayers or specific transaction types to be exempt from issuing or receiving e-invoices through LHDN&#8217;s MyInvois portal.<\/p>\n<p>These exemptions are not administrative workarounds. Rather, they are deliberate policy decisions that recognise the practical differences across business sizes, industries, and transaction types. For example, the &#8216;validate-then-submit&#8217; workflow in MyInvois works smoothly for large corporations with ERP systems but can be challenging for small traders, rural businesses, or entities handling non-commercial transactions.<\/p>\n<p>There are two types of exemptions to understand:<\/p>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-17133\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/understanding-e-invoice-exemptions.webp\" alt=\"understanding e-invoice exemptions\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/understanding-e-invoice-exemptions.webp 1536w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/understanding-e-invoice-exemptions-300x200.webp 300w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/understanding-e-invoice-exemptions-1024x683.webp 1024w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/understanding-e-invoice-exemptions-768x512.webp 768w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/understanding-e-invoice-exemptions-630x420.webp 630w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/understanding-e-invoice-exemptions-150x100.webp 150w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/understanding-e-invoice-exemptions-696x464.webp 696w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/understanding-e-invoice-exemptions-1068x712.webp 1068w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><\/p>\n<ul>\n<li><strong>Person-based exemptions<\/strong>, apply to specific categories of taxpayers who are excluded from <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-malaysia\/\">the e-invoice requirement<\/a> entirely.<\/li>\n<li><strong>Transaction-based exemptions<\/strong>, apply to particular types of transactions, even when the issuing party would otherwise be required to issue e-invoices.<\/li>\n<\/ul>\n<p>Both types are recognised under LHDN&#8217;s official guidelines. Understanding the difference between them is the first step toward accurate compliance decisions.<span id=\"1\"><\/span><\/p>\n<h2><strong>Categories of Exempted Persons Under LHDN Guidelines<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"size-full wp-image-17152 aligncenter\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/Categories-of-Exempted-Persons-Under-LHDN-Guidelines.webp\" alt=\"Categories of Exempted Persons Under LHDN Guidelines\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/Categories-of-Exempted-Persons-Under-LHDN-Guidelines.webp 1536w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/Categories-of-Exempted-Persons-Under-LHDN-Guidelines-300x200.webp 300w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/Categories-of-Exempted-Persons-Under-LHDN-Guidelines-1024x683.webp 1024w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/Categories-of-Exempted-Persons-Under-LHDN-Guidelines-768x512.webp 768w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/Categories-of-Exempted-Persons-Under-LHDN-Guidelines-630x420.webp 630w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/Categories-of-Exempted-Persons-Under-LHDN-Guidelines-150x100.webp 150w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/Categories-of-Exempted-Persons-Under-LHDN-Guidelines-696x464.webp 696w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/Categories-of-Exempted-Persons-Under-LHDN-Guidelines-1068x712.webp 1068w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><\/p>\n<p>LHDN identifies specific categories of taxpayers who are either permanently or temporarily exempt from issuing e-invoices. In most cases, exemptions are not automatic they require either formal application, fall within defined revenue thresholds, or are governed by statutory provisions.<\/p>\n<h3>1. Individuals Not Engaged in Business<\/h3>\n<p>Private individuals who do not conduct any business activity are exempt. For instance, someone selling a personal asset does not fall within the e-invoice mandate. However, if that same individual operates a business even informally their obligations may change depending on turnover and business registration.<\/p>\n<h3>2. Government Bodies and Statutory Authorities (as Suppliers)<\/h3>\n<p>Certain government entities and statutory bodies, when acting as suppliers, may be exempt from issuing e-invoices. This reflects both the unique nature of government billing and the logistical challenges of integrating public sector systems with MyInvois within short timeframes.<\/p>\n<p>Note that government bodies receiving invoices from private businesses are not exempt from requiring their vendors to issue e-invoices.<span id=\"3\"><\/span><\/p>\n<h3>3. Taxpayers Below the Revenue Threshold<\/h3>\n<p>The most widely applicable exemption covers businesses whose annual turnover falls below defined thresholds. Malaysia&#8217;s e-invoice implementation has been phased based on revenue brackets:<\/p>\n<ul>\n<li><strong>Phase 1 (August 2024): <\/strong>Businesses with annual turnover above RM100 million.<\/li>\n<li><strong>Phase 2 (January 2026): <\/strong>Businesses with annual turnover between RM25 million and RM100 million.<\/li>\n<li><strong>Phase 3 (July 2026):<\/strong> All remaining taxpayers conducting business in Malaysia.<\/li>\n<\/ul>\n<p>Businesses that have not yet reached their phase&#8217;s go-live date are in a temporary exemption period, not permanently exempt. Once their phase begins, full compliance is required. However, during the interim period, they are not required to issue e-invoices and may continue using conventional invoicing methods.<\/p>\n<h3>4. Foreign Missions, Embassies, and International Organisations<\/h3>\n<p>Diplomatic missions and international organisations operating under formal treaty arrangements generally qualify for exemptions due to their privileged legal status under instruments such as the Vienna Convention.<\/p>\n<h3>5. Specific Individual Professions and Micro-Enterprises<\/h3>\n<p>Certain very small businesses and sole proprietors may apply for exemption where the compliance burden is deemed disproportionate to the regulatory benefit. LHDN has shown flexibility here, particularly for rural businesses, cottage industries, and micro-traders with limited internet access or technical capacity.<\/p>\n<p>Understanding the <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-implementation-malaysia\/\" target=\"_blank\" rel=\"noopener noreferrer\">e-invoice implementation timeline and requirements in Malaysia<\/a> is essential for any business attempting to determine where it sits within these categories and what obligations will apply once each phase is enforced.<span id=\"2\"><\/span><\/p>\n<h2>Exempted Transaction Types: What Transactions Are Excluded?<\/h2>\n<p>Even where a business is not categorically exempt, certain types of transactions may still be excluded from e-invoice requirements. These transaction-based exclusions are especially relevant for sectors that involve complex or sensitive billing arrangements.<\/p>\n<h3>1. Employment Income<\/h3>\n<p>Salary payments and employment-related compensation are excluded. Employers do not need to issue e-invoices for wages, bonuses, or similar payments. Employment income is already documented under the EA (Employment Act) and reported through the PCB (Potongan Cukai Bulanan) payroll deduction system, so adding e-invoices would create unnecessary duplication.<\/p>\n<h3>2. Alimony and Maintenance Payments<\/h3>\n<p>Payments made for alimony, maintenance, or similar legally mandated personal financial obligations are also excluded. These transactions are personal in nature and do not constitute commercial activity.<\/p>\n<h3>3. Disposal of Investments<\/h3>\n<p>Transactions involving stocks, shares, bonds, and similar instruments are excluded. Such transactions are documented through securities settlement systems and brokerage statements, processes that are separate from standard commercial invoicing.<\/p>\n<h3>4. Disposal of Real Property<\/h3>\n<p>The sale or transfer of real property including land, buildings, and permanent fixtures is excluded from e-invoice requirements. Property transactions in Malaysia are already governed by a comprehensive legal framework including instruments like sale and purchase agreements, transfer forms, and stamp duty documentation that makes additional e-invoice requirements redundant.<\/p>\n<h3>5. Dividend Payments<\/h3>\n<p>Dividend distributions to shareholders are excluded. Dividends are documented through dividend vouchers, tax certificates, and company resolutions, which already satisfy Companies Act provisions and tax reporting obligations.<\/p>\n<h3>6. Government Grants and Subsidies<\/h3>\n<p>Government grants, subsidies, and similar non-commercial payments are excluded. These disbursements are policy instruments not commercial exchanges and standard e-invoicing documentation is neither appropriate nor required.<\/p>\n<h3>7. Zakat, Sadaqah, and Religious Contributions<\/h3>\n<p>Religious payments including zakat (obligatory Islamic almsgiving) and sadaqah (voluntary charitable giving) are excluded. These transactions are governed by Islamic law principles and administered through established religious authorities with their own accountability frameworks.<\/p>\n<h3>8. Certain Financial Instruments and Transactions<\/h3>\n<p>Transactions involving specific financial instruments, derivatives, and banking activities may also be excluded, depending on their nature and existing regulatory oversight. Banks and financial institutions already operate under Bank Negara Malaysia&#8217;s prudential frameworks, which impose documentation requirements that are distinct from commercial e-invoicing.<\/p>\n<p>For businesses dealing with more complex billing arrangements, it is also worth understanding how <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/self-billed-e-invoice\/\" target=\"_blank\" rel=\"noopener noreferrer\">self-billed e-invoices<\/a> work in Malaysia, as certain exempted transaction categories may still require alternative documentation approaches where the buyer, rather than the supplier, issues the invoice.<span id=\"4\"><\/span><\/p>\n<h2><strong>How to Apply for E-Invoice Exemption Through LHDN<\/strong><\/h2>\n<p>For businesses that believe they qualify for an exemption but are not automatically excluded by a clearly defined category, LHDN provides a formal application process.<\/p>\n<h3>Step 1: Determine Your Eligibility Basis<\/h3>\n<p>Before initiating any application, clearly identify the legal or regulatory basis for the exemption before starting any application. The basis whether revenue threshold, business type, or transaction category determines what supporting documents are required.<\/p>\n<h3>Step 2: Prepare Supporting Documentation<\/h3>\n<p>Compile relevant documents, which typically include:<\/p>\n<ul>\n<li>Business registration certificates and SSM filings<\/li>\n<li>Latest audited financial statements or management accounts demonstrating annual turnover<\/li>\n<li>a description of business activities and the transactions for which exemption is sought<\/li>\n<li>and any relevant statutory provisions or regulatory approvals that support your exemption claim<\/li>\n<\/ul>\n<h3>Step 3: Submit Your Application to LHDN<\/h3>\n<p>Applications for e-invoice exemptions are submitted through LHDN&#8217;s official channels, which may include the MyTax portal or specific correspondence with the LHDN branch handling your tax file. LHDN has indicated that applications should be submitted with sufficient lead time before the applicable implementation phase date to ensure timely processing.<\/p>\n<h3>Step 4: Await LHDN&#8217;s Decision<\/h3>\n<p>LHDN will review the application and may request additional information. Do not treat a pending application as an approved exemption. Formal written confirmation from LHDN is required before any transaction is treated as exempt.<\/p>\n<h3>Step 5: Maintain Records of Exemption Approval<\/h3>\n<p>Once an exemption is granted, businesses must maintain proper records of the approval documentation. These records may be requested during tax audits or compliance reviews. The exemption approval letter from LHDN should be treated as a critical compliance document and stored securely within your <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/accounting-automation\/\">financial records management system.<\/a><\/p>\n<h2><strong>Common Misconceptions About E-Invoice Exemption in Malaysia<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"alignnone size-full wp-image-17143\" src=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/myth-vs-fact-e-invoice-exemptions-in-malaysia.webp\" alt=\"myth vs fact e-invoice exemptions in malaysia\" width=\"1536\" height=\"1024\" srcset=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/myth-vs-fact-e-invoice-exemptions-in-malaysia.webp 1536w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/myth-vs-fact-e-invoice-exemptions-in-malaysia-300x200.webp 300w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/myth-vs-fact-e-invoice-exemptions-in-malaysia-1024x683.webp 1024w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/myth-vs-fact-e-invoice-exemptions-in-malaysia-768x512.webp 768w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/myth-vs-fact-e-invoice-exemptions-in-malaysia-630x420.webp 630w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/myth-vs-fact-e-invoice-exemptions-in-malaysia-150x100.webp 150w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/myth-vs-fact-e-invoice-exemptions-in-malaysia-696x464.webp 696w, https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/myth-vs-fact-e-invoice-exemptions-in-malaysia-1068x712.webp 1068w\" sizes=\"(max-width: 1536px) 100vw, 1536px\" \/><\/p>\n<p>Given the complexity of Malaysia&#8217;s e-invoice framework, several misconceptions have emerged among business owners, accountants, and compliance teams. Addressing these directly helps ensure decisions are based on accurate information.<\/p>\n<h3>Misconception 1: &#8220;If My Business Is Small, I&#8217;m Automatically Permanently Exempt&#8221;<\/h3>\n<p>This is one of the most common and dangerous misconceptions. Small businesses below the current phase threshold are in a <em>temporary<\/em> exemption period, not a permanent one. Phase 3 (July 2026) brings all remaining businesses into the e-invoice mandate, regardless of size. Planning for compliance as early as possible is essential.<\/p>\n<h3>Misconception 2: &#8220;Exempt Transactions Don&#8217;t Need Any Documentation&#8221;<\/h3>\n<p>As discussed earlier, exemption from e-invoicing does not mean exemption from documentation. Businesses must still issue appropriate <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/invoice-bill\/\">conventional invoices<\/a> or receipts and maintain full financial records. The exemption relates specifically to the obligation to submit documentation through the MyInvois portal, not to documentation requirements generally.<\/p>\n<h3>Misconception 3: &#8220;B2C Transactions Are Fully Exempt&#8221;<\/h3>\n<p>While there are specific provisions that acknowledge the unique challenges of high-volume B2C transactions particularly in retail B2C transactions are not categorically exempt from e-invoicing. LHDN has introduced a &#8220;consolidated e-invoice&#8221; mechanism that allows businesses to issue a single e-invoice covering multiple B2C transactions over a period, rather than individual e-invoices for every sale. This is an accommodation, not a full exemption.<\/p>\n<h3>Misconception 4: &#8220;Receiving an Exempted Invoice Means I Don&#8217;t Need to Report It&#8221;<\/h3>\n<p>From the buyer&#8217;s perspective, receiving an invoice for an exempted transaction does not eliminate the need to properly account for that expense in the business&#8217;s financial records and tax returns. Tax deductibility, input tax claims (where SST is involved), and proper expenditure recording obligations remain regardless of the invoice&#8217;s e-invoice status.<\/p>\n<h3>Misconception 5: &#8220;The Exemption Application Process Is Simple and Always Approved&#8221;<\/h3>\n<p>LHDN treats exemption applications seriously and will not approve applications that do not meet the established criteria. Businesses must submit well-documented applications with clear justification, and there is no guarantee of approval unless the eligibility criteria are clearly and convincingly met. Attempting to claim exemption without formal LHDN approval is a compliance risk that could expose businesses to penalties.<\/p>\n<h2><strong>Preparing for Full Compliance: Steps Businesses Should Take Now<\/strong><\/h2>\n<p>Even if your business currently qualifies for an e-invoice exemption whether based on revenue, business type, or transaction category the direction of travel in Malaysia is clearly toward universal e-invoice compliance over time. Preparing right now rather than waiting reduces operational risk and makes the transition smoother.<\/p>\n<h3>Conduct a Comprehensive Invoice Audit<\/h3>\n<p>Map out every type of invoice your business issues and receives. Categorise each by transaction type, counterparty type (B2B, B2C, B2G), and the applicable regulatory framework. This reveals which transactions will require e-invoice compliance in future phases.<\/p>\n<p>This audit will reveal which transactions may be exempt now but will require e-invoice compliance in the future, and which transactions may be exempt permanently.<\/p>\n<h3>Evaluate Your Current Invoicing Technology<\/h3>\n<p>Assess whether your existing accounting or ERP software supports integration with MyInvois. Many enterprise-grade solutions already offer or are developing API connectivity with LHDN&#8217;s platform.<\/p>\n<h3>Train Your Finance and Accounts Teams<\/h3>\n<p>E-invoice compliance is not just a technology question it is also a people and process question. Your finance team needs to understand the new documentation workflows, the validation process, the treatment of rejected or cancelled e-invoices, and the record-keeping requirements.<\/p>\n<p>Investing in training now will reduce errors and compliance risks when full implementation is required.<\/p>\n<h3>Engage Your Tax Advisor or Accountant<\/h3>\n<p>Given the evolving nature of Malaysia&#8217;s e-invoice guidelines with LHDN issuing multiple rounds of updated guidelines, supplementary FAQs, and sector-specific guidance engaging a qualified tax professional is strongly advisable. An experienced advisor can help you determine your exact obligations, identify genuinely applicable exemptions, and ensure your compliance posture is defensible in the event of an audit.<\/p>\n<h3>Stay Updated on LHDN Announcements<\/h3>\n<p>LHDN has demonstrated a willingness to adjust implementation timelines, expand exemption categories, and issue clarifying guidance <a href=\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-implementation-malaysia\/\">as the e-invoice rollout progresses<\/a>. Monitoring LHDN&#8217;s official website, gazette notifications, and authorised announcements ensures that your business is always working with the most current information.<\/p>\n<p>This is particularly important for businesses in transitional phases or those that have applied for exemptions that may be subject to periodic review.<\/p>\n<h3>Consider a Pilot Implementation<\/h3>\n<p>Even if your business is not yet required to issue e-invoices, voluntarily piloting the system with a subset of transactions can be extremely valuable. It allows your team to identify integration challenges, understand the validation and rejection workflow, and build internal capacity before mandatory compliance dates arrive. LHDN encourages voluntary early adoption and has made MyInvois available for this purpose.<\/p>\n<h2><strong>Penalties for Non-Compliance and the Risk of Incorrectly Claiming Exemption<\/strong><\/h2>\n<p>Understanding exemptions also requires understanding the consequences of getting them wrong. Malaysia&#8217;s Income Tax Act 1967 and the specific provisions enacted to support<a href=\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-penalties-malaysia\/\"> the e-invoice framework impose penalties<\/a> for non-compliance that businesses must take seriously.<\/p>\n<h3>Penalties Under the Income Tax Act<\/h3>\n<p>Failure to issue e-invoices when required or issuing non-compliant invoices can result in penalties under Section 120 of the Income Tax Act. These can include fines, surcharges, and in serious cases, criminal prosecution<\/p>\n<h3>Audit and Investigation Risk<\/h3>\n<p>Businesses that claim exemptions without proper documentation face elevated audit risk. LHDN can cross-reference tax registries, and inconsistencies between declared exemption claims and actual transaction patterns are likely to attract attention during routine reviews.<\/p>\n<h3>Reputational and Commercial Risk<\/h3>\n<p>Beyond regulatory penalties, businesses that fail to comply with e-invoice requirements or that are found to have improperly claimed exemptions face reputational damage that can affect their commercial relationships. Increasingly, large corporations and government procurement officers are requiring their suppliers to demonstrate e-invoice compliance as a condition of doing business, making non-compliance a commercial disadvantage as well as a legal one.<\/p>\n<h2><strong>Conclusion<\/strong><\/h2>\n<p>E-invoice exemptions in Malaysia are carefully calibrated provisions not permanent escape routes. From person-based exclusions to specific transaction types, the framework acknowledges the diversity of Malaysia&#8217;s economic landscape while maintaining a clear trajectory toward universal digital compliance.<\/p>\n<p>As Malaysia&#8217;s digital invoicing environment continues to mature, the businesses that navigate it best will be those that use the exemption period not as a reason to delay, but as an opportunity to prepare. Mapping your invoice types, evaluating your technology stack, training your team, and engaging a qualified tax advisor are all steps that pay dividends regardless of when your compliance deadline arrives.<\/p>\n<p>What matters most for any business is not simply identifying whether an exemption applies today, but understanding the full scope of that exemption, what compliance obligations persist during the exemption period, and how to prepare for the eventual end of that exempted status.<\/p>\n<h2><strong>FAQ about E-Invoice Exemption In Malaysia<\/strong><\/h2>\n<ul class=\"bottom_faq\">\n<li>\n<details open=\"open\">\n<summary><strong>Does my business need to apply for an e-invoice exemption, or is it automatic?<\/strong><\/summary>\n<p>It depends on the category. Businesses below the current phase threshold are in an automatic temporary exemption period. However, most other exemptions particularly those based on business type or specific circumstances require a formal application to LHDN with supporting documentation.<\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>What happens if I incorrectly claim an e-invoice exemption?<\/strong><\/summary>\n<p>Incorrectly claiming an exemption exposes your business to penalties under Section 120 of the Income Tax Act, audit risk, and potential reputational damage. Always obtain formal written confirmation from LHDN before treating any transaction as exempt.<\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>Are all B2C transactions exempt from e-invoicing?<\/strong><\/summary>\n<p>No. B2C transactions are not categorically exempt. LHDN offers a &#8216;consolidated e-invoice&#8217; option that allows businesses to issue a single e-invoice covering multiple B2C transactions within a period but this is an operational accommodation, not a full exemption.<\/p>\n<\/details>\n<\/li>\n<li>\n<details open=\"open\">\n<summary><strong>How long does it take for LHDN to process an exemption application?<\/strong><\/summary>\n<p>Processing timelines vary depending on the complexity of the application and current application volumes. LHDN recommends submitting applications well before the applicable implementation phase date. Do not assume approval unless you have received formal written confirmation.<\/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    \"@type\": \"Question\",\n    \"name\": \"Does my business need to apply for an e-invoice exemption, or is it automatic?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"It depends on the category. Businesses below the current phase threshold are in an automatic temporary exemption period. However, most other exemptions particularly those based on business type or specific circumstances require a formal application to LHDN with supporting documentation.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"What happens if I incorrectly claim an e-invoice exemption?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Incorrectly claiming an exemption exposes your business to penalties under Section 120 of the Income Tax Act, audit risk, and potential reputational damage. Always obtain formal written confirmation from LHDN before treating any transaction as exempt.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Are all B2C transactions exempt from e-invoicing?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"No. B2C transactions are not categorically exempt. LHDN offers a 'consolidated e-invoice' option that allows businesses to issue a single e-invoice covering multiple B2C transactions within a period but this is an operational accommodation, not a full exemption.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"How long does it take for LHDN to process an exemption application?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Processing timelines vary depending on the complexity of the application and current application volumes. LHDN recommends submitting applications well before the applicable implementation phase date. Do not assume approval unless you have received formal written confirmation.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Malaysia&#8217;s e-invoicing mandate is gradually changing how businesses handle billing and tax compliance. Introduced by the Inland Revenue Board of Malaysia (LHDN) in collaboration with MDEC, the system is designed to modernise the country&#8217;s tax infrastructure. However, not every business or transaction falls within the scope of this mandate. Whether you are a small enterprise [&hellip;]<\/p>\n","protected":false},"author":39,"featured_media":17389,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[221],"tags":[],"class_list":{"0":"post-17120","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-invoicing"},"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>E-Invoice Exemption in Malaysia: Complete Guide For 2026<\/title>\n<meta name=\"description\" content=\"Businesses that have not yet reached their phase&#039;s go-live date are in a temporary exemption period, not permanently exempt.\" \/>\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\/my\/blog\/e-invoice-exemption\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"E-Invoice Exemption Malaysia 2026: Full Guide to Who Qualifies and What Transactions Are Excluded\" \/>\n<meta property=\"og:description\" content=\"Businesses that have not yet reached their phase&#039;s go-live date are in a temporary exemption period, not permanently exempt.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Malaysia\" \/>\n<meta property=\"article:published_time\" content=\"2026-03-04T10:00:18+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-10T02:03:25+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/e-invoice-exemption.webp\" \/>\n\t<meta property=\"og:image:width\" content=\"800\" \/>\n\t<meta property=\"og:image:height\" content=\"400\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/webp\" \/>\n<meta name=\"author\" content=\"Siti binti Rahman\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Siti binti Rahman\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/\"},\"author\":{\"name\":\"Siti binti Rahman\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/e4dba2ae170a31d8f85bf173ebfbf7a5\"},\"headline\":\"E-Invoice Exemption Malaysia 2026: Full Guide to Who Qualifies and What Transactions Are Excluded\",\"datePublished\":\"2026-03-04T10:00:18+00:00\",\"dateModified\":\"2026-03-10T02:03:25+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/\"},\"wordCount\":2742,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/e-invoice-exemption.webp\",\"articleSection\":[\"Invoicing\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/\",\"name\":\"E-Invoice Exemption in Malaysia: Complete Guide For 2026\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/e-invoice-exemption.webp\",\"datePublished\":\"2026-03-04T10:00:18+00:00\",\"dateModified\":\"2026-03-10T02:03:25+00:00\",\"description\":\"Businesses that have not yet reached their phase's go-live date are in a temporary exemption period, not permanently exempt.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/e-invoice-exemption.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/e-invoice-exemption.webp\",\"width\":800,\"height\":400,\"caption\":\"e-invoice exemption\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/my\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"E-Invoice Exemption Malaysia 2026: Full Guide to Who Qualifies and What Transactions Are Excluded\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#website\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/\",\"name\":\"HashMicro Malaysia\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.hashmicro.com\/my\/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\/my\/blog\/#organization\",\"name\":\"HashMicro Malaysia\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp\",\"width\":422,\"height\":255,\"caption\":\"HashMicro Malaysia\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/e4dba2ae170a31d8f85bf173ebfbf7a5\",\"name\":\"Siti binti Rahman\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/cropped-Siti-binti-Rahman-MY-1080x1080-BG-cafe-96x96.webp\",\"contentUrl\":\"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/cropped-Siti-binti-Rahman-MY-1080x1080-BG-cafe-96x96.webp\",\"caption\":\"Siti binti Rahman\"},\"description\":\"Siti binti Rahman specializes in accounting-related topics, crafting articles that simplify complex financial concepts for business owners and finance professionals. Her content includes practical guides on accounting automation, compliance, and financial reporting. Through well-researched and accessible writing, she supports readers in improving their financial management strategies.\",\"url\":\"https:\/\/www.hashmicro.com\/my\/blog\/author\/siti-binti-rahman\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"E-Invoice Exemption in Malaysia: Complete Guide For 2026","description":"Businesses that have not yet reached their phase's go-live date are in a temporary exemption period, not permanently exempt.","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\/my\/blog\/e-invoice-exemption\/","og_locale":"en_US","og_type":"article","og_title":"E-Invoice Exemption Malaysia 2026: Full Guide to Who Qualifies and What Transactions Are Excluded","og_description":"Businesses that have not yet reached their phase's go-live date are in a temporary exemption period, not permanently exempt.","og_url":"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/","og_site_name":"HashMicro Malaysia","article_published_time":"2026-03-04T10:00:18+00:00","article_modified_time":"2026-03-10T02:03:25+00:00","og_image":[{"width":800,"height":400,"url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/e-invoice-exemption.webp","type":"image\/webp"}],"author":"Siti binti Rahman","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Siti binti Rahman","Est. reading time":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/"},"author":{"name":"Siti binti Rahman","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/e4dba2ae170a31d8f85bf173ebfbf7a5"},"headline":"E-Invoice Exemption Malaysia 2026: Full Guide to Who Qualifies and What Transactions Are Excluded","datePublished":"2026-03-04T10:00:18+00:00","dateModified":"2026-03-10T02:03:25+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/"},"wordCount":2742,"commentCount":0,"publisher":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/e-invoice-exemption.webp","articleSection":["Invoicing"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/","url":"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/","name":"E-Invoice Exemption in Malaysia: Complete Guide For 2026","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/e-invoice-exemption.webp","datePublished":"2026-03-04T10:00:18+00:00","dateModified":"2026-03-10T02:03:25+00:00","description":"Businesses that have not yet reached their phase's go-live date are in a temporary exemption period, not permanently exempt.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#primaryimage","url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/e-invoice-exemption.webp","contentUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2026\/03\/e-invoice-exemption.webp","width":800,"height":400,"caption":"e-invoice exemption"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/my\/blog\/e-invoice-exemption\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/my\/blog\/"},{"@type":"ListItem","position":2,"name":"E-Invoice Exemption Malaysia 2026: Full Guide to Who Qualifies and What Transactions Are Excluded"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#website","url":"https:\/\/www.hashmicro.com\/my\/blog\/","name":"HashMicro Malaysia","description":"","publisher":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/my\/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\/my\/blog\/#organization","name":"HashMicro Malaysia","url":"https:\/\/www.hashmicro.com\/my\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp","contentUrl":"https:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/09\/logo.webp","width":422,"height":255,"caption":"HashMicro Malaysia"},"image":{"@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/e4dba2ae170a31d8f85bf173ebfbf7a5","name":"Siti binti Rahman","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/my\/blog\/#\/schema\/person\/image\/","url":"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/cropped-Siti-binti-Rahman-MY-1080x1080-BG-cafe-96x96.webp","contentUrl":"http:\/\/www.hashmicro.com\/my\/blog\/wp-content\/uploads\/2025\/10\/cropped-Siti-binti-Rahman-MY-1080x1080-BG-cafe-96x96.webp","caption":"Siti binti Rahman"},"description":"Siti binti Rahman specializes in accounting-related topics, crafting articles that simplify complex financial concepts for business owners and finance professionals. Her content includes practical guides on accounting automation, compliance, and financial reporting. Through well-researched and accessible writing, she supports readers in improving their financial management strategies.","url":"https:\/\/www.hashmicro.com\/my\/blog\/author\/siti-binti-rahman\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/17120","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/users\/39"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/comments?post=17120"}],"version-history":[{"count":10,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/17120\/revisions"}],"predecessor-version":[{"id":17493,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/posts\/17120\/revisions\/17493"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/media\/17389"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/media?parent=17120"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/categories?post=17120"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/my\/blog\/wp-json\/wp\/v2\/tags?post=17120"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}