{"id":2595,"date":"2026-04-21T17:22:39","date_gmt":"2026-04-21T07:22:39","guid":{"rendered":"https:\/\/www.hashmicro.com\/au\/blog\/?p=2595"},"modified":"2026-06-02T16:48:14","modified_gmt":"2026-06-02T06:48:14","slug":"variance-report","status":"publish","type":"post","link":"https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/","title":{"rendered":"Variance Report: Definition, Types, Implementation, and Best Practices"},"content":{"rendered":"<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">A variance report is a financial document that compares budgeted or forecasted figures against actual results for a given period. It identifies discrepancies so management can respond quickly and accurately.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Businesses use variance reports to monitor performance, manage cash flow, and improve forecasting accuracy. The report translates raw financial data into clear, actionable intelligence.<\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">This guide covers the main types of variance reports, the formulas behind the calculations, what each report should include, and how to build a process that supports smarter financial decisions.<\/p>\n<style>\r\n\t.takeaways-container {\r\n\t\tmargin: 20px 0;\r\n\t\tfont-family: sans-serif;\r\n\t}\r\n\t.box-content {\r\n\t\tbackground-color: #fffacd;\r\n\t\tbox-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);\r\n\t\tborder-radius: 25px;\r\n\t\tpadding: 25px;\r\n\t}\r\n\t.title {\r\n\t\tmargin-bottom: 20px;\r\n\t}\r\n\t.title p {\r\n\t\tdisplay: inline-block;\r\n\t\tbackground-color: #8A0E19;\r\n\t\tcolor: #ffffff;\r\n\t\tpadding: 8px 15px;\r\n\t\tborder-radius: 8px;\r\n\t\tfont-size: 22px;\r\n\t\tfont-weight: bold;\r\n\t\tmargin: 0;\r\n\t}\r\n\t.item {\r\n\t\tdisplay: flex;\r\n\t\talign-items: flex-start;\r\n\t\tmargin-bottom: 12px;\r\n\t}\r\n\t.item .circle {\r\n\t\twidth: 8px;\r\n\t\theight: 8px;\r\n\t\tbackground-color: #000000;\r\n\t\tborder-radius: 50%;\r\n\t\tmargin-right: 12px;\r\n\t\tflex-shrink: 0;\r\n\t\tmargin-top: 8px;\r\n\t}\r\n\t.item p {\r\n\t\tmargin: 0;\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 1.6;\r\n\t}\r\n\t.item p a {\r\n\t\tcolor: #8A0E19;\r\n\t\tfont-weight: normal;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.item p a:hover {\r\n\t\ttext-decoration: underline;\r\n\t}\r\n\t.button-wrapper {\r\n\t\tmargin-top: 25px;\r\n\t}\r\n\t.submit-button {\r\n\t\tbackground-color: #8a0e19;\r\n\t\tcolor: #fff !important;\r\n\t\ttransition: all .3s ease;\r\n\t\tpadding: 12px 28px;\r\n\t\tdisplay: inline-block;\r\n\t\tborder-radius: 12px;\r\n\t\tfont-size: 16px;\r\n\t\tfont-weight: bold;\r\n\t\ttext-decoration: none;\r\n\t}\r\n\t.submit-button:hover {\r\n\t\tbackground-color: #991b26;\r\n\t}\r\n\t@media (max-width: 767px) {\r\n\t\t.takeaways-container {\r\n\t\t\theight: auto;\r\n\t\t\tpadding: 0;\r\n\t\t}\r\n\t\t.box-content {\r\n\t\t\tpadding: 24px;\r\n\t\t}\r\n\t\t.content,\r\n\t\t.main-content,\r\n\t\t.list-item {\r\n\t\t\twidth: 100%;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<div class=\"takeaways-container\">\r\n\t<div class=\"box-content\">\r\n\t\t<div class=\"content\">\r\n\t\t\t<div class=\"title\">\r\n\t\t\t\t<p>Key Takeaways<\/p>\r\n\t\t\t<\/div>\r\n\t\t\t<div class=\"main-content\">\r\n\t\t\t\t<div class=\"list-item\">\r\n\t\t\t\t\t<div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#what-is-a-variance-report\">A variance report is<\/a> a document that compares a company's projected baselines, such as budgets against actual performance for a defined period.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#types-of-variance-reports\">Variance report types<\/a> include budget, revenue, cost and expense, labour, cash flow, profit, operational, and EOFY \u2014 each tracking a specific area of financial performance.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#implementation-guide-for-variance-reporting\">Variance report implementation activities<\/a> range from establishing clear and realistic baselines, to mandating qualitative commentary.<\/p><\/div><div class=\"item\">    <div class=\"circle\"><\/div>    <p><a href=\"#advanced-practices-in-modern-variance-reporting\">Best practices for variance report<\/a> include rolling forecasts, driver-based analysis, integrated non-financial KPIs, and choosing the right software.<\/p><\/div>\t\t\t\t<\/div>\r\n\t\t\t<\/div>\r\n\t\t<\/div>\r\n\t<\/div>\r\n<\/div>\n<!-- <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\n\r\n    <div class=\"adjustable-banner-wrap\">\r\n        <a href=\"https:\/\/www.hashmicro.com\/au\/accounting?medium=moneysite-banner\" target=\"_blank\">\r\n            <img decoding=\"async\" loading=\"lazy\"\r\n                 src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/03\/accounting_desktop_4.webp\"\r\n                 data-desktop-src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/03\/accounting_desktop_4.webp\"\r\n                 data-mobile-src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/03\/accounting_mobile_4.webp\"\r\n                 alt=\"Accounting4\"\r\n                 class=\"responsive-image-banner\">\r\n\r\n            \r\n            <div class=\"adjustable-banner-overlay\" style=\"width: 50%\">\r\n                <p class=\"adjustable-banner-text\"><span class=\"adjustable-highlight\">Need an<\/span> expert to make <span class=\"adjustable-highlight\">faster financial decisions?<\/span><\/p>\r\n                <div class=\"adjustable-banner-btn\">Schedule a Consultation<\/div>\r\n            <\/div>\r\n\r\n        <\/a>\r\n    <\/div>\r\n<script>\r\n    \/\/ check which image to use based on screensize\r\n    document.addEventListener(\"DOMContentLoaded\", function() {\r\n        function updateImageSource() {\r\n            var images = document.querySelectorAll('.responsive-image-banner');\r\n            var screenWidth = window.innerWidth;\r\n\r\n            images.forEach(function(img) {\r\n                var mobileSrc = img.getAttribute('data-mobile-src');\r\n                var desktopSrc = img.getAttribute('data-desktop-src');\r\n\r\n                if (screenWidth < 576 && mobileSrc) {\r\n                    img.setAttribute('src', mobileSrc);\r\n                } else {\r\n                    img.setAttribute('src', desktopSrc);\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Initial check\r\n        updateImageSource();\r\n\r\n        \/\/ Update on resize\r\n        window.addEventListener('resize', updateImageSource);\r\n    });\r\n<\/script>\n<h2 id=\"what-is-a-variance-report\"><strong>What Is a Variance Report?<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-2604\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Untitled-design-64.webp\" alt=\"what-is-a-variance-report?\" width=\"800\" height=\"400\" srcset=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Untitled-design-64.webp 800w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Untitled-design-64-300x150.webp 300w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Untitled-design-64-768x384.webp 768w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Untitled-design-64-150x75.webp 150w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Untitled-design-64-696x348.webp 696w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/p>\n<style>\r\n.qa-box {\r\n    background-color: #f7eaea;\r\n    border-left: 5px solid #af2828;\r\n    border-radius: 8px;\r\n    padding: 24px;\r\n    margin-bottom: 30px;\r\n    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);\r\n}\r\n.qa-badge {\r\n    display: inline-block;\r\n    background-color: #af2828;\r\n    color: #ffffff;\r\n    padding: 6px 16px;\r\n    border-radius: 50px;\r\n    font-weight: 600;\r\n    font-size: 0.85rem;\r\n    margin-bottom: 16px;\r\n}\r\n.qa-title {\r\n    color: #1f2937;\r\n    font-size: 1.25rem;\r\n    font-weight: 700;\r\n    margin: 0 0 12px 0;\r\n    line-height: 1.4;\r\n}\r\n.qa-box p {\r\n    color: #4b5563;\r\n    font-size: 1rem;\r\n    line-height: 1.6;\r\n    margin-bottom: 24px;\r\n}\r\n.qa-box p:last-child {\r\n    margin-bottom: 0;\r\n}\r\n.qa-table-card {\r\n    background-color: #ffffff;\r\n    border-radius: 8px;\r\n    padding: 20px;\r\n    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1);\r\n    overflow-x: auto;\r\n    border: 1px solid #e5e7eb;\r\n}\r\n.qa-table {\r\n    width: 100%;\r\n    border-collapse: collapse;\r\n    min-width: 500px;\r\n    border: none;\r\n}\r\n.qa-table th {\r\n    text-align: left;\r\n    color: #4b5563;\r\n    font-weight: 700;\r\n    padding: 12px;\r\n    border: none;\r\n    border-bottom: 1px solid #e5e7eb;\r\n}\r\n.qa-table td {\r\n    padding: 16px 12px;\r\n    border: none;\r\n    border-bottom: 1px solid #f3f4f6;\r\n    color: #1f2937;\r\n    font-size: 0.95rem;\r\n    vertical-align: middle;\r\n}\r\n.qa-table tr:last-child td {\r\n    border-bottom: none;\r\n}\r\n.col-software { font-weight: 700; color: #111; }\r\n.text-green { color: #16a34a; font-weight: 600; }\r\n.check-icon {\r\n    display: inline-flex;\r\n    align-items: center;\r\n    justify-content: center;\r\n    width: 22px;\r\n    height: 22px;\r\n    background-color: #22c55e;\r\n    color: white;\r\n    border-radius: 4px;\r\n    font-size: 14px;\r\n    font-weight: bold;\r\n}\r\n<\/style>\r\n<div class=\"qa-box\">\r\n    <div class=\"qa-badge\">Quick Answer<\/div>\r\n        <div class=\"qa-title\">What is a Variance Report?<\/div>\r\n            <p>A variance report is a financial document that compares actual business performance against a budgeted or forecasted baseline. It calculates the differences, known as variances, between the two sets of figures, enabling business leaders to identify what is working, address inefficiencies, and manage costs effectively.<\/p>\r\n        <\/div>\n<p>A variance report compares budgeted or forecasted figures against actual financial results for a specific period. It helps businesses identify gaps between expected performance and real-world outcomes.<\/p>\n<p>Businesses use variance reports to monitor financial performance, manage cash flow, and improve forecasting accuracy. The report turns raw accounting data into actionable financial insights.<\/p>\n<p>In management accounting, variance analysis is a core part of Financial Planning and Analysis (FP&amp;A) within a <a href=\"#\">platform for accountants<\/a>. Rather than reviewing every transaction, finance teams focus only on material deviations that require attention.<\/p>\n<p>Variance reports also support future planning by helping businesses refine budgets and forecasting assumptions over time. Consistent reporting improves financial visibility and decision-making across departments.<\/p>\n<h2 data-section-id=\"rfjwx1\" data-start=\"2609\" data-end=\"2650\"><strong>4 Main Components of a Variance Report<\/strong><\/h2>\n<p data-start=\"2652\" data-end=\"2779\">A variance report typically contains four core components that help businesses evaluate financial performance more effectively:<\/p>\n<ul>\n<li data-start=\"2781\" data-end=\"2894\"><strong data-start=\"2781\" data-end=\"2804\">Budgeted Amount:<\/strong> The financial target or baseline established during budgeting and forecasting activities.<\/li>\n<li data-start=\"2781\" data-end=\"2894\"><strong data-start=\"2896\" data-end=\"2917\">Actual Amount:<\/strong> The actual revenue earned or expenses incurred during the reporting period.<\/li>\n<li data-start=\"2781\" data-end=\"2894\"><strong data-start=\"2995\" data-end=\"3018\">Variance Amount:<\/strong> The numerical difference between budgeted and actual figures.<\/li>\n<li data-start=\"2781\" data-end=\"2894\"><strong data-start=\"3082\" data-end=\"3109\">Variance Percentage:<\/strong> The percentage difference between planned and actual results, helping businesses assess the significance of the variance.<\/li>\n<\/ul>\n<h2 id=\"why-variance-reporting-matters-for-australian-businesses\"><strong>Why Variance Reporting Matters for Australian Businesses<\/strong><\/h2>\n<p><span data-sheets-root=\"1\">\r\n    <div class=\"hashy-banner-wrap\" data-catimg=\"Accounting\">\r\n        <a class=\"hashy-banner-link\" href=\"https:\/\/www.hashmicro.com\/au\/ai-agent-for-finance\/?medium=moneysite-banner&promocampaign=hashy-ai\" target=\"_blank\" rel=\"noopener\" aria-label=\"See It Live\">\r\n        <div class=\"hashy-banner-frame\">\r\n            <div class=\"hashy-banner-stage\">\r\n                <!-- Background stack -->\r\n                <div class=\"hashy-card-bg\" aria-hidden=\"true\">\r\n                    <span class=\"hashy-card-bg-fill\"><\/span>\r\n                    <img decoding=\"async\" class=\"hashy-card-bg-stars\" src=\"https:\/\/www.hashmicro.com\/assets\/images\/hashy-ai-banner\/figma\/banner-bg-texture.webp\" alt=\"\" loading=\"lazy\" aria-hidden=\"true\">\r\n                    <img decoding=\"async\" class=\"hashy-card-bg-light\" src=\"https:\/\/www.hashmicro.com\/assets\/images\/hashy-ai-banner\/figma\/banner-light-beam-787912.webp\" alt=\"\" loading=\"lazy\" aria-hidden=\"true\">\r\n                    <span class=\"hashy-card-bg-glow\"><\/span>\r\n                <\/div>\r\n\r\n                <!-- Sparkle decorations -->\r\n                <span class=\"hashy-card-deco hashy-card-deco-1\" aria-hidden=\"true\">\r\n                    <svg viewBox=\"0 0 121 35\" preserveAspectRatio=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                        <g opacity=\".48\" filter=\"url(#hcd1)\"><rect width=\"102\" height=\"24\" transform=\"matrix(-1.006 0 0 1.006 115.66 5.34)\" fill=\"url(#hcd1g)\"\/><\/g>\r\n                        <path d=\"M15.27 9.03 13.35 4.34l-1.92 4.69a13.2 13.2 0 0 1-6.77 6.61L0 17.56l4.66 1.88a13.2 13.2 0 0 1 6.77 6.81l1.92 4.66 1.92-4.66a13.2 13.2 0 0 1 6.77-6.81l4.66-1.88-4.66-1.92a13.2 13.2 0 0 1-6.77-6.61z\" fill=\"#fff\"\/>\r\n                        <defs>\r\n                            <filter id=\"hcd1\" x=\"7.7\" y=\"0\" width=\"113.27\" height=\"34.82\" filterUnits=\"userSpaceOnUse\"><feGaussianBlur stdDeviation=\"2.66\"\/><\/filter>\r\n                            <linearGradient id=\"hcd1g\" x1=\"175.31\" y1=\"12\" x2=\"0\" y2=\"12\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#fff\"\/><stop offset=\"1\" stop-color=\"#0B0B0F\"\/><\/linearGradient>\r\n                        <\/defs>\r\n                    <\/svg>\r\n                <\/span>\r\n                <span class=\"hashy-card-deco hashy-card-deco-2\" aria-hidden=\"true\">\r\n                    <svg viewBox=\"0 0 121 35\" preserveAspectRatio=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                        <g opacity=\".48\" filter=\"url(#hcd2)\"><rect x=\"5.34\" y=\"5.34\" width=\"102.59\" height=\"24.14\" fill=\"url(#hcd2g)\"\/><\/g>\r\n                        <path d=\"M105.73 9.03 107.65 4.34l1.92 4.69a13.2 13.2 0 0 0 6.77 6.61L121 17.56l-4.66 1.88a13.2 13.2 0 0 0-6.77 6.81l-1.92 4.66-1.92-4.66a13.2 13.2 0 0 0-6.77-6.81l-4.66-1.88 4.66-1.92a13.2 13.2 0 0 0 6.77-6.61z\" fill=\"#fff\"\/>\r\n                        <defs>\r\n                            <filter id=\"hcd2\" x=\"0\" y=\"0\" width=\"113.27\" height=\"34.82\" filterUnits=\"userSpaceOnUse\"><feGaussianBlur stdDeviation=\"2.66\"\/><\/filter>\r\n                            <linearGradient id=\"hcd2g\" x1=\"181.66\" y1=\"17.47\" x2=\"5.34\" y2=\"17.47\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#fff\"\/><stop offset=\"1\" stop-color=\"#232126\"\/><\/linearGradient>\r\n                        <\/defs>\r\n                    <\/svg>\r\n                <\/span>\r\n                <span class=\"hashy-card-deco hashy-card-deco-3\" aria-hidden=\"true\">\r\n                    <svg viewBox=\"0 0 35 95\" preserveAspectRatio=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\">\r\n                        <g opacity=\".48\" filter=\"url(#hcd3)\"><rect x=\"29.52\" y=\"5.35\" width=\"76.56\" height=\"24.18\" transform=\"rotate(90 29.52 5.35)\" fill=\"url(#hcd3g)\"\/><\/g>\r\n                        <path d=\"M26.26 79.7 30.96 81.63 26.26 83.55a8.7 8.7 0 0 0-6.62 6.78L17.72 95l-1.89-4.67a8.7 8.7 0 0 0-4.72-4.62L4.34 81.63 9.01 79.7a8.7 8.7 0 0 0 4.72-4.62l1.89-4.67 1.92 4.67a8.7 8.7 0 0 0 6.62 6.78z\" fill=\"#fff\"\/>\r\n                        <defs>\r\n                            <filter id=\"hcd3\" x=\"0\" y=\"0\" width=\"34.88\" height=\"87.26\" filterUnits=\"userSpaceOnUse\"><feGaussianBlur stdDeviation=\"2.66\"\/><\/filter>\r\n                            <linearGradient id=\"hcd3g\" x1=\"161.1\" y1=\"17.5\" x2=\"29.52\" y2=\"17.5\" gradientUnits=\"userSpaceOnUse\"><stop stop-color=\"#fff\"\/><stop offset=\"1\" stop-color=\"#232126\"\/><\/linearGradient>\r\n                        <\/defs>\r\n                    <\/svg>\r\n                <\/span>\r\n\r\n                <div class=\"hashy-card-inner\">\r\n                    <!-- Left column: logo + headline + CTA -->\r\n                    <div class=\"hashy-card-left\">\r\n                        <img decoding=\"async\" class=\"hashy-card-logo\" src=\"https:\/\/www.hashmicro.com\/assets\/images\/hashy-ai-banner\/figma\/hashmicro-logo-f0090c.webp\" alt=\"HashMicro\" width=\"240\" height=\"32\" loading=\"lazy\">\r\n                        <div class=\"hashy-card-text-block\">\r\n                            <p class=\"hashy-card-title\"><span class=\"hashy-fg-grad\">Hashy AI<\/span> closes your monthly books before your morning coffee cools<\/p>\r\n                            <span class=\"hashy-card-cta\">\r\n                                <span class=\"hashy-card-cta-label\">See It Live<\/span>\r\n                                <span class=\"hashy-card-cta-spark\" aria-hidden=\"true\">\r\n                                    <svg viewBox=\"0 0 20 21\" fill=\"none\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"20\" height=\"21\">\r\n                                        <path d=\"M6.87 6.43 8.02 3.62l1.14 2.81a7 7 0 0 0 4.07 4.07l2.8 1.14-2.8 1.14a7 7 0 0 0-4.07 4.07l-1.14 2.81-1.14-2.81A7 7 0 0 0 2.8 12.78L0 11.64l2.8-1.14a7 7 0 0 0 4.07-4.07z\" fill=\"#fff\"\/>\r\n                                        <path d=\"m15.1 1.5.61-1.5.61 1.5a3.7 3.7 0 0 0 2.07 2.18l1.5.61-1.5.61a3.7 3.7 0 0 0-2.07 2.18l-.61 1.5-.61-1.5a3.7 3.7 0 0 0-2.07-2.18l-1.5-.61 1.5-.61A3.7 3.7 0 0 0 15.1 1.5z\" fill=\"#fff\"\/>\r\n                                        <path d=\"m14.66 15.76.4-.98.4.98a2.4 2.4 0 0 0 1.42 1.42l.98.4-.98.4a2.4 2.4 0 0 0-1.42 1.42l-.4.98-.4-.98a2.4 2.4 0 0 0-1.42-1.42l-.98-.4.98-.4a2.4 2.4 0 0 0 1.42-1.42z\" fill=\"#fff\"\/>\r\n                                    <\/svg>\r\n                                <\/span>\r\n                            <\/span>\r\n                        <\/div>\r\n                    <\/div>\r\n\r\n                    <!-- Right column: mascot + chat window -->\r\n                    <div class=\"hashy-card-right\" aria-hidden=\"true\">\r\n                        <img decoding=\"async\" class=\"hashy-card-mascot\" src=\"https:\/\/www.hashmicro.com\/assets\/images\/hashy-ai-banner\/figma\/hashy-mascot-af02ad.webp\" alt=\"\" width=\"128\" height=\"194\" loading=\"lazy\">\r\n                        <div class=\"hashy-card-chat-window\">\r\n                            <div class=\"hashy-card-chat-header\">\r\n                                <div class=\"hashy-card-chat-id\">\r\n                                    <div class=\"hashy-card-chat-avatar\">\r\n                                        <img decoding=\"async\" src=\"https:\/\/www.hashmicro.com\/assets\/images\/hashy-ai-banner\/figma\/avatar-hashy.webp\" alt=\"\" width=\"36\" height=\"36\" loading=\"lazy\">\r\n                                    <\/div>\r\n                                    <div class=\"hashy-card-chat-meta\">\r\n                                        <p class=\"hashy-card-chat-name\">Hashy AI<\/p>\r\n                                        <p class=\"hashy-card-chat-role\">Your AI Assistant<\/p>\r\n                                    <\/div>\r\n                                <\/div>\r\n                                <div class=\"hashy-card-chat-dots\" aria-hidden=\"true\">\r\n                                    <span><\/span><span><\/span><span><\/span>\r\n                                <\/div>\r\n                            <\/div>\r\n                            <div class=\"hashy-card-chat-body\">\r\n                                <div class=\"hashy-card-chat-stream\"\r\n                                     data-avatar-hashy=\"https:\/\/www.hashmicro.com\/assets\/images\/hashy-ai-banner\/figma\/avatar-hashy.webp\"\r\n                                     data-avatar-user=\"https:\/\/www.hashmicro.com\/assets\/images\/hashy-ai-banner\/figma\/avatar-hannah.webp\">\r\n                                <!-- 1. User: close last month books -->\r\n                                <div class=\"hashy-msg is-outgoing\" data-step=\"1\">\r\n                                    <div class=\"hashy-bubble hashy-bubble-purple\">Hashy, close <strong>last month&rsquo;s books.<\/strong><\/div>\r\n                                    <img decoding=\"async\" class=\"hashy-msg-avatar hashy-msg-avatar-bordered\" src=\"https:\/\/www.hashmicro.com\/assets\/images\/hashy-ai-banner\/figma\/avatar-hannah.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\">\r\n                                <\/div>\r\n                                <!-- 2. Hashy: financial reports ready -->\r\n                                <div class=\"hashy-msg is-incoming hashy-msg-narrow\" data-step=\"2\">\r\n                                    <img decoding=\"async\" class=\"hashy-msg-avatar\" src=\"https:\/\/www.hashmicro.com\/assets\/images\/hashy-ai-banner\/figma\/avatar-hashy.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\">\r\n                                    <div class=\"hashy-bubble hashy-bubble-white\">\r\n                                        <span class=\"hashy-inline-icon\">\r\n                                            <svg viewBox=\"0 0 18 18\" width=\"16\" height=\"16\" aria-hidden=\"true\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M16.5 9A7.5 7.5 0 1 1 1.5 9a7.5 7.5 0 0 1 15 0zm-4.48-2.27a.55.55 0 0 1 0 .8L8.27 11.27a.55.55 0 0 1-.8 0l-1.5-1.5a.55.55 0 0 1 .8-.8l1.1 1.1 3.4-3.34a.55.55 0 0 1 .76 0z\" fill=\"#2FB71C\"\/><\/svg>\r\n                                        <\/span>\r\n                                        Done. Your <span class=\"hashy-text-purple\"><strong>financial reports<\/strong><\/span> are ready for review.\r\n                                    <\/div>\r\n                                <\/div>\r\n                                <!-- 3. Hashy: XLSX card -->\r\n                                <div class=\"hashy-msg is-incoming hashy-msg-narrow\" data-step=\"3\">\r\n                                    <img decoding=\"async\" class=\"hashy-msg-avatar\" src=\"https:\/\/www.hashmicro.com\/assets\/images\/hashy-ai-banner\/figma\/avatar-hashy.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\">\r\n                                    <div class=\"hashy-bubble hashy-bubble-white hashy-bubble-card hashy-bubble-xlsx\">\r\n                                        <div class=\"hashy-xlsx-row\">\r\n                                            <span class=\"hashy-xlsx-icon\" aria-hidden=\"true\">\r\n                                                <svg viewBox=\"0 0 24 28\" width=\"24\" height=\"28\"><rect x=\"0\" y=\"0\" width=\"20\" height=\"28\" rx=\"2\" fill=\"#1F7244\"\/><path d=\"M20 0v6h4z\" fill=\"#34A853\" opacity=\".9\"\/><text x=\"2.5\" y=\"22\" font-family=\"Arial,sans-serif\" font-weight=\"700\" font-size=\"6.5\" fill=\"#fff\">XLSX<\/text><\/svg>\r\n                                            <\/span>\r\n                                            <div class=\"hashy-xlsx-meta\">\r\n                                                <p class=\"hashy-xlsx-name\">Financial Report March 2026<\/p>\r\n                                                <p class=\"hashy-xlsx-size\">2MB, XLSX File<\/p>\r\n                                            <\/div>\r\n                                        <\/div>\r\n                                        <div class=\"hashy-xlsx-actions\">\r\n                                            <span>Open<\/span>\r\n                                            <span>Save As<\/span>\r\n                                        <\/div>\r\n                                    <\/div>\r\n                                <\/div>\r\n                                <!-- 4. User: Already? -->\r\n                                <div class=\"hashy-msg is-outgoing\" data-step=\"4\">\r\n                                    <div class=\"hashy-bubble hashy-bubble-purple\"><strong>Already?<\/strong> That was quick.<\/div>\r\n                                    <img decoding=\"async\" class=\"hashy-msg-avatar hashy-msg-avatar-bordered\" src=\"https:\/\/www.hashmicro.com\/assets\/images\/hashy-ai-banner\/figma\/avatar-hannah.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\">\r\n                                <\/div>\r\n                                <!-- 5. Hashy: complete -->\r\n                                <div class=\"hashy-msg is-incoming hashy-msg-narrow\" data-step=\"5\">\r\n                                    <img decoding=\"async\" class=\"hashy-msg-avatar\" src=\"https:\/\/www.hashmicro.com\/assets\/images\/hashy-ai-banner\/figma\/avatar-hashy.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\">\r\n                                    <div class=\"hashy-bubble hashy-bubble-white hashy-bubble-wide\">Yes, <span class=\"hashy-text-purple\"><strong>Everything&rsquo;s complete.<\/strong><\/span> Including Profit &amp; Loss, Balance Sheet, and Cash Flow.<\/div>\r\n                                <\/div>\r\n                                <!-- 6. User: should check? -->\r\n                                <div class=\"hashy-msg is-outgoing\" data-step=\"6\">\r\n                                    <div class=\"hashy-bubble hashy-bubble-purple\">Anything I <strong>should check?<\/strong><\/div>\r\n                                    <img decoding=\"async\" class=\"hashy-msg-avatar hashy-msg-avatar-bordered\" src=\"https:\/\/www.hashmicro.com\/assets\/images\/hashy-ai-banner\/figma\/avatar-hannah.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\">\r\n                                <\/div>\r\n                                <!-- 7. Hashy: anomalies -->\r\n                                <div class=\"hashy-msg is-incoming hashy-msg-narrow\" data-step=\"7\">\r\n                                    <img decoding=\"async\" class=\"hashy-msg-avatar\" src=\"https:\/\/www.hashmicro.com\/assets\/images\/hashy-ai-banner\/figma\/avatar-hashy.webp\" alt=\"\" width=\"40\" height=\"40\" loading=\"lazy\">\r\n                                    <div class=\"hashy-bubble hashy-bubble-white hashy-bubble-wide\">I&rsquo;ve <span class=\"hashy-text-purple\"><strong>flagged 3 anomalies.<\/strong><\/span> Would you like to review them now?<\/div>\r\n                                <\/div><\/div>\r\n                            <\/div>\r\n                        <\/div>\r\n                    <\/div>\r\n                <\/div>\r\n            <\/div>\r\n        <\/div>\r\n        <\/a>\r\n    <\/div>\r\n\r\n    <style>\r\n        \/* ============================================================\r\n         * Hashy banner \u2014 Figma 5181:2678 (1440 \u00d7 508). Stage rendered\r\n         * at exact Figma px values; outer wrapper scales it to fit any\r\n         * body-post container width via container queries.\r\n         * ============================================================ *\/\r\n        .hashy-banner-wrap {\r\n            container-type: inline-size !important;\r\n            container-name: hashybnr !important;\r\n            position: relative !important;\r\n            display: block !important;\r\n            width: 100% !important;\r\n            max-width: 860px !important;        \/* locks the banner at the \"wider\r\n                                        blog 860px\" preview proportions\r\n                                        regardless of body-post width *\/\r\n            margin: 16px auto !important;\r\n            font-family: Poppins, \"Helvetica Neue\", Arial, sans-serif !important;\r\n        }\r\n\r\n        \/* Whole-banner link \u2014 wraps the entire frame so any click on the\r\n           card (background, mascot, chat preview) routes to the CTA URL.\r\n           The inner CTA is now a non-anchor span styled as a button. *\/\r\n        .hashy-banner-link {\r\n            display: block !important;\r\n            color: inherit !important;\r\n            text-decoration: none !important;\r\n            cursor: pointer !important;\r\n        }\r\n\r\n        .hashy-banner-frame {\r\n            position: relative !important;\r\n            width: 100% !important;\r\n            aspect-ratio: 1440 \/ 508 !important;\r\n            border-radius: 16px !important;\r\n            overflow: hidden !important;\r\n            background: #111 !important;\r\n            box-shadow: 0 12px 40px rgba(0, 0, 0, .35) !important;\r\n        }\r\n\r\n        \/* The stage is rendered at the exact Figma frame size. The\r\n           transform: scale() shrinks it proportionally to fit the\r\n           container while preserving every pixel-level token.\r\n           tan(atan2(y, x)) is the standard CSS trig trick to turn the\r\n           length ratio (100cqw \/ 1440px) into a unitless number that\r\n           scale() will accept. *\/\r\n        .hashy-banner-stage {\r\n            position: absolute !important;\r\n            top: 0 !important; left: 0 !important;\r\n            width: 1440px !important;\r\n            height: 508px !important;\r\n            transform-origin: top left !important;\r\n            transform: scale(tan(atan2(100cqw, 1440px))) !important;\r\n        }\r\n        \/* Fallback for browsers without CSS Trig support (pre-2023): the\r\n           stage simply renders left-aligned at design size with overflow\r\n           clipped, which is still readable. *\/\r\n        @supports not (transform: scale(tan(atan2(1px, 1px)))) {\r\n            .hashy-banner-stage { transform: none !important; }\r\n        }\r\n        .hashy-banner-stage * { box-sizing: border-box !important; }\r\n        \/* Defensive overrides \u2014 Hashmicro WP theme rules like\r\n           `.tagdiv-type img { margin-bottom: 21px }` (specificity 0,1,1)\r\n           push our avatars \/ mascot \/ logo out of alignment. Selectors\r\n           below repeat the wrapper class so specificity is (0,2,1) and\r\n           wins regardless of theme load order. *\/\r\n        .hashy-banner-wrap.hashy-banner-wrap img,\r\n        .hashy-banner-stage.hashy-banner-stage img {\r\n            margin: 0 !important;\r\n            padding: 0 !important;\r\n            border: 0 !important;\r\n            max-width: none !important;\r\n            background: transparent !important;\r\n            vertical-align: middle !important;\r\n            box-shadow: none !important;\r\n        }\r\n        .hashy-banner-wrap.hashy-banner-wrap p,\r\n        .hashy-banner-wrap.hashy-banner-wrap h1, .hashy-banner-wrap.hashy-banner-wrap h2,\r\n        .hashy-banner-wrap.hashy-banner-wrap h3, .hashy-banner-wrap.hashy-banner-wrap h4,\r\n        .hashy-banner-wrap.hashy-banner-wrap h5, .hashy-banner-wrap.hashy-banner-wrap h6 {\r\n            margin: 0 !important;\r\n            padding: 0 !important;\r\n            text-indent: 0 !important;\r\n            background: transparent !important;\r\n        }\r\n        .hashy-banner-wrap.hashy-banner-wrap a { text-decoration: none !important; }\r\n\r\n        \/* \u2500\u2500 Background layers \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n        .hashy-card-bg {\r\n            position: absolute !important; inset: 0 !important;\r\n            border-radius: 16px !important;\r\n            overflow: hidden !important;\r\n            pointer-events: none !important;\r\n            z-index: 0 !important;\r\n        }\r\n        .hashy-card-bg-fill { position: absolute !important; inset: 0 !important; background: #111 !important; }\r\n        .hashy-card-bg-stars {\r\n            position: absolute !important; inset: 0 !important;\r\n            width: 100% !important; height: 100% !important;\r\n            object-fit: cover !important;\r\n            mix-blend-mode: screen !important;\r\n            opacity: .56 !important;\r\n        }\r\n        .hashy-card-bg-light {\r\n            position: absolute !important;\r\n            inset: -6px 0 auto 0 !important;\r\n            width: 100% !important;\r\n            height: calc(100% + 12px) !important;\r\n            object-fit: cover !important;\r\n            mix-blend-mode: plus-lighter !important;\r\n            opacity: .54 !important;\r\n            filter: blur(16px) !important;\r\n        }\r\n        .hashy-card-bg-glow {\r\n            position: absolute !important;\r\n            left: calc(50% - 480px) !important;\r\n            bottom: -110px !important;\r\n            width: 961px !important;\r\n            height: 222px !important;\r\n            border-radius: 50% !important;\r\n            background: radial-gradient(ellipse 480px 111px at center, rgba(160,102,242,1) 0%, rgba(77,77,77,0) 100%) !important;\r\n            filter: blur(80px) !important;\r\n            opacity: .8 !important;\r\n            pointer-events: none !important;\r\n        }\r\n\r\n        \/* \u2500\u2500 Sparkle decorations (Figma px positions) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n        .hashy-card-deco {\r\n            position: absolute !important;\r\n            display: block !important;\r\n            pointer-events: none !important;\r\n            z-index: 1 !important;\r\n            animation: hashyDecoFloat 4s ease-in-out infinite !important;\r\n        }\r\n        .hashy-card-deco svg { width: 100% !important; height: 100% !important; display: block !important; }\r\n        .hashy-card-deco-1 { left: 334px !important; top: 399px !important; width: 121px !important; height: 35px !important; }\r\n        .hashy-card-deco-2 { left: 615px !important; top: 72px !important;  width: 121px !important; height: 35px !important; animation-delay: 1.3s !important; }\r\n        .hashy-card-deco-3 { right: 50.57px !important; top: -6px !important; width: 35px !important;  height: 95px !important; animation-delay: 2.4s !important; }\r\n        @keyframes hashyDecoFloat {\r\n            0%, 100% { transform: translateY(0)    scale(1);    opacity: .9; }\r\n            50%      { transform: translateY(-3px) scale(1.05); opacity: 1;  }\r\n        }\r\n\r\n        \/* \u2500\u2500 Inner row \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n        .hashy-card-inner {\r\n            position: relative !important;\r\n            z-index: 2 !important;\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            justify-content: space-between !important;\r\n            gap: 48px !important;\r\n            padding: 64px 70px !important;\r\n            height: 100% !important;\r\n        }\r\n\r\n        \/* \u2500\u2500 Left column \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n        .hashy-card-left {\r\n            flex: 0 0 auto !important;\r\n            display: flex !important;\r\n            flex-direction: column !important;\r\n            align-items: flex-start !important;\r\n            gap: 32px !important;             \/* logo\u2192text tightened from 64 *\/\r\n            max-width: 660px !important;      \/* fits the longer Accounting copy on 3 lines *\/\r\n        }\r\n        .hashy-card-logo {\r\n            display: block !important;\r\n            height: 31.28px !important;\r\n            width: auto !important;\r\n        }\r\n        .hashy-card-text-block {\r\n            display: flex !important;\r\n            flex-direction: column !important;\r\n            align-items: flex-start !important;\r\n            gap: 32px !important;             \/* text\u2192button tightened from 56,\r\n                                                 brings CTA up + farther from\r\n                                                 banner bottom edge *\/\r\n        }\r\n        .hashy-card-title {\r\n            margin: 0 !important;\r\n            font-family: Poppins, \"Helvetica Neue\", Arial, sans-serif !important;\r\n            font-weight: 600 !important;\r\n            font-size: 46px !important;\r\n            line-height: 1.25 !important;\r\n            color: #fff !important;\r\n            letter-spacing: -0.005em !important;\r\n            max-width: 660px !important;      \/* match left-column widening *\/\r\n        }\r\n        .hashy-banner-stage .hashy-fg-grad {\r\n            display: inline-block !important;\r\n            background: linear-gradient(65deg, #8839E7 0%, #E391F4 74%, #8839E7 100%) !important;\r\n            -webkit-background-clip: text !important;\r\n            background-clip: text !important;\r\n            -webkit-text-fill-color: transparent !important;\r\n            color: transparent !important;\r\n            font-weight: 700 !important;\r\n        }\r\n\r\n        \/* CTA \u2014 bumped up from Figma (14\u00d748 \/ 20px) so it stays visually\r\n           prominent after the stage scale-down (~0.44\u00d7 at 628 container).\r\n           Now: padding 22\u00d772, font 30, gap 14, sparkle 28. *\/\r\n        .hashy-card-cta {\r\n            display: inline-flex !important;\r\n            align-items: center !important;\r\n            justify-content: center !important;\r\n            gap: 14px !important;\r\n            padding: 22px 72px !important;\r\n            background:\r\n                linear-gradient(#8839E7, #8839E7) padding-box,\r\n                linear-gradient(129deg, #fff 5%, rgba(255,255,255,0) 28%, rgba(255,255,255,0) 72%, #fff 94%) border-box !important;\r\n            border: 3px solid transparent !important;\r\n            border-radius: 99px !important;\r\n            color: #fff !important;\r\n            font-family: Poppins, \"Helvetica Neue\", Arial, sans-serif !important;\r\n            font-weight: 600 !important;\r\n            font-size: 30px !important;\r\n            line-height: 1.2 !important;\r\n            text-decoration: none !important;\r\n            box-shadow: 0 8px 28px rgba(136, 57, 231, .45) !important;\r\n            transition: transform .25s ease, box-shadow .25s ease, filter .25s ease !important;\r\n        }\r\n        .hashy-card-cta:hover {\r\n            transform: translateY(-2px) !important;\r\n            filter: brightness(1.08) !important;\r\n            color: #fff !important;\r\n            text-decoration: none !important;\r\n            box-shadow: 0 14px 36px rgba(136, 57, 231, .6) !important;\r\n        }\r\n        .hashy-card-cta-spark { display: inline-flex !important; }\r\n        .hashy-card-cta-spark svg { display: block !important; width: 28px !important; height: 29px !important; }\r\n\r\n        \/* \u2500\u2500 Right column (mascot + chat) \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500 *\/\r\n        .hashy-card-right {\r\n            position: relative !important;\r\n            flex: 0 0 auto !important;\r\n            width: 562px !important;\r\n            display: flex !important;\r\n            flex-direction: column !important;\r\n            align-items: center !important;\r\n            padding-bottom: 24px !important;\r\n        }\r\n        .hashy-banner-wrap.hashy-banner-wrap img.hashy-card-mascot,\r\n        .hashy-banner-stage.hashy-banner-stage img.hashy-card-mascot,\r\n        .hashy-card-mascot {\r\n            display: block !important;\r\n            width: 128px !important;\r\n            height: 194.4px !important;\r\n            margin: 0 0 -28px !important;        \/* overlap chat-window by 28px *\/\r\n            position: relative !important;\r\n            z-index: 1 !important;               \/* sits BEHIND chat window so the\r\n                                         bottom edge is hidden, giving\r\n                                         the peek-from-behind effect *\/\r\n            animation: hashyMascotBounce 3.5s ease-in-out infinite !important;\r\n            filter: drop-shadow(0 8px 24px rgba(0,0,0,.45)) !important;\r\n        }\r\n        @keyframes hashyMascotBounce {\r\n            0%, 100% { transform: translateY(0)    rotate(-2deg); }\r\n            50%      { transform: translateY(-6px) rotate( 2deg); }\r\n        }\r\n\r\n        .hashy-card-chat-window {\r\n            position: relative !important;\r\n            z-index: 2 !important;               \/* on top of mascot so the bottom\r\n                                         edge of the mascot is hidden\r\n                                         behind it (peek-through effect) *\/\r\n            width: 100% !important;\r\n            height: 278px !important;\r\n            background: rgba(255, 255, 255, 0.24) !important;\r\n            border-radius: 12px !important;\r\n            display: flex !important;\r\n            flex-direction: column !important;\r\n            gap: 20px !important;\r\n            padding: 0 0 10px !important;\r\n            overflow: hidden !important;\r\n            box-shadow:\r\n                0 0 24px rgba(255,255,255,0.08),\r\n                0 0 40px rgba(255,255,255,0.08) !important;\r\n            backdrop-filter: blur(4px) !important;\r\n            -webkit-backdrop-filter: blur(4px) !important;\r\n        }\r\n        .hashy-card-chat-window::before {\r\n            content: \"\" !important;\r\n            position: absolute !important; inset: 0 !important;\r\n            border-radius: inherit !important;\r\n            padding: 3px !important;\r\n            background: linear-gradient(134deg, #fff 0%, rgba(255,255,255,0.16) 26%, rgba(255,255,255,0.16) 77%, #fff 100%) !important;\r\n            -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0) !important;\r\n            -webkit-mask-composite: xor !important;\r\n                    mask-composite: exclude !important;\r\n            pointer-events: none !important;\r\n            z-index: 3 !important;\r\n        }\r\n\r\n        \/* Chat header \u2014 increased top\/bottom padding (10\u219216) to keep\r\n           the avatar visibly clear of the dark header edges. *\/\r\n        .hashy-card-chat-header {\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            justify-content: space-between !important;\r\n            padding: 16px 20px !important;\r\n            background: #111 !important;\r\n            border-radius: 13.474px 13.474px 0 0 !important;\r\n            flex-shrink: 0 !important;\r\n            position: relative !important;\r\n            z-index: 1 !important;\r\n        }\r\n        .hashy-card-chat-id {\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            gap: 11px !important;\r\n        }\r\n        .hashy-card-chat-avatar {\r\n            width: 40px !important; height: 40px !important;\r\n            border-radius: 50% !important;\r\n            display: block !important;\r\n            flex-shrink: 0 !important;\r\n            overflow: hidden !important;\r\n        }\r\n        .hashy-card-chat-avatar img {\r\n            display: block !important;\r\n            width: 100% !important; height: 100% !important;\r\n            border-radius: 50% !important;\r\n            object-fit: cover !important;\r\n        }\r\n        \/* Two-line meta block \u2014 height locked to avatar so flex-center\r\n           on the parent aligns avatar mid-Y with text mid-Y exactly. *\/\r\n        .hashy-card-chat-meta {\r\n            display: flex !important;\r\n            flex-direction: column !important;\r\n            justify-content: center !important;\r\n            align-items: flex-start !important;\r\n            height: 40px !important;\r\n            text-align: left !important;\r\n            line-height: 1.15 !important;\r\n        }\r\n        .hashy-card-chat-name {\r\n            margin: 0 !important;\r\n            color: #fff !important;\r\n            font-weight: 500 !important;\r\n            font-size: 17px !important;\r\n            line-height: 1.2 !important;\r\n            text-align: left !important;\r\n        }\r\n        .hashy-card-chat-role {\r\n            margin: 2px 0 0 !important;\r\n            color: #fff !important;\r\n            font-weight: 400 !important;\r\n            font-size: 11.5px !important;\r\n            line-height: 1.2 !important;\r\n            text-align: left !important;\r\n            opacity: .85 !important;\r\n        }\r\n        .hashy-card-chat-dots { display: inline-flex !important; align-items: center !important; gap: 8px !important; padding: 0 4px !important; }\r\n        .hashy-card-chat-dots span { width: 10.12px !important; height: 10.12px !important; border-radius: 50% !important; background: #d9d9d9 !important; }\r\n\r\n        \/* Chat body \/ stream *\/\r\n        .hashy-card-chat-body { position: relative !important; flex: 1 1 auto !important; min-height: 0 !important; overflow: hidden !important; }\r\n        .hashy-card-chat-stream {\r\n            display: flex !important;\r\n            flex-direction: column !important;\r\n            gap: 20px !important;\r\n            will-change: transform !important;\r\n            transition: transform .9s cubic-bezier(.2,.7,.2,1) !important;\r\n        }\r\n        .hashy-card-chat-stream.no-transition,\r\n        .hashy-card-chat-stream.no-transition .hashy-msg { transition: none !important; }\r\n\r\n        \/* Message rows \u2014 softened easing + longer transitions for a calmer\r\n           reveal cadence. Bubble drops in from -10px with fade. *\/\r\n        .hashy-msg {\r\n            display: flex !important;\r\n            align-items: flex-end !important;\r\n            gap: 18px !important;\r\n            padding: 0 28px !important;\r\n            opacity: 0 !important;\r\n            transform: translateY(-10px) !important;\r\n            transition: opacity .55s cubic-bezier(.16,.84,.32,1),\r\n                        transform .65s cubic-bezier(.18,.86,.34,1.04) !important;\r\n            flex-shrink: 0 !important;\r\n        }\r\n        .hashy-msg.is-revealed { opacity: 1 !important; transform: translateY(0) !important; }\r\n        .hashy-msg.is-incoming { justify-content: flex-start !important; }\r\n        .hashy-msg.is-outgoing { justify-content: flex-end !important; padding: 0 28px 0 0 !important; }\r\n        .hashy-msg.hashy-msg-narrow { padding: 0 24px !important; }\r\n\r\n        .hashy-msg-avatar {\r\n            display: block !important;\r\n            width: 40px !important; height: 40px !important;\r\n            border-radius: 50% !important;\r\n            object-fit: cover !important;\r\n            flex-shrink: 0 !important;\r\n            background: #fff !important;\r\n        }\r\n        .hashy-msg-avatar-bordered {\r\n            border: 1.82px solid #fff !important;\r\n            background: #8839E7 !important;\r\n        }\r\n\r\n        \/* Bubbles *\/\r\n        .hashy-bubble {\r\n            position: relative !important;\r\n            padding: 10px 14px !important;\r\n            border-radius: 5px !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 500 !important;\r\n            font-size: 14.5px !important;\r\n            line-height: 1.4 !important;\r\n            box-shadow: 0 1px 2px rgba(0,0,0,.18) !important;\r\n            max-width: 320px !important;\r\n        }\r\n        .hashy-bubble strong { font-weight: 700 !important; }\r\n\r\n        .hashy-bubble-white { background: #fff !important; color: #353535 !important; }\r\n        .hashy-bubble-white::before {\r\n            content: \"\" !important;\r\n            position: absolute !important;\r\n            left: -7px !important; top: 0 !important;\r\n            width: 0 !important; height: 0 !important;\r\n            border-style: solid !important;\r\n            border-width: 0 17px 16px 0 !important;\r\n            border-color: transparent #fff transparent transparent !important;\r\n        }\r\n        .hashy-text-purple { color: #8839E7 !important; font-weight: 800 !important; }\r\n\r\n        .hashy-bubble-purple { background: #8839E7 !important; color: #fff !important; }\r\n        .hashy-bubble-purple::after {\r\n            content: \"\" !important;\r\n            position: absolute !important;\r\n            right: -7px !important; top: 0 !important;\r\n            width: 0 !important; height: 0 !important;\r\n            border-style: solid !important;\r\n            border-width: 0 0 16px 17px !important;\r\n            border-color: transparent transparent #8839E7 transparent !important;\r\n        }\r\n        .hashy-bubble-wide { width: 380px !important; max-width: 100% !important; }\r\n\r\n        .hashy-bubble-typing {\r\n            display: inline-flex !important;\r\n            align-items: center !important;\r\n            justify-content: center !important;\r\n            gap: 4px !important;\r\n            padding: 9px 14px !important;\r\n            min-width: 50px !important;\r\n        }\r\n        .hashy-bubble-typing .hashy-dot {\r\n            width: 6px !important; height: 6px !important;\r\n            border-radius: 50% !important;\r\n            background: #fff !important;\r\n            opacity: .9 !important;\r\n            animation: hashyDot 1.2s ease-in-out infinite !important;\r\n        }\r\n        \/* White bubble typing dots \u2014 purple to be visible on white bg *\/\r\n        .hashy-bubble-white.hashy-bubble-typing .hashy-dot {\r\n            background: #8839E7 !important;\r\n            opacity: .55 !important;\r\n        }\r\n        .hashy-bubble-typing .hashy-dot:nth-child(2) { animation-delay: .18s !important; }\r\n        .hashy-bubble-typing .hashy-dot:nth-child(3) { animation-delay: .36s !important; }\r\n        @keyframes hashyDot {\r\n            0%, 60%, 100% { transform: translateY(0);   opacity: .55; }\r\n            30%           { transform: translateY(-4px); opacity: 1;   }\r\n        }\r\n        \/* Typing rows are dynamically injected by JS before each real\r\n           message; remove them from the natural flow when fading out\r\n           (gives the impression the bubble morphs into the real text).\r\n           Center-align so the small typing bubble sits vertically\r\n           against the avatar instead of dropping to flex-end. *\/\r\n        .hashy-typing-row {\r\n            align-items: center !important;\r\n            transition: opacity .4s ease, transform .45s ease, max-height .45s ease !important;\r\n        }\r\n        .hashy-typing-row.is-fading {\r\n            opacity: 0 !important;\r\n            transform: translateY(-4px) !important;\r\n            max-height: 0 !important;\r\n            margin: 0 !important;\r\n            overflow: hidden !important;\r\n        }\r\n\r\n        .hashy-bubble-card { padding: 10px !important; }\r\n\r\n        \/* Sales: Bright Technology contact card *\/\r\n        .hashy-contact-card { display: flex !important; flex-direction: column !important; gap: 5px !important; width: 256px !important; }\r\n        .hashy-contact-row {\r\n            display: flex !important; align-items: center !important; gap: 8px !important;\r\n            border-bottom: 0.5px solid #d9d9d9 !important;\r\n            padding-bottom: 12px !important;\r\n            height: 57px !important;\r\n        }\r\n        .hashy-contact-logo {\r\n            width: 45px !important; height: 45px !important;\r\n            border-radius: 50% !important;\r\n            overflow: hidden !important;\r\n            flex-shrink: 0 !important;\r\n            background: #fff !important;\r\n            display: flex !important; align-items: center !important; justify-content: center !important;\r\n        }\r\n        .hashy-contact-logo img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover !important; }\r\n        .hashy-contact-meta {\r\n            flex: 1 1 auto !important;\r\n            min-width: 0 !important;\r\n            display: flex !important;\r\n            flex-direction: column !important;\r\n            justify-content: center !important;\r\n        }\r\n        .hashy-contact-name {\r\n            margin: 0 !important;\r\n            font-weight: 600 !important;\r\n            font-size: 14px !important;\r\n            color: #353535 !important;\r\n            line-height: 20px !important;\r\n            white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;\r\n        }\r\n        .hashy-contact-email {\r\n            margin: 0 !important;\r\n            font-weight: 400 !important;\r\n            font-size: 12px !important;\r\n            color: #353535 !important;\r\n            line-height: 20px !important;\r\n            white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;\r\n        }\r\n        .hashy-contact-cog {\r\n            width: 16px !important; height: 16px !important;\r\n            display: inline-flex !important; align-items: center !important; justify-content: center !important;\r\n            flex-shrink: 0 !important;\r\n        }\r\n        .hashy-contact-actions { display: flex !important; gap: 8px !important; padding-top: 6px !important; }\r\n        .hashy-contact-actions span {\r\n            flex: 1 1 0 !important;\r\n            min-width: 0 !important;\r\n            height: 28px !important;\r\n            background: #f6f6f6 !important;\r\n            border-radius: 4px !important;\r\n            display: inline-flex !important; align-items: center !important; justify-content: center !important;\r\n        }\r\n        .hashy-contact-actions svg { display: block !important; }\r\n\r\n        \/* Inventory: Low Stock card \u2014 Figma 5311:1473 (171px content) *\/\r\n        .hashy-stock-card {\r\n            display: flex !important; flex-direction: column !important;\r\n            gap: 8px !important;\r\n            width: 171px !important;\r\n        }\r\n        .hashy-stock-head {\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            justify-content: space-between !important;\r\n            gap: 11px !important;\r\n            font-weight: 600 !important;\r\n            font-size: 14px !important;\r\n            color: #353535 !important;\r\n        }\r\n        .hashy-warn-icon { flex-shrink: 0 !important; }\r\n        .hashy-stock-divider { height: 0.5px !important; background: #d9d9d9 !important; }\r\n        .hashy-stock-row {\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            justify-content: center !important;\r\n            gap: 10px !important;\r\n        }\r\n        .hashy-stock-thumb {\r\n            width: 42px !important; height: 42px !important;\r\n            border-radius: 3px !important;\r\n            border: 0.8px solid #ddd !important;\r\n            overflow: hidden !important;\r\n            flex-shrink: 0 !important;\r\n            background: #fff !important;\r\n        }\r\n        .hashy-stock-thumb img { display: block !important; width: 100% !important; height: 100% !important; object-fit: contain !important; }\r\n        .hashy-stock-info { display: flex !important; flex-direction: column !important; gap: 3px !important; width: 119px !important; }\r\n        .hashy-stock-name {\r\n            margin: 0 !important; font-weight: 500 !important; font-size: 12.5px !important; color: #353535 !important; line-height: 1.25 !important;\r\n        }\r\n        .hashy-stock-sku {\r\n            margin: 0 !important; font-weight: 500 !important; font-size: 8px !important; color: #353535 !important; line-height: 1.4 !important;\r\n        }\r\n        .hashy-stock-progress {\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            gap: 8px !important;\r\n            width: 100% !important;\r\n        }\r\n        .hashy-stock-bar {\r\n            flex: 1 1 auto !important;\r\n            min-width: 0 !important;\r\n            height: 7px !important;\r\n            border-radius: 24px !important;\r\n            background: rgba(196, 196, 196, .24) !important;\r\n            overflow: hidden !important;\r\n            position: relative !important;\r\n        }\r\n        .hashy-stock-bar span {\r\n            display: block !important;\r\n            height: 100% !important;\r\n            background: #BD1E2D !important;\r\n            border-radius: 24px !important;\r\n        }\r\n        .hashy-stock-pill {\r\n            display: inline-flex !important; align-items: center !important;\r\n            padding: 2px 4px !important;\r\n            border-radius: 2px !important;\r\n            font-weight: 500 !important;\r\n            font-size: 6px !important;\r\n            line-height: 1.4 !important;\r\n            white-space: nowrap !important;\r\n            flex-shrink: 0 !important;\r\n        }\r\n        .hashy-stock-pill-ok { background: #DDFCD4 !important; color: #1A8707 !important; }\r\n        .hashy-stock-pill-low {\r\n            background: #FFEBEB !important;\r\n            color: #90191C !important;\r\n            font-weight: 600 !important;\r\n            font-size: 7px !important;\r\n            padding: 1px 4px !important;\r\n        }\r\n\r\n        .hashy-check { vertical-align: -3px !important; margin-left: 3px !important; flex-shrink: 0 !important; }\r\n        .hashy-inline-icon { display: inline-flex !important; vertical-align: -3px !important; margin-right: 4px !important; }\r\n\r\n        \/* \u2500\u2500 Document card (Quotation\/Purchase order) \u2014 Figma 5298:2969\r\n           Sales \/ 5298:3099 Inventory. Bubble widened to 380px and\r\n           internal paddings\/gaps tightened so the full preview + From\/To\r\n           + attachment + CTA fit inside the 278px chat viewport\r\n           without the View Document button getting clipped. \u2500\u2500 *\/\r\n        .hashy-bubble-doc {\r\n            flex-direction: column !important;\r\n            align-items: stretch !important;\r\n            gap: 8px !important;\r\n            width: 380px !important;\r\n            padding: 9px 12px !important;\r\n        }\r\n        .hashy-doc-tag {\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            gap: 4px !important;\r\n        }\r\n        .hashy-doc-tag p,\r\n        .hashy-doc-tag-text {\r\n            margin: 0 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 500 !important;\r\n            font-size: 13.5px !important;\r\n            line-height: 1.35 !important;\r\n            color: #353535 !important;\r\n        }\r\n        .hashy-doc-card {\r\n            background: #FAFAFA !important;\r\n            border-radius: 2.6px !important;\r\n            padding: 6px !important;\r\n            display: flex !important;\r\n            flex-direction: column !important;\r\n            gap: 5px !important;\r\n            width: 100% !important;\r\n        }\r\n        .hashy-doc-preview {\r\n            background: #fff !important;\r\n            border: 0.7px solid rgba(0,0,0,.1) !important;\r\n            border-radius: 4.8px 4.8px 0 0 !important;\r\n            padding: 5px 6px !important;\r\n            overflow: hidden !important;\r\n            display: flex !important;\r\n            flex-direction: column !important;\r\n            gap: 2.5px !important;\r\n        }\r\n        .hashy-doc-head {\r\n            display: flex !important;\r\n            align-items: flex-start !important;\r\n            justify-content: space-between !important;\r\n            gap: 6px !important;\r\n        }\r\n        .hashy-doc-head-text { display: flex !important; flex-direction: column !important; }\r\n        .hashy-doc-title {\r\n            margin: 0 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 700 !important;\r\n            font-size: 10.9px !important;\r\n            line-height: 1.4 !important;\r\n            color: #353535 !important;\r\n        }\r\n        .hashy-doc-num {\r\n            margin: 0 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 500 !important;\r\n            font-size: 5.4px !important;\r\n            line-height: 1.2 !important;\r\n            color: #353535 !important;\r\n            opacity: .5 !important;\r\n        }\r\n        .hashy-doc-logo {\r\n            width: 20px !important;\r\n            height: 17px !important;\r\n            object-fit: contain !important;\r\n            flex-shrink: 0 !important;\r\n        }\r\n        .hashy-doc-divider {\r\n            height: 0.7px !important;\r\n            background: rgba(0,0,0,.1) !important;\r\n        }\r\n        .hashy-doc-fromto {\r\n            display: flex !important;\r\n            justify-content: space-between !important;\r\n            gap: 8px !important;\r\n        }\r\n        .hashy-doc-fromto > div {\r\n            display: flex !important;\r\n            flex-direction: column !important;\r\n        }\r\n        .hashy-doc-label {\r\n            margin: 0 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 400 !important;\r\n            font-size: 5.4px !important;\r\n            line-height: 1.4 !important;\r\n            color: #353535 !important;\r\n            opacity: .5 !important;\r\n        }\r\n        .hashy-doc-co {\r\n            margin: 0 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 700 !important;\r\n            font-size: 5.4px !important;\r\n            line-height: 1.4 !important;\r\n            color: #2C2C2C !important;\r\n        }\r\n        .hashy-doc-addr {\r\n            margin: 0 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 500 !important;\r\n            font-size: 5.4px !important;\r\n            line-height: 1.4 !important;\r\n            color: #2C2C2C !important;\r\n        }\r\n        .hashy-doc-attach {\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            gap: 6px !important;\r\n            padding: 0 2px !important;\r\n        }\r\n        .hashy-doc-pdf-badge {\r\n            display: inline-flex !important;\r\n            flex-shrink: 0 !important;\r\n        }\r\n        .hashy-doc-pdf-badge svg { display: block !important; width: 20px !important; height: 25px !important; }\r\n        .hashy-doc-attach-meta { display: flex !important; flex-direction: column !important; min-width: 0 !important; }\r\n        .hashy-doc-file {\r\n            margin: 0 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 500 !important;\r\n            font-size: 10px !important;\r\n            line-height: 1.4 !important;\r\n            color: #353535 !important;\r\n            white-space: nowrap !important;\r\n            overflow: hidden !important;\r\n            text-overflow: ellipsis !important;\r\n        }\r\n        .hashy-doc-size {\r\n            margin: 0 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 500 !important;\r\n            font-size: 10px !important;\r\n            line-height: 1.4 !important;\r\n            color: #ABAAAA !important;\r\n        }\r\n        .hashy-doc-cta {\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            justify-content: center !important;\r\n            background: #8839E7 !important;\r\n            color: #fff !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 600 !important;\r\n            font-size: 10px !important;\r\n            line-height: 1.4 !important;\r\n            padding: 5px 8px !important;\r\n            border-radius: 3.4px !important;\r\n        }\r\n\r\n        \/* \u2500\u2500 Accounting: XLSX Financial Report card \u2014 Figma 5316:1700 \u2500\u2500 *\/\r\n        .hashy-bubble-xlsx {\r\n            flex-direction: column !important;\r\n            align-items: stretch !important;\r\n            gap: 8px !important;\r\n            width: 280px !important;\r\n            padding: 10px !important;\r\n        }\r\n        .hashy-xlsx-row {\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            gap: 10px !important;\r\n        }\r\n        .hashy-xlsx-icon {\r\n            display: inline-flex !important;\r\n            flex-shrink: 0 !important;\r\n        }\r\n        .hashy-xlsx-icon svg { display: block !important; width: 24px !important; height: 28px !important; }\r\n        .hashy-xlsx-meta { display: flex !important; flex-direction: column !important; min-width: 0 !important; }\r\n        .hashy-xlsx-name {\r\n            margin: 0 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 600 !important;\r\n            font-size: 13px !important;\r\n            line-height: 1.3 !important;\r\n            color: #353535 !important;\r\n        }\r\n        .hashy-xlsx-size {\r\n            margin: 0 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 500 !important;\r\n            font-size: 10.5px !important;\r\n            line-height: 1.4 !important;\r\n            color: #888 !important;\r\n        }\r\n        .hashy-xlsx-actions { display: flex !important; gap: 8px !important; }\r\n        .hashy-xlsx-actions span {\r\n            flex: 1 1 0 !important;\r\n            display: inline-flex !important;\r\n            align-items: center !important;\r\n            justify-content: center !important;\r\n            background: #F1F1F1 !important;\r\n            color: #353535 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 500 !important;\r\n            font-size: 12px !important;\r\n            padding: 6px 10px !important;\r\n            border-radius: 4px !important;\r\n        }\r\n\r\n        \/* \u2500\u2500 HR: Attendance Report card \u2014 Figma 5287:1171 \u2500\u2500 *\/\r\n        .hashy-bubble-attendance {\r\n            flex-direction: column !important;\r\n            align-items: stretch !important;\r\n            gap: 10px !important;\r\n            width: 270px !important;\r\n            padding: 10px 12px !important;\r\n        }\r\n        .hashy-att-head {\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            justify-content: space-between !important;\r\n        }\r\n        .hashy-att-title {\r\n            margin: 0 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 700 !important;\r\n            font-size: 13px !important;\r\n            color: #353535 !important;\r\n        }\r\n        .hashy-att-month {\r\n            display: inline-flex !important;\r\n            align-items: center !important;\r\n            gap: 4px !important;\r\n            background: #F1F1F1 !important;\r\n            color: #353535 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 500 !important;\r\n            font-size: 10px !important;\r\n            padding: 3px 8px !important;\r\n            border-radius: 4px !important;\r\n        }\r\n        .hashy-att-month svg { display: inline-block !important; }\r\n        .hashy-att-body {\r\n            display: flex !important;\r\n            align-items: center !important;\r\n            gap: 12px !important;\r\n            padding: 4px 0 !important;\r\n        }\r\n        .hashy-donut {\r\n            position: relative !important;\r\n            width: 80px !important;\r\n            height: 80px !important;\r\n            border-radius: 50% !important;\r\n            background: conic-gradient(\r\n                #8839E7 0deg 315deg,        \/* 21\/24 = 87.5% = 315deg \u2014 Present *\/\r\n                #FEA110 315deg 345deg,      \/* 2\/24  = 8.3%  = 30deg  \u2014 Annual Leave *\/\r\n                #BD1E2D 345deg 360deg       \/* 1\/24  = 4.2%  = 15deg  \u2014 Sick Leave *\/\r\n            ) !important;\r\n            flex-shrink: 0 !important;\r\n        }\r\n        .hashy-donut::before {\r\n            content: \"\" !important;\r\n            position: absolute !important;\r\n            inset: 12px !important;\r\n            background: #fff !important;\r\n            border-radius: 50% !important;\r\n        }\r\n        .hashy-donut-center {\r\n            position: absolute !important;\r\n            inset: 0 !important;\r\n            display: flex !important;\r\n            flex-direction: column !important;\r\n            align-items: center !important;\r\n            justify-content: center !important;\r\n            text-align: center !important;\r\n            z-index: 1 !important;\r\n        }\r\n        .hashy-donut-num {\r\n            margin: 0 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 700 !important;\r\n            font-size: 18px !important;\r\n            line-height: 1 !important;\r\n            color: #353535 !important;\r\n        }\r\n        .hashy-donut-label {\r\n            margin: 1px 0 0 !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-weight: 500 !important;\r\n            font-size: 7.5px !important;\r\n            line-height: 1.2 !important;\r\n            color: #888 !important;\r\n        }\r\n        .hashy-att-legend {\r\n            display: flex !important;\r\n            flex-direction: column !important;\r\n            gap: 6px !important;\r\n            font-family: Poppins, sans-serif !important;\r\n            font-size: 10.5px !important;\r\n            color: #353535 !important;\r\n        }\r\n        .hashy-att-legend > div {\r\n            display: flex !important;\r\n            align-items: flex-start !important;\r\n            gap: 6px !important;\r\n            line-height: 1.25 !important;\r\n        }\r\n        .hashy-att-legend strong { font-weight: 700 !important; font-size: 11px !important; }\r\n        .hashy-att-dot {\r\n            width: 10px !important; height: 10px !important;\r\n            border-radius: 2px !important;\r\n            margin-top: 2px !important;\r\n            flex-shrink: 0 !important;\r\n        }\r\n        .hashy-att-dot-1 { background: #8839E7 !important; }\r\n        .hashy-att-dot-2 { background: #FEA110 !important; }\r\n        .hashy-att-dot-3 { background: #BD1E2D !important; }\r\n\r\n        \/* \u2500\u2500 Mobile (< 480px container): unscale + stack vertically.\r\n           Layout order: text on TOP, chat card on BOTTOM. Text\/button\r\n           rendered center-aligned. Above 480 the desktop side-by-side\r\n           layout stays \u2014 it just scales down via transform. \u2500\u2500\u2500 *\/\r\n        @container hashybnr (max-width: 479.99px) {\r\n            .hashy-banner-frame {\r\n                aspect-ratio: auto !important;\r\n                border-radius: 14px !important;\r\n            }\r\n            .hashy-banner-stage {\r\n                position: static !important;\r\n                width: 100% !important;\r\n                height: auto !important;\r\n                transform: none !important;\r\n            }\r\n            .hashy-card-deco-1, .hashy-card-deco-2 { display: none !important; }\r\n            .hashy-card-deco-3 { right: 12px !important; top: 0 !important; width: 24px !important; height: 70px !important; }\r\n            .hashy-card-bg-glow { left: 50% !important; transform: translateX(-50%) !important; width: 90% !important; }\r\n\r\n            .hashy-card-inner {\r\n                flex-direction: column !important;        \/* text first, card second *\/\r\n                align-items: center !important;\r\n                text-align: center !important;\r\n                gap: 28px !important;\r\n                padding: 32px 22px !important;\r\n                height: auto !important;\r\n            }\r\n            .hashy-card-left {\r\n                width: 100% !important;\r\n                max-width: 460px !important;\r\n                gap: 24px !important;\r\n                align-items: center !important;           \/* center logo, title, CTA *\/\r\n                text-align: center !important;\r\n            }\r\n            .hashy-card-logo { height: 24px !important; }\r\n            .hashy-card-text-block {\r\n                gap: 20px !important;\r\n                align-items: center !important;\r\n                text-align: center !important;\r\n                width: 100% !important;\r\n            }\r\n            .hashy-card-title { font-size: 22px !important; line-height: 1.3 !important; text-align: center !important; }\r\n            .hashy-card-cta { font-size: 15px !important; padding: 11px 28px !important; align-self: center !important; }\r\n            .hashy-card-cta-spark svg { width: 16px !important; height: 17px !important; }\r\n\r\n            .hashy-card-right {\r\n                width: 100% !important;\r\n                max-width: 420px !important;\r\n                padding-bottom: 0 !important;\r\n                text-align: left !important;     \/* reset center inheritance\r\n                                                    so chat content stays\r\n                                                    left-aligned on mobile *\/\r\n            }\r\n            .hashy-card-chat-meta,\r\n            .hashy-card-chat-name,\r\n            .hashy-card-chat-role,\r\n            .hashy-bubble,\r\n            .hashy-stock-card,\r\n            .hashy-contact-card,\r\n            .hashy-doc-card { text-align: left !important; }\r\n            .hashy-banner-wrap.hashy-banner-wrap img.hashy-card-mascot,\r\n            .hashy-banner-stage.hashy-banner-stage img.hashy-card-mascot,\r\n            .hashy-card-mascot { width: 96px !important; height: auto !important; margin: 0 0 -22px !important; }\r\n            .hashy-card-chat-window { height: 232px !important; }\r\n            .hashy-card-chat-name { font-size: 14px !important; }\r\n            .hashy-card-chat-role { font-size: 10.5px !important; }\r\n            .hashy-card-chat-avatar { width: 32px !important; height: 32px !important; }\r\n            .hashy-card-chat-avatar img { width: 28px !important; height: 28px !important; }\r\n            .hashy-bubble { font-size: 12.5px !important; padding: 8px 10px !important; max-width: 240px !important; }\r\n            .hashy-bubble-wide { width: auto !important; max-width: 260px !important; }\r\n            .hashy-bubble-doc { width: auto !important; max-width: 280px !important; padding: 8px 10px !important; }\r\n            .hashy-bubble-xlsx { width: auto !important; max-width: 260px !important; }\r\n            .hashy-bubble-attendance { width: auto !important; max-width: 260px !important; }\r\n            .hashy-msg-avatar { width: 30px !important; height: 30px !important; }\r\n            .hashy-msg, .hashy-msg.is-outgoing { padding-left: 14px !important; padding-right: 14px !important; }\r\n            .hashy-card-chat-stream { gap: 14px !important; }\r\n            .hashy-card-chat-dots span { width: 8px !important; height: 8px !important; }\r\n            .hashy-contact-card { width: 220px !important; }\r\n            .hashy-stock-card { width: 210px !important; }\r\n        }\r\n\r\n        @media (prefers-reduced-motion: reduce) {\r\n            .hashy-card-deco,\r\n            .hashy-card-mascot,\r\n            .hashy-bubble-typing .hashy-dot { animation: none !important; }\r\n            .hashy-card-cta:hover { transform: none !important; filter: none !important; }\r\n            .hashy-msg, .hashy-card-chat-stream { transition: opacity .2s ease !important; transform: none !important; }\r\n        }\r\n    <\/style>\r\n\r\n    <script>\r\n        \/* Sequential message reveal with chat-loading indicator.\r\n           For each real message the JS injects a temporary typing bubble\r\n           in the matching side, animates it for ~1100ms, then fades it\r\n           out and reveals the actual bubble. The stream glides upward\r\n           when the new content would push past the visible body. *\/\r\n        (function () {\r\n            var TYPING_MS = 1100;   \/\/ how long the dots pulse before bubble appears\r\n            var FADE_MS   = 320;    \/\/ typing-row collapse duration\r\n            var GAP_MS    = 1700;   \/\/ pause after bubble is shown, before next typing\r\n            var LOOP_PAUSE = 2500;  \/\/ pause at end of conversation before restart loop\r\n\r\n            function startHashyChat(stream) {\r\n                if (!stream || stream.dataset.hashyChatStarted === \"1\") return;\r\n                stream.dataset.hashyChatStarted = \"1\";\r\n                var body = stream.parentElement;\r\n                var msgs = Array.prototype.slice.call(stream.querySelectorAll(\".hashy-msg\"));\r\n                if (!msgs.length) return;\r\n\r\n                var avatarHashy = stream.dataset.avatarHashy || \"\";\r\n                var avatarUser  = stream.dataset.avatarUser  || \"\";\r\n\r\n                function makeTyping(isIncoming) {\r\n                    var row = document.createElement(\"div\");\r\n                    row.className = \"hashy-msg hashy-typing-row \" + (isIncoming ? \"is-incoming\" : \"is-outgoing\");\r\n                    var bubble =\r\n                        '<div class=\"hashy-bubble hashy-bubble-typing ' +\r\n                        (isIncoming ? 'hashy-bubble-white' : 'hashy-bubble-purple') +\r\n                        '\"><span class=\"hashy-dot\"><\/span><span class=\"hashy-dot\"><\/span><span class=\"hashy-dot\"><\/span><\/div>';\r\n                    var avatar = isIncoming\r\n                        ? '<img decoding=\"async\" class=\"hashy-msg-avatar\" src=\"' + avatarHashy + '\" alt=\"\" width=\"40\" height=\"40\">'\r\n                        : '<img decoding=\"async\" class=\"hashy-msg-avatar hashy-msg-avatar-bordered\" src=\"' + avatarUser + '\" alt=\"\" width=\"40\" height=\"40\">';\r\n                    row.innerHTML = isIncoming ? avatar + bubble : bubble + avatar;\r\n                    return row;\r\n                }\r\n\r\n                function scrollIntoView(node) {\r\n                    requestAnimationFrame(function () {\r\n                        requestAnimationFrame(function () {\r\n                            var viewportH = body.clientHeight;\r\n                            var nodeBottom = node.offsetTop + node.offsetHeight;\r\n                            var currentY = parseFloat(\r\n                                (stream.style.transform.match(\/-?\\d+(?:\\.\\d+)?\/) || [0])[0]\r\n                            );\r\n                            var visibleBottom = -currentY + viewportH;\r\n                            if (nodeBottom > visibleBottom) {\r\n                                stream.style.transform = \"translateY(\" + (-node.offsetTop) + \"px)\";\r\n                            }\r\n                        });\r\n                    });\r\n                }\r\n\r\n                function reset() {\r\n                    stream.classList.add(\"no-transition\");\r\n                    msgs.forEach(function (m) { m.classList.remove(\"is-revealed\"); });\r\n                    Array.prototype.slice.call(stream.querySelectorAll(\".hashy-typing-row\")).forEach(function (n) {\r\n                        if (n.parentNode) n.parentNode.removeChild(n);\r\n                    });\r\n                    stream.style.transform = \"translateY(0)\";\r\n                    void stream.offsetWidth;\r\n                    stream.classList.remove(\"no-transition\");\r\n                }\r\n\r\n                var i = 0;\r\n                reset();\r\n\r\n                function tick() {\r\n                    if (i >= msgs.length) {\r\n                        setTimeout(function () { reset(); i = 0; setTimeout(tick, 800); }, LOOP_PAUSE);\r\n                        return;\r\n                    }\r\n                    var msg = msgs[i];\r\n                    var isIncoming = msg.classList.contains(\"is-incoming\");\r\n                    var typing = makeTyping(isIncoming);\r\n                    msg.parentNode.insertBefore(typing, msg);\r\n\r\n                    \/\/ Reveal typing on next frame for smooth fade-in\r\n                    requestAnimationFrame(function () {\r\n                        requestAnimationFrame(function () {\r\n                            typing.classList.add(\"is-revealed\");\r\n                            scrollIntoView(typing);\r\n                        });\r\n                    });\r\n\r\n                    setTimeout(function () {\r\n                        \/\/ Fade typing out, then reveal real message in its slot\r\n                        typing.classList.add(\"is-fading\");\r\n                        setTimeout(function () {\r\n                            if (typing.parentNode) typing.parentNode.removeChild(typing);\r\n                            msg.classList.add(\"is-revealed\");\r\n                            scrollIntoView(msg);\r\n                            i++;\r\n                            setTimeout(tick, GAP_MS);\r\n                        }, FADE_MS);\r\n                    }, TYPING_MS);\r\n                }\r\n\r\n                tick();\r\n            }\r\n\r\n            document.addEventListener(\"DOMContentLoaded\", function () {\r\n                document.querySelectorAll(\".hashy-card-chat-stream\").forEach(startHashyChat);\r\n            });\r\n        })();\r\n    <\/script><\/span><\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Variance reporting is a universal accounting practice, but it carries particular weight for Australian businesses operating under the compliance and reporting frameworks of the ATO and ASIC.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">1. Tracking budget vs actuals across the financial year<\/h3>\n<p data-start=\"61\" data-end=\"312\">The Australian financial year runs from 1 July to 30 June, shaping how businesses manage budgeting, reporting, and performance reviews. Monthly variance reporting helps businesses track performance against annual financial targets throughout the year.<\/p>\n<p data-start=\"314\" data-end=\"455\">By identifying budget gaps earlier, management can adjust spending, sales initiatives, or cash flow planning before EOFY reporting deadlines.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">2. Supporting BAS quarterly and EOFY reviews<\/h3>\n<p data-start=\"512\" data-end=\"785\">Most Australian businesses submit BAS reports monthly or quarterly to the ATO for GST, PAYG, and related tax obligations. Variance reports help businesses compare expected and actual tax-related cash flows through <a href=\"https:\/\/www.hashmicro.com\/au\/blog\/accounting-software-australia\/\">a system for variance reports in Australia<\/a>.<\/p>\n<p data-start=\"787\" data-end=\"949\">During EOFY reviews, variance reports also help accountants and auditors understand major financial movements, improving reporting accuracy and audit preparation.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">3. Improving forecasting accuracy and financial decision-making<\/h3>\n<p data-start=\"1025\" data-end=\"1365\">Australian businesses often face financial volatility from commodity prices, exchange rates, and interest rate movements set by the <a href=\"https:\/\/www.rba.gov.au\" target=\"_blank\" rel=\"noopener\">Reserve Bank of Australia (RBA)<\/a>. Variance reports help businesses identify where actual results differ from original financial assumptions.<\/p>\n<p data-start=\"1367\" data-end=\"1523\" data-is-last-node=\"\" data-is-only-node=\"\">This gives management better visibility for adjusting pricing strategies, operational spending, and financial forecasts based on changing market conditions.<\/p>\n<style>\r\n    #custom-quote {\r\n        background-color: #f0f0f0;\r\n        padding: 20px;\r\n        border-radius: 12px;\r\n        margin: 20px;\r\n        display: flex;\r\n        flex-direction: column;\r\n    }\r\n\r\n    #custom-quote .quote-body {\r\n        display: flex;\r\n        flex-direction: row;\r\n        align-items: flex-start;\r\n        gap: 15px;\r\n        font-size: 16px;\r\n        line-height: 1.5;\r\n        font-style: italic;\r\n    }\r\n\r\n    #custom-quote .quote-icon {\r\n        width: 40px;\r\n        height: 40px;\r\n        flex-shrink: 0;\r\n    }\r\n\r\n    #custom-quote .quote-author-wrapper {\r\n        margin-top: 15px;\r\n        align-self: flex-start;\r\n        margin-left: 55px; \r\n\t\tmargin-bottom: 0px;\r\n    }\r\n\r\n    #custom-quote em {\r\n        font-family: 'Roboto Serif', serif !important;\r\n        font-size: 12px;\r\n        font-weight: bold;\r\n        font-style: normal;\r\n    }\r\n\r\n    @media screen and (max-width: 768px) {\r\n        #custom-quote {\r\n            margin: 15px 0;\r\n            padding: 15px;\r\n        }\r\n        \r\n        #custom-quote .quote-body {\r\n            gap: 12px;\r\n        }\r\n\r\n        #custom-quote .quote-author-wrapper {\r\n            margin-left: 52px;\r\n        }\r\n    }\r\n\r\n    @media screen and (max-width: 480px) {\r\n        #custom-quote {\r\n            margin: 10px 0;\r\n            padding: 12px;\r\n        }\r\n\r\n        #custom-quote .quote-body {\r\n            font-size: 14px;\r\n            gap: 10px;\r\n        }\r\n\r\n        #custom-quote .quote-icon {\r\n            width: 32px;\r\n            height: 32px;\r\n        }\r\n\r\n        #custom-quote .quote-author-wrapper {\r\n            margin-top: 10px;\r\n            margin-left: 42px;\r\n        }\r\n    }\r\n<\/style>\r\n\r\n<div id=\"custom-quote\">\r\n    <div class=\"quote-body\">\r\n        <img decoding=\"async\" src=\"https:\/\/www.hashmicro.com\/blog\/wp-content\/uploads\/2025\/12\/quote.webp\" alt=\"Quote Icon\" class=\"quote-icon\">\r\n        <div>\r\n            I&#039;ve seen finance teams waste days reconciling spreadsheets because their variance reports don&#039;t connect to actual general ledger data. When the system is right, the report writes itself.        <\/div>\r\n    <\/div>\r\n    <p class=\"quote-author-wrapper\">\r\n        <em>Luke Sheridan, Head of Finance Dept.<\/em>\r\n    <\/p>\r\n<\/div>\n<h2><strong>Who Relies on Variance Reports<\/strong><\/h2>\n<p data-start=\"38\" data-end=\"255\">Variance reports support decision-making across finance, operations, and strategic planning. Different stakeholders use these reports to monitor performance, manage risks, and improve financial visibility.<\/p>\n<h3 data-section-id=\"u8wcrl\" data-start=\"257\" data-end=\"292\">Management and department heads<\/h3>\n<ul data-start=\"294\" data-end=\"479\">\n<li data-section-id=\"3xwsjo\" data-start=\"294\" data-end=\"351\">Monitor departmental budgets and operational spending<\/li>\n<li data-section-id=\"16v2ufs\" data-start=\"352\" data-end=\"398\">Identify performance gaps and overspending<\/li>\n<li data-section-id=\"1slu9p7\" data-start=\"399\" data-end=\"441\">Track operational KPIs against targets<\/li>\n<li data-section-id=\"13hzbi1\" data-start=\"442\" data-end=\"479\">Support faster corrective actions<\/li>\n<\/ul>\n<h3 data-section-id=\"q88lh2\" data-start=\"481\" data-end=\"503\">Board of directors<\/h3>\n<ul data-start=\"505\" data-end=\"674\">\n<li data-section-id=\"gs7zv0\" data-start=\"505\" data-end=\"545\">Review overall financial performance<\/li>\n<li data-section-id=\"1vewygy\" data-start=\"546\" data-end=\"591\">Monitor profitability and financial risks<\/li>\n<li data-section-id=\"c2j1b8\" data-start=\"592\" data-end=\"632\">Evaluate strategic business outcomes<\/li>\n<li data-section-id=\"tul4o1\" data-start=\"633\" data-end=\"674\">Support governance and accountability<\/li>\n<\/ul>\n<h3 data-section-id=\"oz1ph0\" data-start=\"676\" data-end=\"710\">Internal and external auditors<\/h3>\n<ul data-start=\"712\" data-end=\"893\">\n<li data-section-id=\"fzllzh\" data-start=\"712\" data-end=\"759\">Review financial discrepancies and controls<\/li>\n<li data-section-id=\"sb1iaz\" data-start=\"760\" data-end=\"806\">Validate reporting accuracy and compliance<\/li>\n<li data-section-id=\"wggoz4\" data-start=\"807\" data-end=\"847\">Identify unusual financial movements<\/li>\n<li data-section-id=\"1kzhkt8\" data-start=\"848\" data-end=\"893\">Support audit and investigation processes<\/li>\n<\/ul>\n<h3 data-section-id=\"7ozkuv\" data-start=\"895\" data-end=\"920\">Investors and lenders<\/h3>\n<ul data-start=\"922\" data-end=\"1107\">\n<li data-section-id=\"181qp3k\" data-start=\"922\" data-end=\"969\">Assess business profitability and stability<\/li>\n<li data-section-id=\"gjx25x\" data-start=\"970\" data-end=\"1017\">Monitor cash flow and financial performance<\/li>\n<li data-section-id=\"78wiwp\" data-start=\"1018\" data-end=\"1062\">Evaluate operational and financial risks<\/li>\n<li data-section-id=\"1tihq3x\" data-start=\"1063\" data-end=\"1107\">Support lending and investment decisions<\/li>\n<\/ul>\n<h3 data-section-id=\"v6dpzp\" data-start=\"1109\" data-end=\"1151\">Finance teams (controllers, FP&amp;A, CFO)<\/h3>\n<ul data-start=\"1153\" data-end=\"1336\" data-is-last-node=\"\" data-is-only-node=\"\">\n<li data-section-id=\"4qs5kz\" data-start=\"1153\" data-end=\"1191\">Analyse budget-to-actual variances<\/li>\n<li data-section-id=\"rxly9u\" data-start=\"1192\" data-end=\"1237\">Improve forecasting and planning accuracy<\/li>\n<li data-section-id=\"j3s298\" data-start=\"1238\" data-end=\"1290\">Monitor reporting consistency across departments<\/li>\n<li data-section-id=\"xdvy8s\" data-start=\"1291\" data-end=\"1336\" data-is-last-node=\"\">Support strategic financial decision-making<\/li>\n<\/ul>\n<h2><strong><span style=\"color: #111111; font-family: Roboto, sans-serif; font-size: 27px;\">Types of Variance Reports<\/span><\/strong><\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Financial variances can occur across any area of a business. Each of the following report types focuses on a specific financial dimension, providing targeted insights for different stakeholders using <a href=\"https:\/\/www.hashmicro.com\/au\/blog\/accounting-system\/\">variance analysis tools.<\/a><\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">1. Budget variance report<\/h3>\n<p data-start=\"31\" data-end=\"255\">The budget variance report compares budgeted figures against actual financial results across revenue, expenses, margins, and net income. It gives management a broad overview of business performance during a reporting period.<\/p>\n<p data-start=\"257\" data-end=\"387\">Reports may compare actuals against the original approved budget or a flexible budget adjusted to actual business activity levels.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">2. Revenue variance report<\/h3>\n<p data-start=\"426\" data-end=\"612\">A revenue variance report compares projected sales revenue against actual results during a reporting period. It usually separates variances into price variance and sales volume variance.<\/p>\n<p data-start=\"614\" data-end=\"746\">This helps businesses identify whether revenue changes were driven by pricing strategy, sales performance, or product demand shifts.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">3. Cost and expense variance report<\/h3>\n<p data-start=\"794\" data-end=\"1020\">This report compares projected and actual operating expenses across departments or expense categories such as utilities, software, and travel. Manufacturing businesses may also track material and overhead variances separately.<\/p>\n<p data-start=\"1022\" data-end=\"1121\">The report helps businesses identify overspending areas and improve cost control across operations.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">4. Labour variance report<\/h3>\n<p data-start=\"1159\" data-end=\"1354\">A labour variance report compares expected payroll costs against actual labour expenses across departments or projects. Common metrics include labour rate variance and labour efficiency variance.<\/p>\n<p data-start=\"1356\" data-end=\"1474\">These reports help businesses monitor workforce productivity, overtime costs, and staffing efficiency more accurately.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">5. Cash flow variance report<\/h3>\n<p data-start=\"1515\" data-end=\"1749\">A cash flow variance report compares forecasted cash inflows and outflows against actual cash movements across operating, investing, and financing activities. This helps businesses monitor liquidity and short-term financial stability.<\/p>\n<p data-start=\"1751\" data-end=\"1861\">The report also highlights timing issues such as delayed customer payments or unexpected operational spending.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">6. Profit variance report<\/h3>\n<p data-start=\"1899\" data-end=\"2086\">The profit variance report compares budgeted and actual gross profit, operating profit, and net profit. It combines revenue and cost analysis to explain overall profitability performance.<\/p>\n<p data-start=\"2088\" data-end=\"2214\">This helps businesses identify whether changes in profit were driven by revenue growth, operational costs, or margin pressure.<\/p>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">7. Operational \/ KPI variance report<\/h3>\n<div class=\"text-base my-auto mx-auto [--thread-content-margin:var(--thread-content-margin-xs,calc(var(--spacing)*4))] @w-sm\/main:[--thread-content-margin:var(--thread-content-margin-sm,calc(var(--spacing)*6))] @w-lg\/main:[--thread-content-margin:var(--thread-content-margin-lg,calc(var(--spacing)*16))] px-(--thread-content-margin)\">\n<div class=\"[--thread-content-max-width:40rem] @w-lg\/main:[--thread-content-max-width:48rem] mx-auto max-w-(--thread-content-max-width) flex-1 group\/turn-messages focus-visible:outline-hidden relative flex w-full min-w-0 flex-col agent-turn\">\n<div class=\"flex max-w-full flex-col gap-4 grow\">\n<div class=\"min-h-8 text-message relative flex w-full flex-col items-end gap-2 text-start break-words whitespace-normal outline-none keyboard-focused:focus-ring [.text-message+&amp;]:mt-1\" dir=\"auto\" data-message-author-role=\"assistant\" data-message-id=\"b331d1a0-50ca-45cd-a581-f07807390aef\" data-message-model-slug=\"gpt-5-5\">\n<div class=\"flex w-full flex-col gap-1 empty:hidden\">\n<div class=\"markdown prose dark:prose-invert wrap-break-word w-full dark markdown-new-styling\">\n<p data-start=\"2263\" data-end=\"2491\">Operational or KPI variance reports compare target operational metrics against actual performance results. These reports often track metrics such as customer acquisition cost, churn rate, defect rates, or support response times.<\/p>\n<p data-start=\"2493\" data-end=\"2612\">The reports help businesses identify operational inefficiencies before they significantly affect financial performance.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h3 class=\"text-text-100 mt-2 -mb-1 text-base font-bold\">8. EOFY variance report (annual budget review)<\/h3>\n<p data-start=\"2671\" data-end=\"2887\">The EOFY variance report reviews annual financial performance across the Australian financial year from 1 July to 30 June. It typically includes detailed financial comparisons and commentary from department managers.<\/p>\n<p data-start=\"2889\" data-end=\"2994\">Businesses use this report to support annual planning, compliance reviews, and external financial audits.<\/p>\n<p>For quick reference, the table below summarises which variance report suits each business function.<\/p>\n<div style=\"width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; margin: 20px 0; border-radius: 12px;\">\n<table style=\"width: 100%; min-width: 900px; border-collapse: collapse; font-size: 14px; border-radius: 12px; overflow: hidden;\">\n<thead>\n<tr>\n<th style=\"background: #90191C; color: #fff; text-align: left; padding: 12px 14px; border-right: 1px solid rgba(255,255,255,0.18);\">Report type<\/th>\n<th style=\"background: #90191C; color: #fff; text-align: left; padding: 12px 14px; border-right: 1px solid rgba(255,255,255,0.18);\">Primary metric tracked<\/th>\n<th style=\"background: #90191C; color: #fff; text-align: left; padding: 12px 14px; border-right: 1px solid rgba(255,255,255,0.18);\">Best used by<\/th>\n<th style=\"background: #90191C; color: #fff; text-align: left; padding: 12px 14px;\">Typical frequency<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background: #fff;\">\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1; font-weight: 600; color: #90191c;\">Budget variance report<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Budget vs actual spending<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Finance teams and department managers<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Monthly<\/td>\n<\/tr>\n<tr style=\"background: #fafafa;\">\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1; font-weight: 600; color: #90191c;\">Revenue variance report<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Sales and revenue performance<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Sales and finance teams<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Monthly or quarterly<\/td>\n<\/tr>\n<tr style=\"background: #fff;\">\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1; font-weight: 600; color: #90191c;\">Cost and expense variance report<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Operational expenses and overheads<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Operations and finance teams<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Monthly<\/td>\n<\/tr>\n<tr style=\"background: #fafafa;\">\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1; font-weight: 600; color: #90191c;\">Labour variance report<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Wages, overtime, and staffing costs<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">HR and payroll teams<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Monthly<\/td>\n<\/tr>\n<tr style=\"background: #fff;\">\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1; font-weight: 600; color: #90191c;\">Cash flow variance report<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Cash inflows and outflows<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Finance teams and executives<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Weekly or monthly<\/td>\n<\/tr>\n<tr style=\"background: #fafafa;\">\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1; font-weight: 600; color: #90191c;\">Profit variance report<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Gross profit and net profit<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Executives and finance leaders<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Monthly or quarterly<\/td>\n<\/tr>\n<tr style=\"background: #fff;\">\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1; font-weight: 600; color: #90191c;\">Operational variance report<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Operational KPIs and efficiency metrics<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Operations managers and leadership teams<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Monthly<\/td>\n<\/tr>\n<tr style=\"background: #fafafa;\">\n<td style=\"padding: 12px 14px; font-weight: 600; color: #90191c;\">EOFY variance report<\/td>\n<td style=\"padding: 12px 14px;\">Annual financial performance<\/td>\n<td style=\"padding: 12px 14px;\">Finance teams, auditors, and directors<\/td>\n<td style=\"padding: 12px 14px;\">Annually<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<h2 id=\"variance-report-formula\"><strong>Variance Report Formula<\/strong><\/h2>\n<p>Variance reporting relies on two calculations: dollar variance and percentage variance. Both help businesses measure financial discrepancies and support <a href=\"#\">budget predicting<\/a>.<\/p>\n<ul>\n<li><strong>For Revenue: <\/strong>Revenue Variance = Actual Revenue &#8211; Budgeted Revenue.<\/li>\n<li><strong>For Expenses: <\/strong>Expense Variance = Budgeted Expenses &#8211; Actual Expenses.<\/li>\n<li><strong>Dollar variance<\/strong>: Actual Amount &#8211; Budgeted Amount equals Dollar Variance ($).<\/li>\n<\/ul>\n<p>If a department budgeted $50,000 but spent $62,000, the dollar variance is $12,000. This shows the direct financial impact of the variance.<\/p>\n<p><strong>Percentage variance<\/strong> = Dollar Variance \/ Budgeted Amount \u00d7 100<\/p>\n<p>Using the same example, $12,000 divided by $50,000 equals 24%. Percentage variance helps businesses measure how significant the discrepancy is relative to the original budget.<\/p>\n<p>Every variance should also be labelled as Favourable (F) or Unfavourable (U). For revenue, actual results above budget are favourable, while for expenses, actual results above budget are unfavourable because they reduce profitability.<\/p>\n<p>Clear F\/U labels help management interpret financial results faster without manually assessing whether each variance is positive or negative for the business.<\/p>\n<div>\n<div class=\"standard-markdown grid-cols-1 grid [&amp;_&gt;_*]:min-w-0 gap-3\">\n<h2 class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><strong>What to Include in a Variance Report<\/strong><\/h2>\n<p data-start=\"2353\" data-end=\"2623\">A variance report should combine financial data, operational context, and corrective actions within one structured document. Clear reporting helps management understand what happened, why it happened, and what actions should follow.<\/p>\n<h3 data-section-id=\"17e5u7u\" data-start=\"2625\" data-end=\"2667\">1. Budget \/ forecast vs actual figures<\/h3>\n<p data-start=\"2669\" data-end=\"2935\">Every report should compare budgeted or forecasted figures against actual financial results using clearly labelled reporting periods. Including Year-to-Date (YTD) figures also gives stakeholders broader performance visibility.<\/p>\n<h3 data-section-id=\"193ad1g\" data-start=\"2937\" data-end=\"2991\">2. Variance amount ($) and variance percentage (%)<\/h3>\n<p data-start=\"2993\" data-end=\"3254\">Each line item should display both dollar variance and percentage variance to show financial impact and proportional severity. Reports should also label variances as Favourable (F) or Unfavourable (U) for easier analysis.<\/p>\n<h3 data-section-id=\"rxkvwj\" data-start=\"3256\" data-end=\"3309\">3. Root cause analysis and explanatory commentary<\/h3>\n<p data-start=\"3311\" data-end=\"3549\">Significant variances should include short explanations from finance teams or department managers. Commentary helps businesses understand the operational reasons behind unexpected financial results.<\/p>\n<h3 data-section-id=\"1amghic\" data-start=\"3551\" data-end=\"3602\">4. Materiality thresholds and flagging criteria<\/h3>\n<p data-start=\"3604\" data-end=\"3840\">Materiality thresholds help businesses focus only on variances that exceed predefined dollar or percentage limits. This prevents management from wasting time reviewing insignificant discrepancies.<\/p>\n<h3 data-section-id=\"1m6xvp4\" data-start=\"3842\" data-end=\"3884\">5. Action items and responsible owners<\/h3>\n<p data-start=\"3886\" data-end=\"4130\" data-is-last-node=\"\" data-is-only-node=\"\">Variance reports should document corrective actions and assign ownership for follow-up activities. This helps businesses turn financial reporting into an active accountability and decision-making process.<\/p>\n<p>Below is a simplified example of how material variances are typically presented in a financial variance report.<\/p>\n<div style=\"width: 100%; overflow-x: auto; margin: 20px 0; border-radius: 12px;\">\n<table style=\"width: 100%; min-width: 1100px; border-collapse: collapse; font-size: 14px; border-radius: 12px; overflow: hidden;\">\n<thead>\n<tr>\n<th style=\"background: #90191C; color: #fff; padding: 12px 14px; text-align: left;\">Line item<\/th>\n<th style=\"background: #90191C; color: #fff; padding: 12px 14px; text-align: left;\">Budget (AUD)<\/th>\n<th style=\"background: #90191C; color: #fff; padding: 12px 14px; text-align: left;\">Actual (AUD)<\/th>\n<th style=\"background: #90191C; color: #fff; padding: 12px 14px; text-align: left;\">Variance ($)<\/th>\n<th style=\"background: #90191C; color: #fff; padding: 12px 14px; text-align: left;\">Variance (%)<\/th>\n<th style=\"background: #90191C; color: #fff; padding: 12px 14px; text-align: left;\">F\/U<\/th>\n<th style=\"background: #90191C; color: #fff; padding: 12px 14px; text-align: left;\">Key driver<\/th>\n<th style=\"background: #90191C; color: #fff; padding: 12px 14px; text-align: left;\">Action step<\/th>\n<th style=\"background: #90191C; color: #fff; padding: 12px 14px; text-align: left;\">Owner<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr style=\"background: #fff;\">\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1; font-weight: 600;\">Sales revenue<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">$420,000<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">$385,000<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">-$35,000<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">-8.3%<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\"><span style=\"background: #fdecea; color: #b71c1c; padding: 4px 10px; border-radius: 12px; font-size: 12px; font-weight: 600;\">U<\/span><\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Lower seasonal demand<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Increase promotional activity<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Sales manager<\/td>\n<\/tr>\n<tr style=\"background: #fafafa;\">\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1; font-weight: 600;\">Marketing spend<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">$60,000<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">$74,000<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">+$14,000<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">23.3%<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\"><span style=\"background: #fdecea; color: #b71c1c; padding: 4px 10px; border-radius: 12px; font-size: 12px; font-weight: 600;\">U<\/span><\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Unplanned campaign launch<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Review campaign ROI<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Marketing director<\/td>\n<\/tr>\n<tr style=\"background: #fff;\">\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1; font-weight: 600;\">COGS<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">$180,000<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">$196,000<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">+$16,000<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">8.9%<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\"><span style=\"background: #fdecea; color: #b71c1c; padding: 4px 10px; border-radius: 12px; font-size: 12px; font-weight: 600;\">U<\/span><\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Supplier price increases<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Negotiate supplier contracts<\/td>\n<td style=\"padding: 12px 14px; border-bottom: 1px solid #f1f1f1;\">Procurement lead<\/td>\n<\/tr>\n<tr style=\"background: #fafafa;\">\n<td style=\"padding: 12px 14px; font-weight: 600;\">Labour cost<\/td>\n<td style=\"padding: 12px 14px;\">$95,000<\/td>\n<td style=\"padding: 12px 14px;\">$87,000<\/td>\n<td style=\"padding: 12px 14px;\">-$8,000<\/td>\n<td style=\"padding: 12px 14px;\">-8.4%<\/td>\n<td style=\"padding: 12px 14px;\"><span style=\"background: #e6f4ea; color: #1e7e34; padding: 4px 10px; border-radius: 12px; font-size: 12px; font-weight: 600;\">F<\/span><\/td>\n<td style=\"padding: 12px 14px;\">Reduced overtime hours<\/td>\n<td style=\"padding: 12px 14px;\">Maintain workforce scheduling<\/td>\n<td style=\"padding: 12px 14px;\">HR manager<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<\/div>\n<h2 id=\"what-to-include-in-a-variance-report\"><strong>Free Variance Report Templates<\/strong><\/h2>\n<p>Building variance reports from scratch is time-consuming. Below are structured templates for various report types that you can recreate in Microsoft Excel, Google Sheets, or your dedicated financial reporting system.<\/p>\n<h3>1. Monthly budget variance report template<\/h3>\n<p>This standard template is ideal for a high-level overview of monthly departmental or company-wide performance.<\/p>\n<p><!-- shortcode CTA download new -->\r\n\r\n<div class=\"download-wrapper new\">\r\n\t<p class=\"download-desc\">Monthly budget variance report template<\/p>\r\n\t\r\n\t<div class=\"download-top\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-15_105126361-1.webp\">\r\n\t<\/div>\r\n\t\r\n\t<div class=\"button-wrapper\">\r\n\t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"template\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Monthly_Budget_Variance_Report.docx\"\r\n\t\t\tdata-format=\"docs\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Now<\/p>\r\n\t\t<\/button>\r\n\t\t\r\n  \t\t\r\n  \t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"template\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Monthly_Budget_Variance_Report.pdf\"\r\n\t\t\tdata-format=\"pdf\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Now<\/p>\r\n\t\t<\/button>\r\n\t\t\t<\/div>\r\n\t\r\n\t\t<div class=\"download-bottom\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-15_105126361-1.webp\" alt=\"\">\r\n\t<\/div>\r\n\t<\/div>\r\n\r\n\r\n<style>\r\n\t.button-wrapper{\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new p.download-text{\r\n\t\tmargin-bottom: 0;\r\n\t\tcolor: #9C171E;\r\n\t}\r\n\t\r\n\t.color-me-white{\r\n\t\tcolor: #FFF !important;\r\n\t}\r\n\t.download-bottom, .download-top{\r\n\t\tmargin-top: 32px;\r\n\t\theight: 250px;\r\n\t\toverflow: hidden;\r\n\t\tborder-radius: 8px 8px 0 0;\r\n\t}\r\n\t\r\n\t.download-top{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t.download-img{\r\n\t\twidth: 100%;\r\n\/* \t\tfilter: blur(1px); *\/\r\n\t}\r\n\r\n\t.opacity-ef{\r\n\t\tposition: absolute;\r\n\t\tdisplay: block;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\tbottom: 0;\r\n\t\tbackground-image: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 35%, #FFF 88%);\r\n\t\tbackdrop-filter: blur(1px);\r\n\t\tz-index: 1;\r\n\t\twidth: 100%;\r\n\t}\r\n\t\r\n\t.download-wrapper.new{\r\n\t\tbackground: unset;\r\n\t\tpadding: 40px 16px;\r\n\t\tborder-radius: unset;\r\n\t\tborder-bottom: 2px solid #D9D9D9;\r\n\t\tborder-top: 2px solid #D9D9D9;\r\n\t}\r\n\t\r\n\t.icon-unduh{\r\n\t\tbackground-image: url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/11\/icon-unduh.webp');\r\n\t\tbackground-size: cover;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-position: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn{\r\n\t\twidth: 200px;\r\n\t\tpadding: 10px 14px;\r\n\t\tmargin-right: 16px;\r\n\t\tcolor: #FFF !important;\r\n\t\tbox-shadow: 5px 6px 16px 0px rgba(0, 0, 0, 0.25);\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn:last-child{\r\n\t\tmargin-right: 0;\r\n\t}\r\n\t\r\n\t.new .download-desc{\r\n\t\tcolor: #282828 !important;\r\n\t\ttext-align: center;\r\n\t\tfont-size: 27px !important;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 700;\r\n\t\tline-height: 28px;\r\n\t\tmargin-bottom: 24px !important;\r\n\t}\r\n\t\r\n\t.btn-pdf{\r\n\t\tborder: 2px solid #D01517;\r\n\t\tbackground: #D01517;\r\n\t}\r\n\t\r\n\t.btn-word{\r\n\t\tborder: 2px solid #25589A;\r\n\t\tbackground: #25589A;\r\n\t}\r\n\t\r\n\t.btn-excel{\r\n\t\tborder: 2px solid #20744A;\r\n\t\tbackground: #20744A;\r\n\t}\r\n\t\r\n\t.d-none{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t@media (min-width:992px) and (max-width:1399px){\r\n\t\tp.download-text{\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:991px){\r\n\t\t.button-wrapper{\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t\t\r\n\t\t.new .downloadBtn{\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-left: 0;\r\n\t\t\tmargin-right: 0;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.download-bottom{\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t\t\r\n\t\t.download-top{\r\n\t\t\tdisplay: block;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.new .download-desc{\r\n\t\t\tmargin-bottom: 16px !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:576px){\r\n\t\t.download-top{\r\n\t\t\theight: 120px;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.querySelectorAll('.downloadBtn').forEach(button=>{\r\n\t\tconst formatData = button.getAttribute('data-format');\r\n\t\tconst btnText = button.querySelector('.download-text');\r\n\t\tconst linkData = button.getAttribute('data-link');\r\n\t\tconst iconUnduh = button.querySelector('.icon-unduh');\r\n\t\tconst popupContent = button.getAttribute('popup-content');\r\n\t\t\r\n\t\tif(formatData == 'pdf'){\r\n\t\t\tbutton.classList.add('btn-pdf'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download PDF\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/teenyicons_pdf-solid.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'word'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Word\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/file-icons_microsoft-word.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'excel'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Excel\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/vscode-icons_file-type-excel2.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'docs'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Docs\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googledocs.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'sheet'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Sheet\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googlesheets.webp')\"\r\n\t\t}\r\n\t\t\r\n\t\tif(linkData == ''){\r\n\t\t\tbutton.classList.add('d-none');\r\n\t\t}\r\n\t})\r\n<\/script><!-- notionvc: 028f8f18-0c4f-4e46-b367-946f3cc3dabb --><br \/>\n<!-- notionvc: 1302d68d-56a0-433f-aa1e-f6d7f5c757a5 --><\/p>\n<h3>2. Revenue variance report template<\/h3>\n<p>This template breaks down revenue variances to separate pricing impact from sales volume changes. It is structured to align with Australian business reporting requirements and operational use cases.<\/p>\n<p><!-- shortcode CTA download new -->\r\n\r\n<div class=\"download-wrapper new\">\r\n\t<p class=\"download-desc\">Revenue Variance Report Template<\/p>\r\n\t\r\n\t<div class=\"download-top\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-15_112309810.webp\">\r\n\t<\/div>\r\n\t\r\n\t<div class=\"button-wrapper\">\r\n\t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"template\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Revenue_Variance_Report.docx\"\r\n\t\t\tdata-format=\"docs\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Now<\/p>\r\n\t\t<\/button>\r\n\t\t\r\n  \t\t\r\n  \t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"template\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Revenue_Variance_Report.pdf\"\r\n\t\t\tdata-format=\"pdf\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Now<\/p>\r\n\t\t<\/button>\r\n\t\t\t<\/div>\r\n\t\r\n\t\t<div class=\"download-bottom\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-15_112309810.webp\" alt=\"\">\r\n\t<\/div>\r\n\t<\/div>\r\n\r\n\r\n<style>\r\n\t.button-wrapper{\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new p.download-text{\r\n\t\tmargin-bottom: 0;\r\n\t\tcolor: #9C171E;\r\n\t}\r\n\t\r\n\t.color-me-white{\r\n\t\tcolor: #FFF !important;\r\n\t}\r\n\t.download-bottom, .download-top{\r\n\t\tmargin-top: 32px;\r\n\t\theight: 250px;\r\n\t\toverflow: hidden;\r\n\t\tborder-radius: 8px 8px 0 0;\r\n\t}\r\n\t\r\n\t.download-top{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t.download-img{\r\n\t\twidth: 100%;\r\n\/* \t\tfilter: blur(1px); *\/\r\n\t}\r\n\r\n\t.opacity-ef{\r\n\t\tposition: absolute;\r\n\t\tdisplay: block;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\tbottom: 0;\r\n\t\tbackground-image: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 35%, #FFF 88%);\r\n\t\tbackdrop-filter: blur(1px);\r\n\t\tz-index: 1;\r\n\t\twidth: 100%;\r\n\t}\r\n\t\r\n\t.download-wrapper.new{\r\n\t\tbackground: unset;\r\n\t\tpadding: 40px 16px;\r\n\t\tborder-radius: unset;\r\n\t\tborder-bottom: 2px solid #D9D9D9;\r\n\t\tborder-top: 2px solid #D9D9D9;\r\n\t}\r\n\t\r\n\t.icon-unduh{\r\n\t\tbackground-image: url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/11\/icon-unduh.webp');\r\n\t\tbackground-size: cover;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-position: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn{\r\n\t\twidth: 200px;\r\n\t\tpadding: 10px 14px;\r\n\t\tmargin-right: 16px;\r\n\t\tcolor: #FFF !important;\r\n\t\tbox-shadow: 5px 6px 16px 0px rgba(0, 0, 0, 0.25);\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn:last-child{\r\n\t\tmargin-right: 0;\r\n\t}\r\n\t\r\n\t.new .download-desc{\r\n\t\tcolor: #282828 !important;\r\n\t\ttext-align: center;\r\n\t\tfont-size: 27px !important;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 700;\r\n\t\tline-height: 28px;\r\n\t\tmargin-bottom: 24px !important;\r\n\t}\r\n\t\r\n\t.btn-pdf{\r\n\t\tborder: 2px solid #D01517;\r\n\t\tbackground: #D01517;\r\n\t}\r\n\t\r\n\t.btn-word{\r\n\t\tborder: 2px solid #25589A;\r\n\t\tbackground: #25589A;\r\n\t}\r\n\t\r\n\t.btn-excel{\r\n\t\tborder: 2px solid #20744A;\r\n\t\tbackground: #20744A;\r\n\t}\r\n\t\r\n\t.d-none{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t@media (min-width:992px) and (max-width:1399px){\r\n\t\tp.download-text{\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:991px){\r\n\t\t.button-wrapper{\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t\t\r\n\t\t.new .downloadBtn{\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-left: 0;\r\n\t\t\tmargin-right: 0;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.download-bottom{\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t\t\r\n\t\t.download-top{\r\n\t\t\tdisplay: block;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.new .download-desc{\r\n\t\t\tmargin-bottom: 16px !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:576px){\r\n\t\t.download-top{\r\n\t\t\theight: 120px;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.querySelectorAll('.downloadBtn').forEach(button=>{\r\n\t\tconst formatData = button.getAttribute('data-format');\r\n\t\tconst btnText = button.querySelector('.download-text');\r\n\t\tconst linkData = button.getAttribute('data-link');\r\n\t\tconst iconUnduh = button.querySelector('.icon-unduh');\r\n\t\tconst popupContent = button.getAttribute('popup-content');\r\n\t\t\r\n\t\tif(formatData == 'pdf'){\r\n\t\t\tbutton.classList.add('btn-pdf'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download PDF\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/teenyicons_pdf-solid.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'word'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Word\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/file-icons_microsoft-word.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'excel'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Excel\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/vscode-icons_file-type-excel2.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'docs'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Docs\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googledocs.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'sheet'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Sheet\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googlesheets.webp')\"\r\n\t\t}\r\n\t\t\r\n\t\tif(linkData == ''){\r\n\t\t\tbutton.classList.add('d-none');\r\n\t\t}\r\n\t})\r\n<\/script><!-- notionvc: be9c7130-f972-42e9-be33-18df30b1558e --><\/p>\n<h3>3. Expense &amp; cost variance template<\/h3>\n<p data-start=\"219\" data-end=\"450\">This template separates operating costs into fixed costs, variable costs, and overhead to identify where spending differs from budget. Each section includes budget, actuals, dollar variance, percentage variance, and F\/U indicators.<\/p>\n<p data-start=\"452\" data-end=\"569\">A management commentary section is also included for explaining significant variances before finance or board review.<\/p>\n<!-- shortcode CTA download new -->\r\n\r\n<div class=\"download-wrapper new\">\r\n\t<p class=\"download-desc\">Expense &amp; Cost Variance Template<\/p>\r\n\t\r\n\t<div class=\"download-top\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-16_154437123.webp\">\r\n\t<\/div>\r\n\t\r\n\t<div class=\"button-wrapper\">\r\n\t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"template\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/expense-cost-variance-template-1.xlsx\"\r\n\t\t\tdata-format=\"excel\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Now<\/p>\r\n\t\t<\/button>\r\n\t\t\r\n  \t\t\r\n  \t\t\t<\/div>\r\n\t\r\n\t\t<div class=\"download-bottom\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-16_154437123.webp\" alt=\"\">\r\n\t<\/div>\r\n\t<\/div>\r\n\r\n\r\n<style>\r\n\t.button-wrapper{\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new p.download-text{\r\n\t\tmargin-bottom: 0;\r\n\t\tcolor: #9C171E;\r\n\t}\r\n\t\r\n\t.color-me-white{\r\n\t\tcolor: #FFF !important;\r\n\t}\r\n\t.download-bottom, .download-top{\r\n\t\tmargin-top: 32px;\r\n\t\theight: 250px;\r\n\t\toverflow: hidden;\r\n\t\tborder-radius: 8px 8px 0 0;\r\n\t}\r\n\t\r\n\t.download-top{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t.download-img{\r\n\t\twidth: 100%;\r\n\/* \t\tfilter: blur(1px); *\/\r\n\t}\r\n\r\n\t.opacity-ef{\r\n\t\tposition: absolute;\r\n\t\tdisplay: block;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\tbottom: 0;\r\n\t\tbackground-image: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 35%, #FFF 88%);\r\n\t\tbackdrop-filter: blur(1px);\r\n\t\tz-index: 1;\r\n\t\twidth: 100%;\r\n\t}\r\n\t\r\n\t.download-wrapper.new{\r\n\t\tbackground: unset;\r\n\t\tpadding: 40px 16px;\r\n\t\tborder-radius: unset;\r\n\t\tborder-bottom: 2px solid #D9D9D9;\r\n\t\tborder-top: 2px solid #D9D9D9;\r\n\t}\r\n\t\r\n\t.icon-unduh{\r\n\t\tbackground-image: url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/11\/icon-unduh.webp');\r\n\t\tbackground-size: cover;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-position: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn{\r\n\t\twidth: 200px;\r\n\t\tpadding: 10px 14px;\r\n\t\tmargin-right: 16px;\r\n\t\tcolor: #FFF !important;\r\n\t\tbox-shadow: 5px 6px 16px 0px rgba(0, 0, 0, 0.25);\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn:last-child{\r\n\t\tmargin-right: 0;\r\n\t}\r\n\t\r\n\t.new .download-desc{\r\n\t\tcolor: #282828 !important;\r\n\t\ttext-align: center;\r\n\t\tfont-size: 27px !important;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 700;\r\n\t\tline-height: 28px;\r\n\t\tmargin-bottom: 24px !important;\r\n\t}\r\n\t\r\n\t.btn-pdf{\r\n\t\tborder: 2px solid #D01517;\r\n\t\tbackground: #D01517;\r\n\t}\r\n\t\r\n\t.btn-word{\r\n\t\tborder: 2px solid #25589A;\r\n\t\tbackground: #25589A;\r\n\t}\r\n\t\r\n\t.btn-excel{\r\n\t\tborder: 2px solid #20744A;\r\n\t\tbackground: #20744A;\r\n\t}\r\n\t\r\n\t.d-none{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t@media (min-width:992px) and (max-width:1399px){\r\n\t\tp.download-text{\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:991px){\r\n\t\t.button-wrapper{\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t\t\r\n\t\t.new .downloadBtn{\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-left: 0;\r\n\t\t\tmargin-right: 0;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.download-bottom{\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t\t\r\n\t\t.download-top{\r\n\t\t\tdisplay: block;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.new .download-desc{\r\n\t\t\tmargin-bottom: 16px !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:576px){\r\n\t\t.download-top{\r\n\t\t\theight: 120px;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.querySelectorAll('.downloadBtn').forEach(button=>{\r\n\t\tconst formatData = button.getAttribute('data-format');\r\n\t\tconst btnText = button.querySelector('.download-text');\r\n\t\tconst linkData = button.getAttribute('data-link');\r\n\t\tconst iconUnduh = button.querySelector('.icon-unduh');\r\n\t\tconst popupContent = button.getAttribute('popup-content');\r\n\t\t\r\n\t\tif(formatData == 'pdf'){\r\n\t\t\tbutton.classList.add('btn-pdf'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download PDF\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/teenyicons_pdf-solid.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'word'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Word\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/file-icons_microsoft-word.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'excel'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Excel\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/vscode-icons_file-type-excel2.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'docs'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Docs\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googledocs.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'sheet'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Sheet\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googlesheets.webp')\"\r\n\t\t}\r\n\t\t\r\n\t\tif(linkData == ''){\r\n\t\t\tbutton.classList.add('d-none');\r\n\t\t}\r\n\t})\r\n<\/script>\n<h3>4. Labour variance report template<\/h3>\n<p data-start=\"583\" data-end=\"832\">This template tracks workforce variance across headcount, overtime, and total labour costs, including salaries, casual labour, and overtime premiums. It also includes payroll tax, allowances, and superannuation guarantee calculations for FY 2024\u201325.<\/p>\n<p data-start=\"834\" data-end=\"930\">The workbook is designed for finance and HR teams to review together before month-end reporting.<\/p>\n<!-- shortcode CTA download new -->\r\n\r\n<div class=\"download-wrapper new\">\r\n\t<p class=\"download-desc\">Labour variance report template<\/p>\r\n\t\r\n\t<div class=\"download-top\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-16_154617880.webp\">\r\n\t<\/div>\r\n\t\r\n\t<div class=\"button-wrapper\">\r\n\t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"template\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/labour-variance-template-2.xlsx\"\r\n\t\t\tdata-format=\"excel\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Now<\/p>\r\n\t\t<\/button>\r\n\t\t\r\n  \t\t\r\n  \t\t\t<\/div>\r\n\t\r\n\t\t<div class=\"download-bottom\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-16_154617880.webp\" alt=\"\">\r\n\t<\/div>\r\n\t<\/div>\r\n\r\n\r\n<style>\r\n\t.button-wrapper{\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new p.download-text{\r\n\t\tmargin-bottom: 0;\r\n\t\tcolor: #9C171E;\r\n\t}\r\n\t\r\n\t.color-me-white{\r\n\t\tcolor: #FFF !important;\r\n\t}\r\n\t.download-bottom, .download-top{\r\n\t\tmargin-top: 32px;\r\n\t\theight: 250px;\r\n\t\toverflow: hidden;\r\n\t\tborder-radius: 8px 8px 0 0;\r\n\t}\r\n\t\r\n\t.download-top{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t.download-img{\r\n\t\twidth: 100%;\r\n\/* \t\tfilter: blur(1px); *\/\r\n\t}\r\n\r\n\t.opacity-ef{\r\n\t\tposition: absolute;\r\n\t\tdisplay: block;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\tbottom: 0;\r\n\t\tbackground-image: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 35%, #FFF 88%);\r\n\t\tbackdrop-filter: blur(1px);\r\n\t\tz-index: 1;\r\n\t\twidth: 100%;\r\n\t}\r\n\t\r\n\t.download-wrapper.new{\r\n\t\tbackground: unset;\r\n\t\tpadding: 40px 16px;\r\n\t\tborder-radius: unset;\r\n\t\tborder-bottom: 2px solid #D9D9D9;\r\n\t\tborder-top: 2px solid #D9D9D9;\r\n\t}\r\n\t\r\n\t.icon-unduh{\r\n\t\tbackground-image: url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/11\/icon-unduh.webp');\r\n\t\tbackground-size: cover;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-position: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn{\r\n\t\twidth: 200px;\r\n\t\tpadding: 10px 14px;\r\n\t\tmargin-right: 16px;\r\n\t\tcolor: #FFF !important;\r\n\t\tbox-shadow: 5px 6px 16px 0px rgba(0, 0, 0, 0.25);\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn:last-child{\r\n\t\tmargin-right: 0;\r\n\t}\r\n\t\r\n\t.new .download-desc{\r\n\t\tcolor: #282828 !important;\r\n\t\ttext-align: center;\r\n\t\tfont-size: 27px !important;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 700;\r\n\t\tline-height: 28px;\r\n\t\tmargin-bottom: 24px !important;\r\n\t}\r\n\t\r\n\t.btn-pdf{\r\n\t\tborder: 2px solid #D01517;\r\n\t\tbackground: #D01517;\r\n\t}\r\n\t\r\n\t.btn-word{\r\n\t\tborder: 2px solid #25589A;\r\n\t\tbackground: #25589A;\r\n\t}\r\n\t\r\n\t.btn-excel{\r\n\t\tborder: 2px solid #20744A;\r\n\t\tbackground: #20744A;\r\n\t}\r\n\t\r\n\t.d-none{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t@media (min-width:992px) and (max-width:1399px){\r\n\t\tp.download-text{\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:991px){\r\n\t\t.button-wrapper{\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t\t\r\n\t\t.new .downloadBtn{\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-left: 0;\r\n\t\t\tmargin-right: 0;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.download-bottom{\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t\t\r\n\t\t.download-top{\r\n\t\t\tdisplay: block;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.new .download-desc{\r\n\t\t\tmargin-bottom: 16px !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:576px){\r\n\t\t.download-top{\r\n\t\t\theight: 120px;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.querySelectorAll('.downloadBtn').forEach(button=>{\r\n\t\tconst formatData = button.getAttribute('data-format');\r\n\t\tconst btnText = button.querySelector('.download-text');\r\n\t\tconst linkData = button.getAttribute('data-link');\r\n\t\tconst iconUnduh = button.querySelector('.icon-unduh');\r\n\t\tconst popupContent = button.getAttribute('popup-content');\r\n\t\t\r\n\t\tif(formatData == 'pdf'){\r\n\t\t\tbutton.classList.add('btn-pdf'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download PDF\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/teenyicons_pdf-solid.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'word'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Word\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/file-icons_microsoft-word.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'excel'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Excel\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/vscode-icons_file-type-excel2.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'docs'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Docs\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googledocs.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'sheet'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Sheet\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googlesheets.webp')\"\r\n\t\t}\r\n\t\t\r\n\t\tif(linkData == ''){\r\n\t\t\tbutton.classList.add('d-none');\r\n\t\t}\r\n\t})\r\n<\/script>\n<h3>5. Cash flow variance report template<\/h3>\n<p data-start=\"944\" data-end=\"1156\">Structured around AASB 107, this template compares operating, investing, and financing cash flows against budget. It includes GST-related receipts, ATO payments, CAPEX, loan repayments, and cash balance tracking.<\/p>\n<p data-start=\"1158\" data-end=\"1253\">A summary section helps businesses monitor opening and closing cash positions more efficiently.<\/p>\n<!-- shortcode CTA download new -->\r\n\r\n<div class=\"download-wrapper new\">\r\n\t<p class=\"download-desc\">Cash flow variance report template<\/p>\r\n\t\r\n\t<div class=\"download-top\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-16_154754003.webp\">\r\n\t<\/div>\r\n\t\r\n\t<div class=\"button-wrapper\">\r\n\t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"template\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/cash-flow-variance-template-1.xlsx\"\r\n\t\t\tdata-format=\"excel\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Now<\/p>\r\n\t\t<\/button>\r\n\t\t\r\n  \t\t\r\n  \t\t\t<\/div>\r\n\t\r\n\t\t<div class=\"download-bottom\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-16_154754003.webp\" alt=\"\">\r\n\t<\/div>\r\n\t<\/div>\r\n\r\n\r\n<style>\r\n\t.button-wrapper{\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new p.download-text{\r\n\t\tmargin-bottom: 0;\r\n\t\tcolor: #9C171E;\r\n\t}\r\n\t\r\n\t.color-me-white{\r\n\t\tcolor: #FFF !important;\r\n\t}\r\n\t.download-bottom, .download-top{\r\n\t\tmargin-top: 32px;\r\n\t\theight: 250px;\r\n\t\toverflow: hidden;\r\n\t\tborder-radius: 8px 8px 0 0;\r\n\t}\r\n\t\r\n\t.download-top{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t.download-img{\r\n\t\twidth: 100%;\r\n\/* \t\tfilter: blur(1px); *\/\r\n\t}\r\n\r\n\t.opacity-ef{\r\n\t\tposition: absolute;\r\n\t\tdisplay: block;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\tbottom: 0;\r\n\t\tbackground-image: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 35%, #FFF 88%);\r\n\t\tbackdrop-filter: blur(1px);\r\n\t\tz-index: 1;\r\n\t\twidth: 100%;\r\n\t}\r\n\t\r\n\t.download-wrapper.new{\r\n\t\tbackground: unset;\r\n\t\tpadding: 40px 16px;\r\n\t\tborder-radius: unset;\r\n\t\tborder-bottom: 2px solid #D9D9D9;\r\n\t\tborder-top: 2px solid #D9D9D9;\r\n\t}\r\n\t\r\n\t.icon-unduh{\r\n\t\tbackground-image: url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/11\/icon-unduh.webp');\r\n\t\tbackground-size: cover;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-position: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn{\r\n\t\twidth: 200px;\r\n\t\tpadding: 10px 14px;\r\n\t\tmargin-right: 16px;\r\n\t\tcolor: #FFF !important;\r\n\t\tbox-shadow: 5px 6px 16px 0px rgba(0, 0, 0, 0.25);\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn:last-child{\r\n\t\tmargin-right: 0;\r\n\t}\r\n\t\r\n\t.new .download-desc{\r\n\t\tcolor: #282828 !important;\r\n\t\ttext-align: center;\r\n\t\tfont-size: 27px !important;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 700;\r\n\t\tline-height: 28px;\r\n\t\tmargin-bottom: 24px !important;\r\n\t}\r\n\t\r\n\t.btn-pdf{\r\n\t\tborder: 2px solid #D01517;\r\n\t\tbackground: #D01517;\r\n\t}\r\n\t\r\n\t.btn-word{\r\n\t\tborder: 2px solid #25589A;\r\n\t\tbackground: #25589A;\r\n\t}\r\n\t\r\n\t.btn-excel{\r\n\t\tborder: 2px solid #20744A;\r\n\t\tbackground: #20744A;\r\n\t}\r\n\t\r\n\t.d-none{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t@media (min-width:992px) and (max-width:1399px){\r\n\t\tp.download-text{\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:991px){\r\n\t\t.button-wrapper{\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t\t\r\n\t\t.new .downloadBtn{\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-left: 0;\r\n\t\t\tmargin-right: 0;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.download-bottom{\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t\t\r\n\t\t.download-top{\r\n\t\t\tdisplay: block;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.new .download-desc{\r\n\t\t\tmargin-bottom: 16px !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:576px){\r\n\t\t.download-top{\r\n\t\t\theight: 120px;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.querySelectorAll('.downloadBtn').forEach(button=>{\r\n\t\tconst formatData = button.getAttribute('data-format');\r\n\t\tconst btnText = button.querySelector('.download-text');\r\n\t\tconst linkData = button.getAttribute('data-link');\r\n\t\tconst iconUnduh = button.querySelector('.icon-unduh');\r\n\t\tconst popupContent = button.getAttribute('popup-content');\r\n\t\t\r\n\t\tif(formatData == 'pdf'){\r\n\t\t\tbutton.classList.add('btn-pdf'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download PDF\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/teenyicons_pdf-solid.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'word'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Word\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/file-icons_microsoft-word.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'excel'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Excel\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/vscode-icons_file-type-excel2.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'docs'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Docs\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googledocs.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'sheet'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Sheet\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googlesheets.webp')\"\r\n\t\t}\r\n\t\t\r\n\t\tif(linkData == ''){\r\n\t\t\tbutton.classList.add('d-none');\r\n\t\t}\r\n\t})\r\n<\/script>\n<h3>6. Quarterly BAS variance template<\/h3>\n<p data-start=\"1267\" data-end=\"1515\">Built for Australian BAS reporting, this template compares budgeted and actual GST, PAYG withholding, and FBT obligations for the quarter. It also includes input tax credits, fuel tax credits, and employee withholding calculations where applicable.<\/p>\n<p data-start=\"1517\" data-end=\"1634\">An ATO compliance checklist is included to help businesses review lodgement requirements before submission deadlines.<\/p>\n<p><!-- shortcode CTA download new -->\r\n\r\n<div class=\"download-wrapper new\">\r\n\t<p class=\"download-desc\">Quarterly BAS variance Template<\/p>\r\n\t\r\n\t<div class=\"download-top\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-16_155122385.webp\">\r\n\t<\/div>\r\n\t\r\n\t<div class=\"button-wrapper\">\r\n\t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"template\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Quarterly-BAS-Variance-Report-1.docx\"\r\n\t\t\tdata-format=\"docs\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Now<\/p>\r\n\t\t<\/button>\r\n\t\t\r\n  \t\t\r\n  \t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"template\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Quarterly-BAS-Variance-Report-1.pdf\"\r\n\t\t\tdata-format=\"pdf\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Now<\/p>\r\n\t\t<\/button>\r\n\t\t\t<\/div>\r\n\t\r\n\t\t<div class=\"download-bottom\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-16_155122385.webp\" alt=\"ALT IMAGE showpreview=true\">\r\n\t<\/div>\r\n\t<\/div>\r\n\r\n\r\n<style>\r\n\t.button-wrapper{\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new p.download-text{\r\n\t\tmargin-bottom: 0;\r\n\t\tcolor: #9C171E;\r\n\t}\r\n\t\r\n\t.color-me-white{\r\n\t\tcolor: #FFF !important;\r\n\t}\r\n\t.download-bottom, .download-top{\r\n\t\tmargin-top: 32px;\r\n\t\theight: 250px;\r\n\t\toverflow: hidden;\r\n\t\tborder-radius: 8px 8px 0 0;\r\n\t}\r\n\t\r\n\t.download-top{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t.download-img{\r\n\t\twidth: 100%;\r\n\/* \t\tfilter: blur(1px); *\/\r\n\t}\r\n\r\n\t.opacity-ef{\r\n\t\tposition: absolute;\r\n\t\tdisplay: block;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\tbottom: 0;\r\n\t\tbackground-image: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 35%, #FFF 88%);\r\n\t\tbackdrop-filter: blur(1px);\r\n\t\tz-index: 1;\r\n\t\twidth: 100%;\r\n\t}\r\n\t\r\n\t.download-wrapper.new{\r\n\t\tbackground: unset;\r\n\t\tpadding: 40px 16px;\r\n\t\tborder-radius: unset;\r\n\t\tborder-bottom: 2px solid #D9D9D9;\r\n\t\tborder-top: 2px solid #D9D9D9;\r\n\t}\r\n\t\r\n\t.icon-unduh{\r\n\t\tbackground-image: url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/11\/icon-unduh.webp');\r\n\t\tbackground-size: cover;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-position: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn{\r\n\t\twidth: 200px;\r\n\t\tpadding: 10px 14px;\r\n\t\tmargin-right: 16px;\r\n\t\tcolor: #FFF !important;\r\n\t\tbox-shadow: 5px 6px 16px 0px rgba(0, 0, 0, 0.25);\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn:last-child{\r\n\t\tmargin-right: 0;\r\n\t}\r\n\t\r\n\t.new .download-desc{\r\n\t\tcolor: #282828 !important;\r\n\t\ttext-align: center;\r\n\t\tfont-size: 27px !important;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 700;\r\n\t\tline-height: 28px;\r\n\t\tmargin-bottom: 24px !important;\r\n\t}\r\n\t\r\n\t.btn-pdf{\r\n\t\tborder: 2px solid #D01517;\r\n\t\tbackground: #D01517;\r\n\t}\r\n\t\r\n\t.btn-word{\r\n\t\tborder: 2px solid #25589A;\r\n\t\tbackground: #25589A;\r\n\t}\r\n\t\r\n\t.btn-excel{\r\n\t\tborder: 2px solid #20744A;\r\n\t\tbackground: #20744A;\r\n\t}\r\n\t\r\n\t.d-none{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t@media (min-width:992px) and (max-width:1399px){\r\n\t\tp.download-text{\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:991px){\r\n\t\t.button-wrapper{\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t\t\r\n\t\t.new .downloadBtn{\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-left: 0;\r\n\t\t\tmargin-right: 0;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.download-bottom{\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t\t\r\n\t\t.download-top{\r\n\t\t\tdisplay: block;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.new .download-desc{\r\n\t\t\tmargin-bottom: 16px !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:576px){\r\n\t\t.download-top{\r\n\t\t\theight: 120px;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.querySelectorAll('.downloadBtn').forEach(button=>{\r\n\t\tconst formatData = button.getAttribute('data-format');\r\n\t\tconst btnText = button.querySelector('.download-text');\r\n\t\tconst linkData = button.getAttribute('data-link');\r\n\t\tconst iconUnduh = button.querySelector('.icon-unduh');\r\n\t\tconst popupContent = button.getAttribute('popup-content');\r\n\t\t\r\n\t\tif(formatData == 'pdf'){\r\n\t\t\tbutton.classList.add('btn-pdf'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download PDF\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/teenyicons_pdf-solid.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'word'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Word\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/file-icons_microsoft-word.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'excel'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Excel\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/vscode-icons_file-type-excel2.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'docs'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Docs\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googledocs.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'sheet'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Sheet\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googlesheets.webp')\"\r\n\t\t}\r\n\t\t\r\n\t\tif(linkData == ''){\r\n\t\t\tbutton.classList.add('d-none');\r\n\t\t}\r\n\t})\r\n<\/script><!-- notionvc: 4b3d0e25-f514-4683-aca8-02011daf9dbd --><\/p>\n<h3>7. EOFY annual variance summary template<\/h3>\n<p data-start=\"1648\" data-end=\"1845\">This EOFY template reconciles annual revenue, expenses, EBITDA, and net profit against budget and prior year performance. It also includes quarterly comparisons and year-on-year financial tracking.<\/p>\n<p data-start=\"1847\" data-end=\"1978\">An AASB and ATO compliance checklist plus CFO, CEO, and board sign off sections are included for governance and reporting purposes.<\/p>\n<!-- shortcode CTA download new -->\r\n\r\n<div class=\"download-wrapper new\">\r\n\t<p class=\"download-desc\">EOFY annual variance summary template<\/p>\r\n\t\r\n\t<div class=\"download-top\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-16_161311268.webp\">\r\n\t<\/div>\r\n\t\r\n\t<div class=\"button-wrapper\">\r\n\t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"template\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/EOFY-Annual-Variance-Summary-\u2014-HashMicro-AU.docx\"\r\n\t\t\tdata-format=\"docs\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Now<\/p>\r\n\t\t<\/button>\r\n\t\t\r\n  \t\t\r\n  \t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"template\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/EOFY-Annual-Variance-Summary-\u2014-HashMicro-AU.pdf\"\r\n\t\t\tdata-format=\"pdf\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Now<\/p>\r\n\t\t<\/button>\r\n\t\t\t<\/div>\r\n\t\r\n\t\t<div class=\"download-bottom\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-16_161311268.webp\" alt=\"ALT IMAGE showpreview=true\">\r\n\t<\/div>\r\n\t<\/div>\r\n\r\n\r\n<style>\r\n\t.button-wrapper{\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new p.download-text{\r\n\t\tmargin-bottom: 0;\r\n\t\tcolor: #9C171E;\r\n\t}\r\n\t\r\n\t.color-me-white{\r\n\t\tcolor: #FFF !important;\r\n\t}\r\n\t.download-bottom, .download-top{\r\n\t\tmargin-top: 32px;\r\n\t\theight: 250px;\r\n\t\toverflow: hidden;\r\n\t\tborder-radius: 8px 8px 0 0;\r\n\t}\r\n\t\r\n\t.download-top{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t.download-img{\r\n\t\twidth: 100%;\r\n\/* \t\tfilter: blur(1px); *\/\r\n\t}\r\n\r\n\t.opacity-ef{\r\n\t\tposition: absolute;\r\n\t\tdisplay: block;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\tbottom: 0;\r\n\t\tbackground-image: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 35%, #FFF 88%);\r\n\t\tbackdrop-filter: blur(1px);\r\n\t\tz-index: 1;\r\n\t\twidth: 100%;\r\n\t}\r\n\t\r\n\t.download-wrapper.new{\r\n\t\tbackground: unset;\r\n\t\tpadding: 40px 16px;\r\n\t\tborder-radius: unset;\r\n\t\tborder-bottom: 2px solid #D9D9D9;\r\n\t\tborder-top: 2px solid #D9D9D9;\r\n\t}\r\n\t\r\n\t.icon-unduh{\r\n\t\tbackground-image: url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/11\/icon-unduh.webp');\r\n\t\tbackground-size: cover;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-position: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn{\r\n\t\twidth: 200px;\r\n\t\tpadding: 10px 14px;\r\n\t\tmargin-right: 16px;\r\n\t\tcolor: #FFF !important;\r\n\t\tbox-shadow: 5px 6px 16px 0px rgba(0, 0, 0, 0.25);\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn:last-child{\r\n\t\tmargin-right: 0;\r\n\t}\r\n\t\r\n\t.new .download-desc{\r\n\t\tcolor: #282828 !important;\r\n\t\ttext-align: center;\r\n\t\tfont-size: 27px !important;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 700;\r\n\t\tline-height: 28px;\r\n\t\tmargin-bottom: 24px !important;\r\n\t}\r\n\t\r\n\t.btn-pdf{\r\n\t\tborder: 2px solid #D01517;\r\n\t\tbackground: #D01517;\r\n\t}\r\n\t\r\n\t.btn-word{\r\n\t\tborder: 2px solid #25589A;\r\n\t\tbackground: #25589A;\r\n\t}\r\n\t\r\n\t.btn-excel{\r\n\t\tborder: 2px solid #20744A;\r\n\t\tbackground: #20744A;\r\n\t}\r\n\t\r\n\t.d-none{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t@media (min-width:992px) and (max-width:1399px){\r\n\t\tp.download-text{\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:991px){\r\n\t\t.button-wrapper{\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t\t\r\n\t\t.new .downloadBtn{\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-left: 0;\r\n\t\t\tmargin-right: 0;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.download-bottom{\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t\t\r\n\t\t.download-top{\r\n\t\t\tdisplay: block;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.new .download-desc{\r\n\t\t\tmargin-bottom: 16px !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:576px){\r\n\t\t.download-top{\r\n\t\t\theight: 120px;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.querySelectorAll('.downloadBtn').forEach(button=>{\r\n\t\tconst formatData = button.getAttribute('data-format');\r\n\t\tconst btnText = button.querySelector('.download-text');\r\n\t\tconst linkData = button.getAttribute('data-link');\r\n\t\tconst iconUnduh = button.querySelector('.icon-unduh');\r\n\t\tconst popupContent = button.getAttribute('popup-content');\r\n\t\t\r\n\t\tif(formatData == 'pdf'){\r\n\t\t\tbutton.classList.add('btn-pdf'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download PDF\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/teenyicons_pdf-solid.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'word'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Word\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/file-icons_microsoft-word.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'excel'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Excel\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/vscode-icons_file-type-excel2.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'docs'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Docs\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googledocs.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'sheet'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Sheet\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googlesheets.webp')\"\r\n\t\t}\r\n\t\t\r\n\t\tif(linkData == ''){\r\n\t\t\tbutton.classList.add('d-none');\r\n\t\t}\r\n\t})\r\n<\/script>\n<h3>8. Executive variance report template<\/h3>\n<p data-start=\"1992\" data-end=\"2243\">This board-ready template consolidates financial and operational KPIs into a single executive scorecard with traffic light ratings. It includes month to date and year-to-date comparisons across revenue, EBITDA, NPAT, cash, and working capital metrics.<\/p>\n<p data-start=\"2245\" data-end=\"2371\" data-is-last-node=\"\" data-is-only-node=\"\">The template also highlights major favourable and unfavourable variances with root cause commentary for board-level reporting.<\/p>\n<!-- shortcode CTA download new -->\r\n\r\n<div class=\"download-wrapper new\">\r\n\t<p class=\"download-desc\">Executive variance report template<\/p>\r\n\t\r\n\t<div class=\"download-top\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-16_161003596.webp\">\r\n\t<\/div>\r\n\t\r\n\t<div class=\"button-wrapper\">\r\n\t\t\t\t<button \r\n\t\t\tclass=\"downloadBtn\" \r\n\t\t\tpopup-content=\"template\" \r\n\t\t\tdata-link=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/executive-variance-template-1.xlsx\"\r\n\t\t\tdata-format=\"excel\">\r\n\t\t\t<div class=\"icon-unduh\"><\/div>\r\n\t\t\t<p class=\"download-text\" style=\"\">Download Now<\/p>\r\n\t\t<\/button>\r\n\t\t\r\n  \t\t\r\n  \t\t\t<\/div>\r\n\t\r\n\t\t<div class=\"download-bottom\" style=\"position: relative;\">\r\n\t\t<div class=\"opacity-ef\"><\/div>\r\n\t\t<img decoding=\"async\" class=\"download-img\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/image_2026-04-16_161003596.webp\" alt=\"\">\r\n\t<\/div>\r\n\t<\/div>\r\n\r\n\r\n<style>\r\n\t.button-wrapper{\r\n\t\tdisplay: flex;\r\n\t\talign-items: center;\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new p.download-text{\r\n\t\tmargin-bottom: 0;\r\n\t\tcolor: #9C171E;\r\n\t}\r\n\t\r\n\t.color-me-white{\r\n\t\tcolor: #FFF !important;\r\n\t}\r\n\t.download-bottom, .download-top{\r\n\t\tmargin-top: 32px;\r\n\t\theight: 250px;\r\n\t\toverflow: hidden;\r\n\t\tborder-radius: 8px 8px 0 0;\r\n\t}\r\n\t\r\n\t.download-top{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t.download-img{\r\n\t\twidth: 100%;\r\n\/* \t\tfilter: blur(1px); *\/\r\n\t}\r\n\r\n\t.opacity-ef{\r\n\t\tposition: absolute;\r\n\t\tdisplay: block;\r\n\t\ttop: 0;\r\n\t\tleft: 0;\r\n\t\tbottom: 0;\r\n\t\tbackground-image: linear-gradient(180deg, rgba(255, 255, 255, 0.00) 35%, #FFF 88%);\r\n\t\tbackdrop-filter: blur(1px);\r\n\t\tz-index: 1;\r\n\t\twidth: 100%;\r\n\t}\r\n\t\r\n\t.download-wrapper.new{\r\n\t\tbackground: unset;\r\n\t\tpadding: 40px 16px;\r\n\t\tborder-radius: unset;\r\n\t\tborder-bottom: 2px solid #D9D9D9;\r\n\t\tborder-top: 2px solid #D9D9D9;\r\n\t}\r\n\t\r\n\t.icon-unduh{\r\n\t\tbackground-image: url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/11\/icon-unduh.webp');\r\n\t\tbackground-size: cover;\r\n\t\tbackground-repeat: no-repeat;\r\n\t\tbackground-position: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn{\r\n\t\twidth: 200px;\r\n\t\tpadding: 10px 14px;\r\n\t\tmargin-right: 16px;\r\n\t\tcolor: #FFF !important;\r\n\t\tbox-shadow: 5px 6px 16px 0px rgba(0, 0, 0, 0.25);\r\n\t\tjustify-content: center;\r\n\t}\r\n\t\r\n\t.new .downloadBtn:last-child{\r\n\t\tmargin-right: 0;\r\n\t}\r\n\t\r\n\t.new .download-desc{\r\n\t\tcolor: #282828 !important;\r\n\t\ttext-align: center;\r\n\t\tfont-size: 27px !important;\r\n\t\tfont-style: normal;\r\n\t\tfont-weight: 700;\r\n\t\tline-height: 28px;\r\n\t\tmargin-bottom: 24px !important;\r\n\t}\r\n\t\r\n\t.btn-pdf{\r\n\t\tborder: 2px solid #D01517;\r\n\t\tbackground: #D01517;\r\n\t}\r\n\t\r\n\t.btn-word{\r\n\t\tborder: 2px solid #25589A;\r\n\t\tbackground: #25589A;\r\n\t}\r\n\t\r\n\t.btn-excel{\r\n\t\tborder: 2px solid #20744A;\r\n\t\tbackground: #20744A;\r\n\t}\r\n\t\r\n\t.d-none{\r\n\t\tdisplay: none;\r\n\t}\r\n\t\r\n\t@media (min-width:992px) and (max-width:1399px){\r\n\t\tp.download-text{\r\n\t\t\tfont-size: 14px;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:991px){\r\n\t\t.button-wrapper{\r\n\t\t\tdisplay: block;\r\n\t\t}\r\n\t\t\r\n\t\t.new .downloadBtn{\r\n\t\t\twidth: 100%;\r\n\t\t\tmargin-left: 0;\r\n\t\t\tmargin-right: 0;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.download-bottom{\r\n\t\t\tdisplay: none;\r\n\t\t}\r\n\t\t\r\n\t\t.download-top{\r\n\t\t\tdisplay: block;\r\n\t\t\tmargin-bottom: 16px;\r\n\t\t}\r\n\t\t\r\n\t\t.new .download-desc{\r\n\t\t\tmargin-bottom: 16px !important;\r\n\t\t}\r\n\t}\r\n\t\r\n\t@media (max-width:576px){\r\n\t\t.download-top{\r\n\t\t\theight: 120px;\r\n\t\t}\r\n\t}\r\n<\/style>\r\n\r\n<script>\r\n\tdocument.querySelectorAll('.downloadBtn').forEach(button=>{\r\n\t\tconst formatData = button.getAttribute('data-format');\r\n\t\tconst btnText = button.querySelector('.download-text');\r\n\t\tconst linkData = button.getAttribute('data-link');\r\n\t\tconst iconUnduh = button.querySelector('.icon-unduh');\r\n\t\tconst popupContent = button.getAttribute('popup-content');\r\n\t\t\r\n\t\tif(formatData == 'pdf'){\r\n\t\t\tbutton.classList.add('btn-pdf'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download PDF\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/teenyicons_pdf-solid.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'word'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Word\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/file-icons_microsoft-word.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'excel'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Excel\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/vscode-icons_file-type-excel2.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'docs'){\r\n\t\t\tbutton.classList.add('btn-word'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Docs\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googledocs.webp')\"\r\n\t\t}\r\n\t\tif(formatData == 'sheet'){\r\n\t\t\tbutton.classList.add('btn-excel'); \r\n\t\t\tbtnText.classList.add('color-me-white');\r\n\t\t\tbtnText.innerHTML = \"Download Sheet\";\r\n\t\t\ticonUnduh.style.backgroundImage = \"url('https:\/\/www.hashmicro.com\/id\/blog\/wp-content\/uploads\/2024\/12\/simple-icons_googlesheets.webp')\"\r\n\t\t}\r\n\t\t\r\n\t\tif(linkData == ''){\r\n\t\t\tbutton.classList.add('d-none');\r\n\t\t}\r\n\t})\r\n<\/script>\n<h2><strong style=\"color: #111111; font-family: Roboto, sans-serif; font-size: 27px;\">Industry-Specific Use Cases for Variance Reporting<\/strong><\/h2>\n<div data-test-render-count=\"1\">\n<div class=\"group\">\n<div class=\"contents\">\n<div class=\"group relative relative pb-3\" data-is-streaming=\"false\">\n<div class=\"font-claude-response relative leading-[1.65rem] [&amp;_pre&gt;div]:bg-bg-000\/50 [&amp;_pre&gt;div]:border-0.5 [&amp;_pre&gt;div]:border-border-400 [&amp;_.ignore-pre-bg&gt;div]:bg-transparent [&amp;_.standard-markdown_:is(p,blockquote,h1,h2,h3,h4,h5,h6)]:pl-2 [&amp;_.standard-markdown_:is(p,blockquote,ul,ol,h1,h2,h3,h4,h5,h6)]:pr-8 [&amp;_.progressive-markdown_:is(p,blockquote,h1,h2,h3,h4,h5,h6)]:pl-2 [&amp;_.progressive-markdown_:is(p,blockquote,ul,ol,h1,h2,h3,h4,h5,h6)]:pr-8\">\n<div class=\"standard-markdown grid-cols-1 grid [&amp;_&gt;_*]:min-w-0 gap-3 standard-markdown\">\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Variance reporting principles apply across industries, but the financial metrics and operational drivers being monitored often differ depending on business models and operational priorities.<\/p>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">1. Manufacturing and production<\/h3>\n<div>\n<div class=\"standard-markdown grid-cols-1 grid [&amp;_&gt;_*]:min-w-0 gap-3\">\n<p data-start=\"244\" data-end=\"478\">Manufacturing businesses use variance reports to monitor raw material costs, labour efficiency, and production performance. These reports help identify supply chain cost changes, production inefficiencies, and operational bottlenecks.<\/p>\n<p data-start=\"480\" data-end=\"641\">Common metrics include material price variance, material usage variance, and labour efficiency variance to protect profitability and improve operational control.<\/p>\n<\/div>\n<\/div>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">2. Retail and e-commerce<\/h3>\n<p data-start=\"678\" data-end=\"963\">Retail and e-commerce businesses use variance reports to monitor sales performance, inventory movement, and marketing efficiency while supporting <a href=\"https:\/\/www.hashmicro.com\/au\/blog\/bas-compliance\/\">BAS compliance on variance report<\/a> processes. These reports help businesses manage thin margins and seasonal demand changes.<\/p>\n<p data-start=\"965\" data-end=\"1109\">Common areas tracked include sales volume variance, inventory shrinkage, pricing variance, and marketing spend versus return on ad spend (ROAS).<\/p>\n<h3>3. SaaS and technology<\/h3>\n<\/div>\n<div class=\"standard-markdown grid-cols-1 grid [&amp;_&gt;_*]:min-w-0 gap-3 standard-markdown\">\n<p data-start=\"1144\" data-end=\"1370\">SaaS and technology businesses use variance reports to monitor recurring revenue, customer acquisition costs, churn, and infrastructure spending. These reports help businesses maintain profitability and operational efficiency.<\/p>\n<p data-start=\"1372\" data-end=\"1499\">Common metrics include ARR variance, CAC variance, and cloud infrastructure cost variance across finance and operational teams.<\/p>\n<\/div>\n<div class=\"standard-markdown grid-cols-1 grid [&amp;_&gt;_*]:min-w-0 gap-3 standard-markdown\">\n<h3 class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">4. Healthcare and medical services<\/h3>\n<p data-start=\"1546\" data-end=\"1788\">Healthcare providers use variance reports to monitor staffing costs, patient volumes, medical supply expenses, and operational efficiency. These reports help administrators manage financial performance alongside service delivery requirements.<\/p>\n<p data-start=\"1790\" data-end=\"1934\" data-is-last-node=\"\" data-is-only-node=\"\">Common areas tracked include patient volume variance, medical supply cost variance, and staffing overtime variance across healthcare operations.<\/p>\n<h2 class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><strong>Implementation Guide for Variance Reporting<\/strong><\/h2>\n<p><img decoding=\"async\" class=\"aligncenter size-full wp-image-2609\" src=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/unnamed-15-scaled.webp\" alt=\"step-by-step-implementation-for-variance-reporting\" width=\"2560\" height=\"1429\" srcset=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/unnamed-15-scaled.webp 2560w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/unnamed-15-300x167.webp 300w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/unnamed-15-1024x572.webp 1024w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/unnamed-15-768x429.webp 768w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/unnamed-15-1536x857.webp 1536w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/unnamed-15-2048x1143.webp 2048w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/unnamed-15-753x420.webp 753w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/unnamed-15-150x84.webp 150w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/unnamed-15-696x388.webp 696w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/unnamed-15-1068x596.webp 1068w, https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/unnamed-15-1920x1072.webp 1920w\" sizes=\"(max-width: 2560px) 100vw, 2560px\" \/><\/p>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Moving from ad-hoc financial reviews to a structured process requires careful planning and cross-functional alignment. The following framework will help you get there.<\/p>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">1. Establish clear and realistic baselines<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Variance reports are only useful when budgets and forecasts reflect realistic operational conditions. Businesses should involve department heads, historical performance, and current business factors when setting financial baselines.<\/p>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">2. Define materiality thresholds<\/h3>\n<p data-start=\"533\" data-end=\"709\">Not every variance requires investigation. Setting materiality thresholds helps businesses focus only on deviations that materially impact financial or operational performance.<\/p>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">3. Standardise the reporting cadence and format<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Businesses should use consistent reporting schedules and standardised templates across departments. Reports should clearly display budget, actuals, dollar variance, and percentage variance for easier analysis.<\/p>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">4. Integrate financial systems for automation<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Manual data entry increases reporting delays and reconciliation risks. Integrating accounting and FP&amp;A systems helps businesses automate data flows and improve reporting accuracy.<\/p>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">5. Mandate qualitative commentary<\/h3>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Finance teams and department managers should provide explanations for significant variances, including root causes and corrective actions. This gives management clearer operational context behind the numbers.<\/p>\n<h2 class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><strong style=\"color: #111111; font-family: Roboto, sans-serif; font-size: 27px;\">Common Pitfalls to Avoid in Variance Analysis<\/strong><\/h2>\n<p class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\">Even experienced finance teams can fall into systemic errors. Awareness of these pitfalls is the first step toward keeping your reports accurate and valuable.<\/p>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">1. The &#8220;blame game&#8221; culture<\/h3>\n<p data-start=\"1708\" data-end=\"1891\">Variance reports should support operational improvement, not employee punishment. Using reports as a punitive tool may encourage inaccurate budgeting or overly conservative forecasts.<\/p>\n<h3 data-section-id=\"19xj5mq\" data-start=\"1893\" data-end=\"1929\">2. Ignoring favourable variances<\/h3>\n<p data-start=\"1931\" data-end=\"2106\">Favourable variances should still be reviewed because underspending or higher than expected results may indicate missed operational activities or inaccurate budget allocation.<\/p>\n<h3 class=\"text-text-100 mt-3 -mb-1 text-[1.125rem] font-bold\">3. Relying on static budgets in volatile markets<\/h3>\n<p data-start=\"2162\" data-end=\"2349\">Static annual budgets can become unreliable when market conditions change significantly. Rolling forecasts help businesses maintain more relevant financial benchmarks throughout the year.<\/p>\n<h3 data-section-id=\"rg88u5\" data-start=\"2351\" data-end=\"2386\">4. Lack of actionable follow-up<\/h3>\n<p data-start=\"2388\" data-end=\"2605\" data-is-last-node=\"\" data-is-only-node=\"\">Variance reporting becomes ineffective when businesses identify issues without assigning corrective actions or responsible owners. Follow-up processes are necessary to maintain accountability and financial discipline.<\/p>\n<div data-test-render-count=\"1\">\n<div class=\"group\">\n<div class=\"contents\">\n<div class=\"group relative relative pb-3\" data-is-streaming=\"false\">\n<div class=\"font-claude-response relative leading-[1.65rem] [&amp;_pre&gt;div]:bg-bg-000\/50 [&amp;_pre&gt;div]:border-0.5 [&amp;_pre&gt;div]:border-border-400 [&amp;_.ignore-pre-bg&gt;div]:bg-transparent [&amp;_.standard-markdown_:is(p,blockquote,h1,h2,h3,h4,h5,h6)]:pl-2 [&amp;_.standard-markdown_:is(p,blockquote,ul,ol,h1,h2,h3,h4,h5,h6)]:pr-8 [&amp;_.progressive-markdown_:is(p,blockquote,h1,h2,h3,h4,h5,h6)]:pl-2 [&amp;_.progressive-markdown_:is(p,blockquote,ul,ol,h1,h2,h3,h4,h5,h6)]:pr-8\">\n<div class=\"standard-markdown grid-cols-1 grid [&amp;_&gt;_*]:min-w-0 gap-3 standard-markdown\">\n<h1 data-section-id=\"1f98fqb\" data-start=\"0\" data-end=\"53\"><span role=\"text\"><strong data-start=\"2\" data-end=\"53\">Advanced Practices in Modern Variance Reporting<\/strong><\/span><\/h1>\n<p data-start=\"55\" data-end=\"180\">Modern variance reporting helps businesses improve forecasting accuracy and financial visibility beyond historical reporting.<\/p>\n<ul data-start=\"182\" data-end=\"700\" data-is-last-node=\"\" data-is-only-node=\"\">\n<li data-section-id=\"1hqq3r1\" data-start=\"182\" data-end=\"305\"><strong data-start=\"184\" data-end=\"218\">Shifting to rolling forecasts:<\/strong> Rolling forecasts replace static annual budgets with continuously updated projections.<\/li>\n<li data-section-id=\"10xgm4z\" data-start=\"307\" data-end=\"423\"><strong data-start=\"309\" data-end=\"344\">Driver-based variance analysis:<\/strong> Variances are broken down into drivers such as price, volume, and product mix.<\/li>\n<li data-section-id=\"ppprhm\" data-start=\"425\" data-end=\"548\"><strong data-start=\"427\" data-end=\"462\">Integrating non-financial KPIs:<\/strong> Financial reports are combined with operational KPIs for broader business visibility.<\/li>\n<li data-section-id=\"5r3x3q\" data-start=\"550\" data-end=\"700\" data-is-last-node=\"\"><strong data-start=\"552\" data-end=\"616\">Using accounting software to automate variance calculations:<\/strong> Integrated systems automate calculations, reporting workflows, and variance alerts.<\/li>\n<\/ul>\n<h2><strong>How Accounting Systems Simplify Variance Reporting Across Business Modules<\/strong><\/h2>\n<p>According to <a href=\"https:\/\/www.abs.gov.au\/statistics\/industry\/technology-and-innovation\/characteristics-australian-business\/latest-release#business-use-of-ict\" target=\"_blank\" rel=\"noopener\">ABS data<\/a>, only around 4% of Australian businesses currently use ERP systems, while most still rely on basic digital tools or spreadsheets. This gap explains why so many finance teams build variance reports manually each month, and why moving to an integrated ERP removes the largest source of reporting delay.<\/p>\n<ul>\n<li>Centralised financial data improves visibility across departments and reporting periods.<\/li>\n<li>Integrated systems connect sales, inventory, payroll, AR\/AP, and general ledger data within one platform.<\/li>\n<li>Finance teams can compare budget and actual figures using a single source of truth.<\/li>\n<li>Real-time general ledger integration reduces delays in month-end reporting.<\/li>\n<li>Automated workflows eliminate manual data entry and spreadsheet reconciliation.<\/li>\n<li>Materiality thresholds can automatically flag favourable and unfavourable variances for review.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<h2 class=\"font-claude-response-body break-words whitespace-normal leading-[1.7]\"><strong style=\"color: #111111; font-family: Roboto, sans-serif; font-size: 27px;\">Conclusion<\/strong><\/h2>\n<p data-start=\"19\" data-end=\"268\">Variance reports help businesses compare budgeted and actual financial results to improve spending control, financial visibility, and decision-making. Structured reporting also helps management identify operational issues earlier across departments.<\/p>\n<p data-start=\"270\" data-end=\"456\" data-is-last-node=\"\" data-is-only-node=\"\">Businesses looking to improve reporting accuracy and reduce manual financial processes can request a <a href=\"https:\/\/www.hashmicro.com\/au\/free-product-tour\/\">no-cost consultation<\/a> with us anytime to explore suitable accounting and ERP solutions.<\/p>\n<a href=\"https:\/\/www.hashmicro.com\/au\/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<h2 class=\"faqTitle\">Frequently Asked Question<\/h2>\r\n<style>\r\n\t#main-article p.faqTitle{\r\n\t\ttext-align: center;\r\n\t\tmargin-bottom: 0;\r\n\t\tmargin-top: 50px;\r\n\t\tfont-weight: bold;\r\n\t}\r\n\t\r\n\t.accordion-wrapper{\r\n\t\tbackground-color: white;\r\n\t\tborder: 1px solid #9c171e;\r\n\t\tborder-radius: 6px;\r\n\t\ttransition: 0.4s ease;\r\n\t\tmargin-bottom: 20px;\r\n\t\toverflow: hidden;\r\n\t}\r\n\t\r\n\t.header-faq{\r\n\t\tdisplay: flex;\r\n\t\tborder: none;\r\n\t\tborder-radius: 6px 6px 6px 6px;\r\n\t\tbackground: #FFF;\r\n\t\talign-items: center;\r\n\t\tpadding: 18px;\r\n\t\ttransition: 0.4s;\r\n\t\tcursor: pointer;\r\n\t\tjustify-content: space-between;\r\n\t}\r\n\t\r\n\t.header-faq p{\r\n\t\tmargin-bottom: 0;\r\n\t}\r\n\t\r\n\t.question {\r\n\t\tcolor: #3C3C3C;\r\n\t\twidth: 100%;\r\n\t\ttext-align: left;\r\n\t\tfont-size: 16px;\r\n\t\tline-height: 20px;\r\n\t \ttransition: 0.4s;\r\n\t\tborder: none;\r\n\t\tborder-radius: 6px 6px 6px 6px;\r\n\t\tbackground: #FFF;\r\n\t\tpadding: 0;\r\n\t\ttext-transform: uppercase;\r\n\t\tfont-weight: 700;\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: space-between;\r\n\t\talign-items: center;\r\n\t}\r\n\r\n\t.header-faq.active {\r\n\t  background-color: #FFF;\r\n\t}\r\n\t\r\n\tbutton.question{\r\n\t\tcolor: unset;\r\n\t\tbackground-color: unset;\r\n\t}\r\n\t\r\n\tbutton.question::after{\r\n\t\tcontent: \"<\";\r\n\t\twidth: 2.2rem;\r\n\t\theight: 2.2rem;\r\n\t\tdisplay: flex;\r\n\t\tjustify-content: center;\r\n\t\talign-items: center;\r\n\t\tborder-radius: 50%;\r\n\t\tcolor: #FFF;\r\n\t\tflex-shrink: 0;\r\n\t\tfloat: right;\r\n\t\ttransition: 0.4s;\r\n\t\topacity: 0.4;\r\n\t\tposition: relative;\r\n\t\ttransform: rotate(-90deg);\r\n\t\tbackground-color: #9c171e;\r\n\t\tfont-family: monospace;\r\n\t}\r\n\r\n\t.answer {\r\n\t  padding: 0 18px;\r\n\t  max-height: 0;\r\n\t  overflow: hidden;\r\n\t  background-color: white;\r\n\t  border-radius: 0 0 6px 6px;\r\n\t  transition: max-height 0.4s ease, opacity 0.4s ease;\r\n\t  opacity: 0;\r\n\t}\r\n\r\n\t.answer p{\r\n\t\tfont-size: 16px;\r\n\t\tfont-weight: 400;\r\n\t\tline-height: 28px;\r\n\t\ttext-align: left;\r\n\t\ttext-transform: none;\r\n\t\tcolor: #494949;\r\n\t}\r\n\t\r\n\t.accordion-wrapper.active{\r\n\t\tbox-shadow: 0px 0px 20px 0px #4034AB38;\r\n\t}\r\n\t\r\n\t.header-faq.active .accordion-icon .vLine{\r\n\t\ttransform: translateX(-50%) rotate(0deg);\r\n\t}\r\n\r\n\t.header-faq.active + .answer {\r\n\t  opacity: 1;\r\n\t}\r\n\t\r\n\t.header-faq.active button.question::after{\r\n\t\ttransform: rotate(90deg);\r\n\t\topacity: 1;\r\n\t}\r\n\t\r\n\t.header-faq:hover button.question::after{\r\n\t\topacity: 1;\r\n\t}\r\n\t\r\n\t.faq-h3-addition {\r\n\t\tmargin: 0 !important;\r\n\t\tpadding-right: 15px;\r\n\t\tmin-width: 0;\r\n\t}\r\n<\/style>\r\n\r\n    <div class=\"accordion-wrapper\">\r\n        <div class=\"header-faq\">\r\n            <button class=\"question\">Who is responsible for preparing variance reports?<\/button>\r\n        <\/div>\r\n        <div class=\"answer\">\r\n            <p><\/p>\r\n        <\/div>\r\n    <\/div>\r\n    <div class=\"accordion-wrapper\">\r\n        <div class=\"header-faq\">\r\n            <button class=\"question\">How frequently should variance reports be reviewed?<\/button>\r\n        <\/div>\r\n        <div class=\"answer\">\r\n            <p><\/p>\r\n        <\/div>\r\n    <\/div>\r\n    <div class=\"accordion-wrapper\">\r\n        <div class=\"header-faq\">\r\n            <button class=\"question\">What is the difference between variance reporting and variance analysis?<\/button>\r\n        <\/div>\r\n        <div class=\"answer\">\r\n            <p><\/p>\r\n        <\/div>\r\n    <\/div>\r\n    <div class=\"accordion-wrapper\">\r\n        <div class=\"header-faq\">\r\n            <button class=\"question\">Can small businesses benefit from variance reporting?<\/button>\r\n        <\/div>\r\n        <div class=\"answer\">\r\n            <p><\/p>\r\n        <\/div>\r\n    <\/div>\r\n    <div class=\"accordion-wrapper\">\r\n        <div class=\"header-faq\">\r\n            <button class=\"question\">What is the difference between a variance report and a budget report?<\/button>\r\n        <\/div>\r\n        <div class=\"answer\">\r\n            <p><\/p>\r\n        <\/div>\r\n    <\/div>\r\n    <div class=\"accordion-wrapper\">\r\n        <div class=\"header-faq\">\r\n            <button class=\"question\">What is an example of a variance report?<\/button>\r\n        <\/div>\r\n        <div class=\"answer\">\r\n            <p><\/p>\r\n        <\/div>\r\n    <\/div>\r\n\r\n<script>\r\n    function toggleAccordion() {\r\n        var acc = document.getElementsByClassName(\"header-faq\");\r\n        for (var i = 0; i < acc.length; i++) {\r\n            acc[i].addEventListener(\"click\", function() {\r\n                for (var j = 0; j < acc.length; j++) {\r\n                    if (acc[j] !== this && acc[j].classList.contains(\"active\")) {\r\n                        acc[j].classList.remove(\"active\");\r\n                        acc[j].closest('.accordion-wrapper').classList.remove('active');\r\n                        var panel = acc[j].nextElementSibling;\r\n                        panel.style.maxHeight = null;\r\n                    }\r\n                }\r\n\r\n                this.classList.toggle(\"active\");\r\n                var accordionWrapper = this.closest('.accordion-wrapper');\r\n                var panel = this.nextElementSibling;\r\n                if (this.classList.contains(\"active\")) {\r\n                    panel.style.maxHeight = panel.scrollHeight + \"px\";\r\n                    accordionWrapper.classList.add('active');\r\n                } else {\r\n                    panel.style.maxHeight = null;\r\n                    accordionWrapper.classList.remove('active');\r\n                }\r\n            });\r\n        }\r\n    }\r\n\r\n    document.addEventListener('DOMContentLoaded', toggleAccordion);\r\n<\/script>\r\n\r\n<!-- <script>\r\n    document.addEventListener('DOMContentLoaded', function() {\r\n        document.querySelectorAll('.header-faq .question').forEach(btn => {\r\n            const text = btn.textContent.trim();\r\n            const h3 = document.createElement('h3');\r\n            h3.textContent = text;\r\n            h3.className = \"faq-h3-addition\";\r\n            btn.textContent = '';\r\n            btn.appendChild(h3);\r\n        });\r\n    });\r\n<\/script> -->\n<p><script type=\"application\/ld+json\">\n{\n  \"@context\": \"https:\/\/schema.org\",\n  \"@type\": \"FAQPage\",\n  \"mainEntity\": [\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Who is responsible for preparing variance reports?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Variance reports are typically prepared by the finance or accounting team, often led by a financial controller or FP&A analyst. Department heads are usually responsible for providing explanatory commentary on variances within their area.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"How frequently should variance reports be reviewed?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Most businesses prepare variance reports monthly, aligned with financial close. Quarterly reviews support BAS submissions, while an annual EOFY variance report supports strategic planning and external audits.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the difference between variance reporting and variance analysis?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Variance reporting is the process of documenting budget-to-actual differences in a structured format. Variance analysis goes deeper by examining the root causes and operational drivers behind those differences.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"Can small businesses benefit from variance reporting?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"Yes. Even a simple monthly report comparing budgeted and actual figures helps small businesses identify overspending early, improve cash flow management, and make more informed decisions as they grow.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is the difference between a variance report and a budget report?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"A variance report compares budgeted or forecasted figures against actual results to identify discrepancies. A budget report mainly focuses on planned financial allocations and expected spending.\"\n      }\n    },\n    {\n      \"@type\": \"Question\",\n      \"name\": \"What is an example of a variance report?\",\n      \"acceptedAnswer\": {\n        \"@type\": \"Answer\",\n        \"text\": \"An example of a variance report is a monthly budget variance report comparing projected revenue, expenses, and profit against actual financial performance for the period.\"\n      }\n    }\n  ]\n}\n<span data-mce-type=\"bookmark\" style=\"display: inline-block; width: 0px; overflow: hidden; line-height: 0;\" class=\"mce_SELRES_start\">\ufeff<\/span>\n<\/script><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>A variance report is a financial document that compares budgeted or forecasted figures against actual results for a given period. It identifies discrepancies so management can respond quickly and accurately. Businesses use variance reports to monitor performance, manage cash flow, and improve forecasting accuracy. The report translates raw financial data into clear, actionable intelligence. This [&hellip;]<\/p>\n","protected":false},"author":52,"featured_media":2603,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"tdm_status":"","tdm_grid_status":"","footnotes":""},"categories":[23],"tags":[183],"class_list":{"0":"post-2595","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-accounting","8":"tag-variance-report"},"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.6 (Yoast SEO v27.5) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Variance Report: Definition, Types, Implementation, and Best Practices - HashMicro Australia<\/title>\n<meta name=\"description\" content=\"Learn what a variance report is, the key types, formulas, and how to implement one to support smarter financial decisions for your business.\" \/>\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\/au\/blog\/variance-report\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Variance Report: Definition, Types, Implementation, and Best Practices\" \/>\n<meta property=\"og:description\" content=\"Learn what a variance report is, the key types, formulas, and how to implement one to support smarter financial decisions for your business.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/\" \/>\n<meta property=\"og:site_name\" content=\"HashMicro Australia\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-21T07:22:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-06-02T06:48:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Untitled-design-63.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=\"Maribel Knox\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Maribel Knox\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/variance-report\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/variance-report\\\/\"},\"author\":{\"name\":\"Maribel Knox\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#\\\/schema\\\/person\\\/516af0773136b4657d464475a2ab3efc\"},\"headline\":\"Variance Report: Definition, Types, Implementation, and Best Practices\",\"datePublished\":\"2026-04-21T07:22:39+00:00\",\"dateModified\":\"2026-06-02T06:48:14+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/variance-report\\\/\"},\"wordCount\":3722,\"commentCount\":0,\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/variance-report\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Untitled-design-63.webp\",\"keywords\":[\"Variance report\"],\"articleSection\":[\"Accounting\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/variance-report\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/variance-report\\\/\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/variance-report\\\/\",\"name\":\"Variance Report: Definition, Types, Implementation, and Best Practices - HashMicro Australia\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/variance-report\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/variance-report\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Untitled-design-63.webp\",\"datePublished\":\"2026-04-21T07:22:39+00:00\",\"dateModified\":\"2026-06-02T06:48:14+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#\\\/schema\\\/person\\\/516af0773136b4657d464475a2ab3efc\"},\"description\":\"Learn what a variance report is, the key types, formulas, and how to implement one to support smarter financial decisions for your business.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/variance-report\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/variance-report\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/variance-report\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Untitled-design-63.webp\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/04\\\/Untitled-design-63.webp\",\"width\":800,\"height\":400,\"caption\":\"variance-report-hashmicro\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/variance-report\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Variance Report: Definition, Types, Implementation, and Best Practices\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/\",\"name\":\"HashMicro Australia\",\"description\":\"Business Management Blog\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/#\\\/schema\\\/person\\\/516af0773136b4657d464475a2ab3efc\",\"name\":\"Maribel Knox\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/cropped-Maribel-Knox-WP-96x96.webp\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/cropped-Maribel-Knox-WP-96x96.webp\",\"contentUrl\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/wp-content\\\/uploads\\\/2026\\\/02\\\/cropped-Maribel-Knox-WP-96x96.webp\",\"caption\":\"Maribel Knox\"},\"description\":\"I understand how complicated invoicing becomes at an enterprise level. Through my work, I\u2019ve seen that invoicing isn\u2019t just \u201csending bills\u201d; it\u2019s a control point that affects revenue accuracy, collections, and audit readiness. I write accounting and invoicing articles to help businesses build cleaner financial workflows.\",\"url\":\"https:\\\/\\\/www.hashmicro.com\\\/au\\\/blog\\\/author\\\/maribel-knox\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Variance Report: Definition, Types, Implementation, and Best Practices - HashMicro Australia","description":"Learn what a variance report is, the key types, formulas, and how to implement one to support smarter financial decisions for your business.","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\/au\/blog\/variance-report\/","og_locale":"en_US","og_type":"article","og_title":"Variance Report: Definition, Types, Implementation, and Best Practices","og_description":"Learn what a variance report is, the key types, formulas, and how to implement one to support smarter financial decisions for your business.","og_url":"https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/","og_site_name":"HashMicro Australia","article_published_time":"2026-04-21T07:22:39+00:00","article_modified_time":"2026-06-02T06:48:14+00:00","og_image":[{"width":800,"height":400,"url":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Untitled-design-63.webp","type":"image\/webp"}],"author":"Maribel Knox","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Maribel Knox","Est. reading time":"16 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/#article","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/"},"author":{"name":"Maribel Knox","@id":"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/516af0773136b4657d464475a2ab3efc"},"headline":"Variance Report: Definition, Types, Implementation, and Best Practices","datePublished":"2026-04-21T07:22:39+00:00","dateModified":"2026-06-02T06:48:14+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/"},"wordCount":3722,"commentCount":0,"image":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Untitled-design-63.webp","keywords":["Variance report"],"articleSection":["Accounting"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/","url":"https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/","name":"Variance Report: Definition, Types, Implementation, and Best Practices - HashMicro Australia","isPartOf":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/#primaryimage"},"image":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/#primaryimage"},"thumbnailUrl":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Untitled-design-63.webp","datePublished":"2026-04-21T07:22:39+00:00","dateModified":"2026-06-02T06:48:14+00:00","author":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/516af0773136b4657d464475a2ab3efc"},"description":"Learn what a variance report is, the key types, formulas, and how to implement one to support smarter financial decisions for your business.","breadcrumb":{"@id":"https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/#primaryimage","url":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Untitled-design-63.webp","contentUrl":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/04\/Untitled-design-63.webp","width":800,"height":400,"caption":"variance-report-hashmicro"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hashmicro.com\/au\/blog\/variance-report\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hashmicro.com\/au\/blog\/"},{"@type":"ListItem","position":2,"name":"Variance Report: Definition, Types, Implementation, and Best Practices"}]},{"@type":"WebSite","@id":"https:\/\/www.hashmicro.com\/au\/blog\/#website","url":"https:\/\/www.hashmicro.com\/au\/blog\/","name":"HashMicro Australia","description":"Business Management Blog","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hashmicro.com\/au\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.hashmicro.com\/au\/blog\/#\/schema\/person\/516af0773136b4657d464475a2ab3efc","name":"Maribel Knox","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/02\/cropped-Maribel-Knox-WP-96x96.webp","url":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/02\/cropped-Maribel-Knox-WP-96x96.webp","contentUrl":"https:\/\/www.hashmicro.com\/au\/blog\/wp-content\/uploads\/2026\/02\/cropped-Maribel-Knox-WP-96x96.webp","caption":"Maribel Knox"},"description":"I understand how complicated invoicing becomes at an enterprise level. Through my work, I\u2019ve seen that invoicing isn\u2019t just \u201csending bills\u201d; it\u2019s a control point that affects revenue accuracy, collections, and audit readiness. I write accounting and invoicing articles to help businesses build cleaner financial workflows.","url":"https:\/\/www.hashmicro.com\/au\/blog\/author\/maribel-knox\/"}]}},"_links":{"self":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts\/2595","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/users\/52"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/comments?post=2595"}],"version-history":[{"count":18,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts\/2595\/revisions"}],"predecessor-version":[{"id":5005,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/posts\/2595\/revisions\/5005"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/media\/2603"}],"wp:attachment":[{"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/media?parent=2595"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/categories?post=2595"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hashmicro.com\/au\/blog\/wp-json\/wp\/v2\/tags?post=2595"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}