{"id":58611,"date":"2024-06-03T03:02:59","date_gmt":"2024-06-03T03:02:59","guid":{"rendered":"https:\/\/www.hashmicro.com\/blog\/?p=58611"},"modified":"2025-12-19T09:41:04","modified_gmt":"2025-12-19T09:41:04","slug":"what-is-accrual-accounting","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/","title":{"rendered":"What is Accrual Accounting? Definition, Examples, and Comparison with Another Method"},"content":{"rendered":"<p><em>Have you ever wondered if an accounting method could significantly impact your business in the global market?<\/em><\/p>\n<p>In today\u2019s global economy, inconsistencies in financial reporting across countries create challenges for global capital markets, foreign investments, and cross-border transactions. One key to addressing these issues is the <strong>&#8220;unification&#8221; of financial reports through accrual-based accounting.<\/strong><\/p>\n<p>In Singapore, we adhere to <a href=\"https:\/\/www.acra.gov.sg\/accountancy\/accounting-standards\/pronouncements\/singapore-financial-reporting-standards-(international)\/archives\/2023-volume\" rel=\"nofollow\">SFRS<\/a>, which has mandated accrual-based accounting for all companies. This standard is crucial for investors, employees, lenders, and anyone who relies on reliable financial information, both within Singapore and internationally.<\/p>\n<p>Therefore, if you want your business to thrive globally, adopting this accounting method is essential.<\/p>\n<p>In this article, we will explore what accrual basis accounting is, why you should use it, its key features, and compare it to another method. We\u2019ll also discuss how integrated accounting software can be a game-changer for your business.<\/p>\n<table style=\"border-collapse: coacllapse; 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<div class=\"flex-1 overflow-hidden\">\n<div class=\"react-scroll-to-bottom--css-espje-79elbk h-full\">\n<div class=\"react-scroll-to-bottom--css-espje-1n7m0yu\">\n<div class=\"flex flex-col text-sm\">\n<div class=\"w-full text-token-text-primary\" dir=\"auto\" data-testid=\"conversation-turn-7\" data-scroll-anchor=\"true\">\n<div class=\"py-2 juice:py-[18px] px-3 text-base md:px-4 m-auto md:px-5 lg:px-1 xl:px-5\">\n<div class=\"mx-auto flex flex-1 gap-3 text-base juice:gap-4 juice:md:gap-6 md:max-w-3xl lg:max-w-[40rem] xl:max-w-[48rem]\">\n<div class=\"group\/conversation-turn relative flex w-full min-w-0 flex-col agent-turn\">\n<div class=\"flex-col gap-1 md:gap-3\">\n<div class=\"flex flex-grow flex-col max-w-full\">\n<div class=\"min-h-[20px] text-message flex flex-col items-start whitespace-pre-wrap break-words [.text-message+&amp;]:mt-5 juice:w-full juice:items-end overflow-x-auto gap-2\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"1c36211b-17e9-42d7-88d1-30e89a24c365\">\n<div class=\"flex w-full flex-col gap-1 juice:empty:hidden juice:first:pt-[3px]\">\n<div class=\"markdown prose w-full break-words dark:prose-invert light\">\n<ol>\n<li><a href=\"#what-is-accrual-accounting\">Accrual accounting\u00a0is<\/a> a method that records revenue when earned and expenses when incurred, regardless of cash flow. It clarifies the relationship between revenue and expenses, offering better insights into profitability and a more accurate representation of a company&#8217;s assets and liabilities.<\/li>\n<li><a href=\"#accrual-importance\">Accrual Accounting Benefit<\/a>: It offers several benefits to businesses in Singapore. Such as improved financial accuracy, enhanced decision-making, better cash flow management, etc.<\/li>\n<li><a href=\"#accrual-features\">Key Features<\/a>: Records Revenue as Earned, Matches Payments to Invoices, Acknowledges Ongoing Payments, Measures Expenses Against Time Periods.<\/li>\n<li><a href=\"#accrual-cash\">Accrual vs. Cash Accounting<\/a>: Accrual method provides a comprehensive view of financial health by recognizing transactions when they occur, unlike cash accounting method which records transactions only when cash is exchanged.<\/li>\n<li><a href=\"#accrual-deferral\">Accrual vs. Deferral Accounting<\/a>: Accrual method records transactions when they are earned or incurred, while deferral accounting postpones recognition to match related expenses and revenues.<\/li>\n<li><a href=\"#accrual-hashmicro\">HashMicro\u2019s Accounting Software<\/a>: Provides an integrated, customizable, and secure solution for implementing accrual accounting, ensuring compliance with SFRS and enhancing financial management.<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"mt-1 flex gap-3 empty:hidden juice:-ml-3\">\n<div class=\"items-center justify-start rounded-xl p-1 flex\"><span style=\"font-family: inherit; font-size: inherit;\"><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\">Click Here to Get Free Demo<\/a><\/span><\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span id=\"what-is-accrual-accounting\"> <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> <!-- <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<span id=\"1\"><\/span><\/span><\/p>\n<h2><strong>What is Accrual System of Accounting?<\/strong><\/h2>\n<p><strong>Accrual accounting is<\/strong> a method that records revenue when earned and expenses when incurred, regardless of cash flow. It clarifies the relationship between revenue and expenses, offering better insights into profitability and a more accurate representation of a company&#8217;s assets and liabilities.<\/p>\n<p>Accrual accounting <strong>combines two key accounting principles<\/strong>: the matching principle and the <a href=\"https:\/\/www.hashmicro.com\/blog\/revenue-recognition-principle\/\">revenue recognition principle<\/a>. The matching principle ensures that expenses are recorded in the same period as the revenues they help generate. Meanwhile, the revenue recognition principle states that revenue should be recognized when it is earned, not necessarily when it is received.<\/p>\n<p><strong>For instance<\/strong>, if a company provides a service in December but receives payment in January, it records the revenue in December, reflecting when the service was delivered.<\/p>\n<p><span id=\"accrual-importance\">These transactions are documented in the accounting records and included in the financial statements for the relevant periods. Financial statements prepared on an <a href=\"https:\/\/www.hashmicro.com\/blog\/accrual-basis\/\">accrual basis accounting for financial reporting<\/a> provide information about past cash transactions, future cash obligations, and resources expected to generate future cash receipts.<br \/>\n<\/span><\/p>\n<h2><strong>Benefits of Accrual Accounting<\/strong><\/h2>\n<p>Accrual system accounting offers several benefits to businesses in Singapore. Here\u2019s a look at how it can be particularly advantageous in the local business market:<\/p>\n<ul>\n<li><strong>It improves financial accuracy<\/strong> in your businesses. It recognizes revenue and expenses when they occur, giving a clearer picture for better financial management and planning.<\/li>\n<li>With this method, you can <strong>gain access to up-to-date financial information<\/strong>, enabling informed decision-making.<\/li>\n<li>It is <strong>mandatory to comply with Singapore Financial Reporting Standards (SFRS)<\/strong>, especially for larger businesses. This avoids penalties and enhances credibility.<\/li>\n<li>Track receivables and payables with it to <strong>manage cash flow effectively.<\/strong> This is crucial in Singapore&#8217;s competitive business environment.<\/li>\n<li>It provides a clearer financial picture for Singaporean businesses seeking investors or loans. This is <strong>essential for demonstrating profitability and growth potential.<\/strong><\/li>\n<li>Strategic tax planning is possible with this method. Businesses in Singapore can <strong>better align tax strategies with financial performance<\/strong>, potentially optimizing tax liabilities.<\/li>\n<li>Singapore, a global business hub, has many companies engaging in international trade. Accrual accounting <strong>aligns with global accounting standards<\/strong>, simplifying international transactions and financial reporting.<\/li>\n<li><span id=\"accrual-features\">The clear and detailed financial picture provided by this accounting method <strong>facilitates smoother due diligence processes and negotiations during mergers and acquisitions<\/strong> in Singapore&#8217;s dynamic business environment.<\/span><\/li>\n<\/ul>\n<h2><strong>Key Features of Accrual-based Accounting<\/strong><br \/>\n<b><\/b><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-58616 size-full\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro-2.png\" alt=\"accrual accounting\" width=\"1000\" height=\"625\" srcset=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro-2.png 1000w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro-2-300x188.png 300w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro-2-768x480.png 768w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro-2-672x420.png 672w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro-2-150x94.png 150w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro-2-696x435.png 696w\" sizes=\"auto, (max-width: 1000px) 100vw, 1000px\" \/><\/p>\n<p>What distinguishes accrual accounting from other business accounting models is its key features and structured approach that help businesses effectively manage incoming and outgoing expenses, aligning seamlessly with other business processes. Let&#8217;s take a closer look at some of these main features.<\/p>\n<ul>\n<li><strong>Simplifies Revenue and Payment Tracking:<\/strong> Unlike cash accounting, you don&#8217;t need to match specific payments to specific services when you record revenue as earned. This eliminates the hassle of remembering which invoices correspond to which payments, giving you a clear picture of your financial health at any given time.<\/li>\n<li><strong>Matches Invoices to Payments:<\/strong> This method helps prevent issues with unpaid invoices by ensuring accurate record-keeping. It actively matches payments to corresponding invoices when they arrive. This creates a clear audit trail for your finances.<\/li>\n<li><strong>Acknowledges Ongoing Payments:<\/strong>\u00a0Large businesses often struggle with month-end account balancing due to unprocessed payments. It solves this by tracking unpaid services in the month they are invoiced, guaranteeing accurate closure of monthly accounts.<\/li>\n<li><strong>Measures Expenses Against Specific Time Periods:<\/strong> As accrual accounting shows an immediate response from customers and clients, it is useful for measuring the impact of new campaigns or service changes. This allows businesses to associate these purchases with other actions occurring within the same period, recognizing their interrelations.<\/li>\n<\/ul>\n<p>You can read other articles related to <a href=\"https:\/\/www.hashmicro.com\/blog\/deferred-tax-liabilities\/\">deferred tax liability<\/a> to gain deeper insights into its calculation, examples, and best practices for management.<\/p>\n<h2><strong>Comparison of Accrual-based Accounting with Another Method<\/strong><\/h2>\n<p><span id=\"accrual-cash\">Some people still need clarification about the difference between accrual accounting and other accounting methods. Here, we provide an explanation of this method and some commonly-confused accounting methods to brief you on why the accrual method is important for your business.<\/span><\/p>\n<h3><strong>Cash Accounting vs. Accrual Accounting<\/strong><\/h3>\n<p>Businesses have two main choices for recording financial transactions: <a href=\"https:\/\/www.hashmicro.com\/blog\/accrual-accounting-vs-cash-accounting\/\">accrual and cash accounting.<\/a><\/p>\n<p><strong>Accrual accounting recognizes revenue when it&#8217;s earned and expenses when they&#8217;re incurred, regardless of cash flow timing.<\/strong> This method provides a more comprehensive view of a company&#8217;s financial health and performance.<\/p>\n<p><strong>Cash accounting, on the other hand, only recognizes revenue when cash is received and expenses when cash is paid out.<\/strong> While simpler, it offers a less detailed snapshot of financial activity.<\/p>\n<p>Imagine a consulting firm. Under accrual accounting, they record revenue upon delivering services, not when the payment arrives. Cash accounting, however, would only record revenue when the payment comes in.<\/p>\n<p>Singaporean businesses generally favor accrual accounting. This is because it aligns with SFRS and provides a more accurate and timely financial picture. This is crucial for compliance, strategic planning, and attracting investment.<\/p>\n<p>The table below summarizes the key differences between accrual and cash accounting methods.<\/p>\n<table style=\"height: 278px;\" width=\"697\">\n<tbody>\n<tr>\n<td><b>Aspect<\/b><\/td>\n<td><b>Accrual Accounting<\/b><\/td>\n<td><b>Cash Accounting<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Revenue<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Recorded when earned, regardless of when received.<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Recorded when cash is received.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Expenses<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Recorded when incurred, regardless of when paid.<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Recorded when cash is paid.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\"><span id=\"accrual-deferral\">Accuracy<\/span><\/span><\/td>\n<td><span style=\"font-weight: 400;\">Provides a more accurate financial picture.<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Simpler but less accurate representation of financial health.<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Complexity<\/span><\/td>\n<td><span style=\"font-weight: 400;\">More complex to implement and maintain.<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Easier to implement and maintain.<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><strong>Deferral Accounting <\/strong><strong>vs. Accrual Accounting<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Accrual accounting and deferral accounting are two methods that deal with the <\/span><b>timing of revenue and expense recognition<\/b><span style=\"font-weight: 400;\">, but they serve different purposes.\u00a0<\/span><\/p>\n<p><b>Accrual accounting records revenues and expenses when they are earned or incurred<\/b><span style=\"font-weight: 400;\">, regardless of when the cash is actually received or paid, providing a complete and timely financial picture. <\/span><\/p>\n<p>On the other hand, <b>deferral accounting involves postponing the recognition of revenues and expenses until a later date<\/b><span style=\"font-weight: 400;\">, often used to match revenues with related expenses.\u00a0<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><strong>For example<\/strong>, a Singaporean software company that signs a $50,000 contract on June 1st for six months of service would, under accrual accounting, recognize $8,333.33 as <\/span>accrued revenue each month from June to November as the work is completed. Additionally, the company would also record $8,333.33 as an accrued expense<span style=\"font-weight: 400;\"> each month to reflect the cost of providing the service.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">In contrast, deferral accounting would record the $50,000 as deferred revenue initially and then recognize $8,333.33 as earned revenue each month, aligning revenue with service delivery. This approach helps businesses comply with Singapore Financial Reporting Standards (SFRS) and manage financial statements accurately.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">For Singaporean businesses, understanding both methods is crucial as accrual accounting aligns with Singapore Financial Reporting Standards (SFRS) and ensures compliance and accurate financial reporting, while deferral accounting can be a strategic tool for managing financial statements and tax planning.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">The key difference between the accrual and deferral accounting methods is summarized in the table below:<\/span><\/p>\n<table>\n<tbody>\n<tr>\n<td><b>Aspect<\/b><\/td>\n<td><b>Accrual Accounting<\/b><\/td>\n<td><b>Deferral Accounting<\/b><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Revenue Recognition<\/span><\/td>\n<td><span style=\"font-weight: 400;\">When earned, regardless of when cash is received<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Postponed until a later date to match related expenses<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Expense Recognition<\/span><\/td>\n<td><span style=\"font-weight: 400;\">When incurred, regardless of when cash is paid<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Postponed until a later date to match related revenues<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Financial Picture<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Timely and complete<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Matches revenues and expenses to the period they occur<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-weight: 400;\">Compliance<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Aligns with SFRS<\/span><\/td>\n<td><span style=\"font-weight: 400;\">Can be used strategically for financial management<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p><span style=\"font-weight: 400;\"><span id=\"accrual-hashmicro\">Now that we&#8217;ve comprehensively explored the power of this accounting method and its potential to boost your company&#8217;s financial health, let&#8217;s delve into how you can seamlessly transform your business finance management to this more accurate and insightful method.\u00a0<\/span><\/span><\/p>\n<h2><strong>Streamlining Your Transition to Accrual-Based Accounting with Hashmicro<\/strong><\/h2>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"aligncenter wp-image-58843 size-full\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/Software-Akuntansi.webp\" alt=\"software-akuntansi-hashmicro\" width=\"1470\" height=\"900\" srcset=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/Software-Akuntansi.webp 1470w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/Software-Akuntansi-300x184.webp 300w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/Software-Akuntansi-1024x627.webp 1024w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/Software-Akuntansi-768x470.webp 768w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/Software-Akuntansi-686x420.webp 686w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/Software-Akuntansi-150x92.webp 150w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/Software-Akuntansi-696x426.webp 696w, https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/Software-Akuntansi-1068x654.webp 1068w\" sizes=\"auto, (max-width: 1470px) 100vw, 1470px\" \/><\/p>\n<p>Transitioning to accrual accounting can feel overwhelming, but with careful planning and the right tools, it can be smooth. Assess your current practices and seek professional advice if needed.<\/p>\n<p>Choosing the right and <a href=\"https:\/\/www.hashmicro.com\/blog\/best-accounting-software\/\">best accounting software<\/a>? HashMicro offers a powerful, adaptable solution tailored to your needs. Our AI-powered financial management system automates accounting and streamlines the process. Integrated with international and localized standards, it&#8217;s ideal for any field.<\/p>\n<p>Imagine the peace of mind using the same trusted system as Danone, McDonald&#8217;s, and Hino. HashMicro&#8217;s suite of features empowers you to control your finances like never before, providing deep insights and maximum efficiency.<\/p>\n<p>Key features include:<\/p>\n<ul>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><strong>Multi-level Analytical Report<\/strong>: Provides deep financial reports that support data analysis and strategic decision-making.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><strong>3-way Matching<\/strong>: Automates PO, invoice, and goods receipt matching to prevent fraud, reduce errors, and ensure transaction integration.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><strong>Financial Ratio<\/strong>: Provides financial ratios for performance analysis, aiding in more accurate decision-making and opportunity identification.<\/li>\n<li style=\"font-weight: 400;\" aria-level=\"1\"><strong>Bank Integration &amp; Auto Reconciliation<\/strong>: Facilitates automation to reduce errors and save time.<\/li>\n<\/ul>\n<h3><strong>Conclusion<\/strong><\/h3>\n<p><span style=\"font-weight: 400;\">Adopting an accrual accounting system is crucial for businesses looking to succeed globally. It ensures transparency, builds investor confidence, and facilitates smoother cross-border operations. By recognizing revenues and expenses when they occur, businesses can better predict future cash flows and profitability, ultimately enhancing financial management and decision-making. Moreover, The SFRS also mandated the use of it for Singaporean businesses to ensure clarity and comparability in financial statements.<\/span><\/p>\n<p><span style=\"font-weight: 400;\"><a href=\"https:\/\/www.hashmicro.com\/accounting\" target=\"_blank\" rel=\"noopener\">HashMicro\u2019s Accounting Software<\/a> offers an ideal solution for implementing accrual accounting. As an ERP-based system, it provides integrated financial management, accurate financial reporting, and compliance with international standards. The software is highly customizable to meet specific business needs and offers real-time data access and robust security features. By using HashMicro\u2019s Accounting Software, businesses can streamline their financial processes, improve accuracy, and focus on strategic growth.<\/span><\/p>\n<p><span style=\"font-weight: 400;\">Learn more by clicking the image below or schedule a <a href=\"https:\/\/www.hashmicro.com\/free-product-tour\/\">free demo<\/a> now to experience the transformational power it brings to you!<\/span><\/p>\n<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>\n<h3><strong>FAQ About Accrual Accounting<\/strong><\/h3>\n<ul class=\"bottom_faq\">\n<li>\n<details>\n<summary><strong>Why do businesses prefer accrual accounting?<\/strong><\/summary>\n<p>Because it improves financial accuracy by recording transactions when they happen, not when cash is exchanged. This ensures you account for credit sales and upcoming invoices promptly.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>When should a company use accrual accounting?<\/strong><\/summary>\n<p>The IRS requires businesses exceeding $25 million in revenue to switch to the more complex accrual accounting system. This change can be expensive and time-consuming, especially during periods of rapid growth. Additionally, securing funding can be more challenging for businesses using cash-based accounting.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Can you use both cash and accrual accounting?<\/strong><\/summary>\n<p>The modified cash basis is an accounting method that merges aspects of both cash and accrual accounting. This approach aims to leverage the advantages of each system by recording sales and expenses related to long-term assets using the accrual basis while handling short-term assets on a cash basis.<\/p>\n<\/details>\n<\/li>\n<li>\n<details>\n<summary><strong>Should small businesses use cash or accrual accounting?<\/strong><\/summary>\n<p>This method offers a more complete understanding of your business&#8217;s financial health by considering both future income and future expenses, but it can make it more difficult to track your current cash on hand.<\/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\": \"Why do businesses prefer accrual accounting?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Accrual accounting provides a more precise and up-to-date picture of a company's financial status by records transactions when they occur, even if the actual payment is made or received later. This method ensures that credit-based transactions and future invoices are accounted for at the time the service is performed or the goods are delivered.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"When should a company use accrual accounting?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"If your business is booming and hits $25 million in revenue, the Internal Revenue Service (IRS) might make you switch to a more complex accounting system called accrual accounting. This change can be expensive and time-consuming, especially during periods of fast growth. On another note, getting funding from banks and private equity firms can be trickier for businesses that rely on cash accounting.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Can you use both cash and accrual accounting?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"The modified cash basis is an accounting method that merges aspects of both cash and accrual accounting. This approach aims to leverage the advantages of each system by recording sales and expenses related to long-term assets using the accrual basis while handling short-term assets on a cash basis.\"\n    }\n  },{\n    \"@type\": \"Question\",\n    \"name\": \"Should small businesses use cash or accrual accounting?\",\n    \"acceptedAnswer\": {\n      \"@type\": \"Answer\",\n      \"text\": \"Accrual accounting offers a more complete understanding of your business's financial health by considering both future income and future expenses, but it can make it more difficult to track your current cash on hand.\"\n    }\n  }]\n}\n<\/script><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Have you ever wondered if an accounting method could significantly impact your business in the global market? In today\u2019s global economy, inconsistencies in financial reporting across countries create challenges for global capital markets, foreign investments, and cross-border transactions. One key to addressing these issues is the &#8220;unification&#8221; of financial reports through accrual-based accounting. In Singapore, [&hellip;]<\/p>\n","protected":false},"author":16,"featured_media":58615,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[153,1],"tags":[921,12,291],"class_list":{"0":"post-58611","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-accounting","8":"category-uncategorized","9":"tag-accounting","10":"tag-accounting-software","11":"tag-accounting-system"},"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>What is Accrual Accounting and Its Benefit for Business - BusinessTech<\/title>\n<meta name=\"description\" content=\"Learn the essentials of accrual accounting and discover how modern accounting software simplify your accrual processes.\" \/>\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\/what-is-accrual-accounting\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"What is Accrual Accounting? Definition, Examples, and Comparison with Another Method\" \/>\n<meta property=\"og:description\" content=\"Learn the essentials of accrual accounting and discover how modern accounting software simplify your accrual processes.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/\" \/>\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=\"2024-06-03T03:02:59+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-19T09:41:04+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"625\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Anatha Ginting\" \/>\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=\"Anatha Ginting\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/\"},\"author\":{\"name\":\"Anatha Ginting\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/fd6a863bec7b351016c5ae3ec08948a6\"},\"headline\":\"What is Accrual Accounting? Definition, Examples, and Comparison with Another Method\",\"datePublished\":\"2024-06-03T03:02:59+00:00\",\"dateModified\":\"2025-12-19T09:41:04+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/\"},\"wordCount\":2092,\"publisher\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro.png\",\"keywords\":[\"accounting\",\"accounting software\",\"accounting system\"],\"articleSection\":[\"Accounting\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/\",\"name\":\"What is Accrual Accounting and Its Benefit for Business - BusinessTech\",\"isPartOf\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro.png\",\"datePublished\":\"2024-06-03T03:02:59+00:00\",\"dateModified\":\"2025-12-19T09:41:04+00:00\",\"description\":\"Learn the essentials of accrual accounting and discover how modern accounting software simplify your accrual processes.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/#primaryimage\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro.png\",\"contentUrl\":\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro.png\",\"width\":1000,\"height\":625,\"caption\":\"accrual accounting\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.hashmicro.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"What is Accrual Accounting? Definition, Examples, and Comparison with Another Method\"}]},{\"@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\/fd6a863bec7b351016c5ae3ec08948a6\",\"name\":\"Anatha Ginting\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/01a5baa16cb50808f3b9f5bf1e75940409ab0912a720fcd78e68157b9e1d31e3?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/01a5baa16cb50808f3b9f5bf1e75940409ab0912a720fcd78e68157b9e1d31e3?s=96&d=mm&r=g\",\"caption\":\"Anatha Ginting\"},\"description\":\"A full-time Content Writer at HashMicro. Strive to develop my writing skill and knowledge in terms of business, technology, and other relevant issues.\",\"url\":\"https:\/\/www.hashmicro.com\/blog\/author\/anatha\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"What is Accrual Accounting and Its Benefit for Business - BusinessTech","description":"Learn the essentials of accrual accounting and discover how modern accounting software simplify your accrual processes.","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\/what-is-accrual-accounting\/","og_locale":"en_US","og_type":"article","og_title":"What is Accrual Accounting? Definition, Examples, and Comparison with Another Method","og_description":"Learn the essentials of accrual accounting and discover how modern accounting software simplify your accrual processes.","og_url":"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/","og_site_name":"BusinessTech","article_publisher":"https:\/\/web.facebook.com\/hashmicro\/","article_published_time":"2024-06-03T03:02:59+00:00","article_modified_time":"2025-12-19T09:41:04+00:00","og_image":[{"width":1000,"height":625,"url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro.png","type":"image\/png"}],"author":"Anatha Ginting","twitter_card":"summary_large_image","twitter_creator":"@hashmicro","twitter_site":"@hashmicro","twitter_misc":{"Written by":"Anatha Ginting","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/"},"author":{"name":"Anatha Ginting","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/fd6a863bec7b351016c5ae3ec08948a6"},"headline":"What is Accrual Accounting? Definition, Examples, and Comparison with Another Method","datePublished":"2024-06-03T03:02:59+00:00","dateModified":"2025-12-19T09:41:04+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/"},"wordCount":2092,"publisher":{"@id":"https:\/\/www.hashmicro.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro.png","keywords":["accounting","accounting software","accounting system"],"articleSection":["Accounting"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/","url":"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/","name":"What is Accrual Accounting and Its Benefit for Business - BusinessTech","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro.png","datePublished":"2024-06-03T03:02:59+00:00","dateModified":"2025-12-19T09:41:04+00:00","description":"Learn the essentials of accrual accounting and discover how modern accounting software simplify your accrual processes.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/#primaryimage","url":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro.png","contentUrl":"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2024\/05\/accrual-accounting-hashmicro.png","width":1000,"height":625,"caption":"accrual accounting"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/blog\/what-is-accrual-accounting\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/blog\/"},{"@type":"ListItem","position":2,"name":"What is Accrual Accounting? Definition, Examples, and Comparison with Another Method"}]},{"@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\/fd6a863bec7b351016c5ae3ec08948a6","name":"Anatha Ginting","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/01a5baa16cb50808f3b9f5bf1e75940409ab0912a720fcd78e68157b9e1d31e3?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/01a5baa16cb50808f3b9f5bf1e75940409ab0912a720fcd78e68157b9e1d31e3?s=96&d=mm&r=g","caption":"Anatha Ginting"},"description":"A full-time Content Writer at HashMicro. Strive to develop my writing skill and knowledge in terms of business, technology, and other relevant issues.","url":"https:\/\/www.hashmicro.com\/blog\/author\/anatha\/"}]}},"order_j":"","_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts\/58611","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\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/comments?post=58611"}],"version-history":[{"count":23,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts\/58611\/revisions"}],"predecessor-version":[{"id":77273,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/posts\/58611\/revisions\/77273"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/media\/58615"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/media?parent=58611"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/categories?post=58611"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/blog\/wp-json\/wp\/v2\/tags?post=58611"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}