{"id":24686,"date":"2026-10-08T12:20:21","date_gmt":"2026-10-08T12:20:21","guid":{"rendered":"https:\/\/maspartner.com\/?post_type=publications&#038;p=24686"},"modified":"2026-10-09T07:23:51","modified_gmt":"2026-10-09T07:23:51","slug":"appfolio-bank-reconciliation","status":"publish","type":"publications","link":"https:\/\/maspartner.com\/en-us\/publications\/appfolio-bank-reconciliation\/","title":{"rendered":"How to Reconcile Bank Accounts in AppFolio (Without the End-of-Month Panic)"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"24686\" class=\"elementor elementor-24686\">\n\t\t\t\t<div class=\"e-con-with-custom-width elementor-element elementor-element-075981e e-con-full sc_inner_width_1_1 e-flex sc_layouts_column_icons_position_left e-con e-parent\" data-id=\"075981e\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-d0a8121 sc_fly_static elementor-widget elementor-widget-html\" data-id=\"d0a8121\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!-- =========================================================\r\nMASPARTNER PUBLICATION HERO\r\nReplace the publication details for each new publication.\r\n========================================================= -->\r\n\r\n<section class=\"mas-publication-standalone-hero\">\r\n\r\n  <style>\r\n    .mas-publication-standalone-hero {\r\n      --mas-gold: #fabc17;\r\n      --mas-black: #000000;\r\n      --mas-white: #ffffff;\r\n      --mas-content-width: 1240px;\r\n      --mas-desktop-padding: 70px;\r\n\r\n      position: relative;\r\n      left: 50%;\r\n      width: 100vw;\r\n      max-width: 100vw;\r\n      margin-left: -50vw;\r\n      margin-right: -50vw;\r\n\r\n      background: var(--mas-black);\r\n      color: var(--mas-white);\r\n      border-top: 6px solid var(--mas-gold);\r\n\r\n      font-family: inherit;\r\n      box-sizing: border-box;\r\n      overflow: hidden;\r\n      z-index: 1;\r\n    }\r\n\r\n    .mas-publication-standalone-hero *,\r\n    .mas-publication-standalone-hero *::before,\r\n    .mas-publication-standalone-hero *::after {\r\n      box-sizing: border-box;\r\n    }\r\n\r\n    .mas-publication-standalone-hero-inner {\r\n      width: 100%;\r\n      max-width: var(--mas-content-width);\r\n      margin: 0 auto;\r\n      padding: 60px 70px 65px 70px;\r\n    }\r\n\r\n    .mas-publication-standalone-hero h1 {\r\n      width: 100%;\r\n      max-width: 1100px;\r\n      margin: 0 0 22px;\r\n      padding: 0;\r\n\r\n      color: var(--mas-white);\r\n      font-size: clamp(38px, 5vw, 62px);\r\n      font-weight: 800;\r\n      line-height: 1.06;\r\n      letter-spacing: -0.5px;\r\n    }\r\n\r\n    .mas-publication-standalone-subtitle {\r\n      width: 100%;\r\n      max-width: 1000px;\r\n      margin: 0 0 30px;\r\n      padding: 0;\r\n\r\n      color: var(--mas-gold);\r\n      font-size: clamp(19px, 2.4vw, 28px);\r\n      font-weight: 700;\r\n      line-height: 1.35;\r\n    }\r\n\r\n    .mas-publication-standalone-rule {\r\n      width: 100%;\r\n      max-width: 880px;\r\n      height: 4px;\r\n      margin: 0 0 34px;\r\n\r\n      background: var(--mas-gold);\r\n      border-radius: 2px;\r\n    }\r\n\r\n    \/* ---------- META ROW WITH SLASH DIVIDERS ---------- *\/\r\n    .mas-publication-standalone-meta {\r\n      display: flex;\r\n      align-items: flex-start;\r\n      gap: 0;\r\n      width: 100%;\r\n      max-width: 1080px;\r\n      flex-wrap: wrap;\r\n    }\r\n\r\n    .mas-publication-standalone-meta-item {\r\n      flex: 1 1 0;\r\n      min-width: 0;\r\n    }\r\n\r\n    .mas-publication-standalone-meta-divider {\r\n      flex: 0 0 1px;\r\n      align-self: stretch;\r\n      background: rgba(255,255,255,0.18);\r\n      margin: 0 30px;\r\n    }\r\n\r\n    .mas-publication-standalone-label {\r\n      margin: 0 0 6px;\r\n      padding: 0;\r\n\r\n      color: var(--mas-gold);\r\n      font-size: 12px;\r\n      font-weight: 800;\r\n      line-height: 1.4;\r\n      letter-spacing: 1.5px;\r\n      text-transform: uppercase;\r\n    }\r\n\r\n    .mas-publication-standalone-value {\r\n      margin: 0;\r\n      padding: 0;\r\n\r\n      color: #e0e0e3;\r\n      font-size: 15px;\r\n      line-height: 1.55;\r\n    }\r\n\r\n    .mas-publication-standalone-credit-name {\r\n      margin: 0 0 4px;\r\n      padding: 0;\r\n\r\n      color: var(--mas-white);\r\n      font-size: 22px;\r\n      font-weight: 800;\r\n      line-height: 1.3;\r\n    }\r\n\r\n    .mas-publication-standalone-credit-name a,\r\n    .mas-publication-standalone-credit-name a:link,\r\n    .mas-publication-standalone-credit-name a:visited {\r\n       color: var(--mas-white) !important;\r\n       text-decoration: none;\r\n       border: none;\r\n       outline: none;\r\n       transition: none;\r\n       position: relative;\r\n       z-index: 10;\r\n       pointer-events: auto;\r\n       cursor: pointer;\r\n    }\r\n\r\n    .mas-publication-standalone-credit-name a:hover,\r\n    .mas-publication-standalone-credit-name a:focus,\r\n    .mas-publication-standalone-credit-name a:active,\r\n    .mas-publication-standalone-credit-name a:visited:hover,\r\n    .mas-publication-standalone-credit-name a:visited:focus,\r\n    .mas-publication-standalone-credit-name a:visited:active {\r\n       color: var(--mas-gold) !important;\r\n       text-decoration: none;\r\n       border: none;\r\n       outline: none;\r\n    }\r\n\r\n    .mas-publication-standalone-credit-role {\r\n      margin: 0;\r\n      padding: 0;\r\n\r\n      color: #d0d0d4;\r\n      font-size: 15px;\r\n      line-height: 1.5;\r\n    }\r\n\r\n    \/* Inline research-by line: Name | Title | Email *\/\r\n    .mas-publication-standalone-credit-inline {\r\n      margin: 0;\r\n      padding: 0;\r\n      color: #d0d0d4;\r\n      font-size: 15px;\r\n      line-height: 1.55;\r\n      white-space: nowrap;\r\n    }\r\n\r\n    .mas-publication-inline-sep {\r\n      margin: 0 8px;\r\n      color: rgba(255,255,255,0.25);\r\n    }\r\n\r\n    .mas-publication-inline-link,\r\n    .mas-publication-inline-link:link,\r\n    .mas-publication-inline-link:visited {\r\n      color: #d0d0d4 !important;\r\n      text-decoration: none !important;\r\n      border: none;\r\n      outline: none;\r\n      position: relative;\r\n      z-index: 10;\r\n      pointer-events: auto;\r\n      cursor: pointer;\r\n    }\r\n\r\n    .mas-publication-inline-link:hover,\r\n    .mas-publication-inline-link:focus,\r\n    .mas-publication-inline-link:active,\r\n    .mas-publication-inline-link:visited:hover,\r\n    .mas-publication-inline-link:visited:focus,\r\n    .mas-publication-inline-link:visited:active {\r\n      color: var(--mas-gold) !important;\r\n      text-decoration: none !important;\r\n    }\r\n\r\n    \/* Tablet *\/\r\n    @media (max-width: 1024px) {\r\n      .mas-publication-standalone-hero {\r\n        --mas-desktop-padding: 30px;\r\n      }\r\n\r\n      .mas-publication-standalone-meta-divider {\r\n        margin: 0 18px;\r\n      }\r\n    }\r\n\r\n    \/* Mobile *\/\r\n    @media (max-width: 767px) {\r\n      .mas-publication-standalone-hero {\r\n        --mas-desktop-padding: 20px;\r\n      }\r\n\r\n      .mas-publication-standalone-hero-inner {\r\n        padding-top: 36px;\r\n        padding-bottom: 42px;\r\n      }\r\n\r\n      .mas-publication-standalone-hero h1 {\r\n        margin-bottom: 18px;\r\n        font-size: clamp(34px, 10vw, 42px);\r\n        line-height: 1.08;\r\n        letter-spacing: -0.3px;\r\n      }\r\n\r\n      .mas-publication-standalone-subtitle {\r\n        margin-bottom: 26px;\r\n        font-size: 20px;\r\n        line-height: 1.4;\r\n      }\r\n\r\n      .mas-publication-standalone-rule {\r\n        margin-bottom: 28px;\r\n      }\r\n\r\n      .mas-publication-standalone-meta {\r\n        flex-direction: column;\r\n        gap: 0;\r\n      }\r\n\r\n      .mas-publication-standalone-meta-item {\r\n        padding: 16px 0;\r\n        border-bottom: 1px solid rgba(255,255,255,0.12);\r\n      }\r\n\r\n      .mas-publication-standalone-meta-item:last-child {\r\n        border-bottom: none;\r\n      }\r\n\r\n      .mas-publication-standalone-meta-divider {\r\n        display: none;\r\n      }\r\n\r\n      .mas-publication-standalone-credit-name {\r\n        font-size: 20px;\r\n      }\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"mas-publication-standalone-hero-inner\">\r\n\r\n    <!-- MAIN TITLE -->\r\n    <h1>\r\n      How to Reconcile Bank Accounts in AppFolio\r\n    <\/h1>\r\n\r\n    <!-- SUBTITLE \/ DESCRIPTION -->\r\n    <p class=\"mas-publication-standalone-subtitle\">\r\n     A Step-by-Step Walkthrough for Catching Discrepancies Before They Become Owner Statement Problems\r\n    <\/p>\r\n\r\n    <!-- YELLOW DIVIDER -->\r\n    <div class=\"mas-publication-standalone-rule\"><\/div>\r\n\r\n    <!-- PUBLICATION DETAILS: Published | Audience | Research By -->\r\n    <div class=\"mas-publication-standalone-meta\">\r\n\r\n      <!-- PUBLISHED -->\r\n      <div class=\"mas-publication-standalone-meta-item\">\r\n        <p class=\"mas-publication-standalone-label\">Published<\/p>\r\n        <p class=\"mas-publication-standalone-value\">october 2026 | MASPARTNER E-Guides<\/p>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-standalone-meta-divider\"><\/div>\r\n\r\n      <!-- AUDIENCE -->\r\n      <div class=\"mas-publication-standalone-meta-item\">\r\n        <p class=\"mas-publication-standalone-label\">Audience<\/p>\r\n        <p class=\"mas-publication-standalone-value\">Property Managers \u00b7 Property Management Bookkeepers \u00b7 Accountants \u00b7 Trust Account\r\nAdministrators \u00b7 Operations Leads<\/p>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-standalone-meta-divider\"><\/div>\r\n\r\n      <!-- RESEARCH BY -->\r\n      <div class=\"mas-publication-standalone-meta-item\">\r\n        <p class=\"mas-publication-standalone-label\">Research By<\/p>\r\n        <p class=\"mas-publication-standalone-credit-inline\">\r\n          <a href=\"https:\/\/maspartner.com\/en-us\/people\/rohit-kumar\/\" class=\"mas-publication-inline-link\">Rohit Kumar<\/a> <span class=\"mas-publication-inline-sep\">|<\/span> Director <span class=\"mas-publication-inline-sep\">|<\/span> <a href=\"mailto:rohit@maspartner.com\" class=\"mas-publication-inline-link\">rohit@maspartner.com<\/a>\r\n        <\/p>\r\n      <\/div>\r\n\r\n    <\/div>\r\n\r\n  <\/div>\r\n\r\n  <script>\r\n  (function(){\r\n    var hero = document.currentScript\r\n      ? document.currentScript.closest('.mas-publication-standalone-hero')\r\n      : null;\r\n    if(!hero){\r\n      var all = document.querySelectorAll('.mas-publication-standalone-hero');\r\n      hero = all[all.length - 1];\r\n    }\r\n    if(!hero) return;\r\n\r\n    hero.querySelectorAll('.mas-publication-standalone-credit-name a').forEach(function(el){\r\n      el.addEventListener('click', function(e){\r\n        e.stopPropagation();\r\n        var href = (this.getAttribute('href') || '').trim();\r\n        href = href.replace(\/^\\[+\/, '').replace(\/\\]+$\/, '').trim();\r\n        var isReal = \/^https?:\\\/\\\/\/i.test(href) || href.charAt(0) === '\/';\r\n        if(!isReal){ e.preventDefault(); return; }\r\n        e.preventDefault();\r\n        window.location.href = href;\r\n      }, true);\r\n    });\r\n\r\n    \/\/ Force inline research-by links (name + email) to work in Elementor\r\n    hero.querySelectorAll('.mas-publication-inline-link').forEach(function(el){\r\n      el.addEventListener('click', function(e){\r\n        e.stopPropagation();\r\n        var href = (this.getAttribute('href') || '').trim();\r\n        if(!href){ e.preventDefault(); return; }\r\n        e.preventDefault();\r\n        if(\/^mailto:\/i.test(href)){\r\n          window.location.href = href;\r\n        } else {\r\n          window.location.href = href;\r\n        }\r\n      }, true);\r\n    });\r\n  })();\r\n  <\/script>\r\n\r\n<\/section>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"e-con-with-custom-width elementor-element elementor-element-f4f913f e-con-full e-flex sc_layouts_column_icons_position_left e-con e-parent\" data-id=\"f4f913f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-8870685 sc_fly_static elementor-widget elementor-widget-html\" data-id=\"8870685\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n============================================================\r\n  MASPARTNER \/ MERCURIUS WEB PUBLICATION\r\n  How to Reconcile Bank Accounts in AppFolio\r\n  (Without the End-of-Month Panic)\r\n  A Step-by-Step Walkthrough for Catching Discrepancies Before\r\n  They Become Owner Statement Problems\r\n  Paste this entire block into an Elementor \"HTML\" widget\r\n  (or a WordPress \"Custom HTML\" block) on a full-width page.\r\n============================================================\r\n  REPLACE THESE PLACEHOLDERS BEFORE PUBLISHING:\r\n\r\n    IMAGES - every image is a standard <img decoding=\"async\" src=\"[IMAGE_n_URL]\"> tag.\r\n    Use Find & Replace on [IMAGE_n_URL] and paste the WordPress media URL.\r\n    Until a URL is pasted, a labelled dashed placeholder box shows in its spot.\r\n\r\n    [IMAGE_1_URL]   -> Stressed property manager surrounded by alerts (Tenant Arrears, Maintenance Overdue,\r\n                       Compliance Warning, Lease Expiries) and floating receipts \/ bills\r\n                       Section 2 (PDF page 8)  | uploaded file: image__2__1.png\r\n    [IMAGE_2_URL]   -> Blue and amber data-block streams breaking apart in the middle\r\n                       Section 4 (PDF page 13) | uploaded file: image__3__1.png\r\n    [IMAGE_3_URL]   -> Confident property manager with checkmark dashboard (Tenant Ledgers: All Balanced,\r\n                       Revenue Synced 100%, Compliance: Fully Certified, Vendor Invoices: Paid & Reconciled)\r\n                       Section 7 (PDF page 23) | uploaded file: image__4__1.png\r\n    [IMAGE_4_URL]   -> Glowing accounting puzzle pieces locking together between two data connectors\r\n                       Section 8 (PDF page 24) | uploaded file: image__5__1.png\r\n\r\n    RESOURCE LINKS - ALREADY SET (taken from the hyperlinks inside the PDF):\r\n    AppFolio: Fine-Tune Your Monthly Accounting With AppFolio Bank Feed\r\n                                                     -> https:\/\/www.appfolio.com\/articles\/automated-bank-reconciliations\r\n    AppFolio: What's New, Bank Feed Enhancements (Q1 2024 Product Update)\r\n                                                     -> https:\/\/www.appfolio.com\/articles\/2024-q1-product-update\r\n    AppFolio Stack: Accounting and Consulting Partners\r\n                                                     -> https:\/\/www.appfolio.com\/stack\r\n    ARELLO: Association of Real Estate License Law Officials\r\n                                                     -> https:\/\/arello.org\/about\/what-is-arello\r\n    IRS: Recordkeeping for Small Businesses and the Self-Employed\r\n                                                     -> https:\/\/www.irs.gov\/businesses\/small-businesses-self-employed\/recordkeeping\r\n    IRS: Publication 583                             -> https:\/\/www.irs.gov\/publications\/p583\r\n    SBA: Manage Your Finances, Business Guide        -> https:\/\/www.sba.gov\/business-guide\/manage-your-business\/manage-your-finances\r\n    MASPARTNER AppFolio Accounting Service           -> https:\/\/maspartner.com\/en-us\/appfolio-software-accounting\/\r\n    MASPARTNER Trust Accounts 101                    -> https:\/\/maspartner.com\/en-us\/accounting-bookkeeping\/trust-accounts-manage-them-safely-and-compliantly\/\r\n\r\n    PDF DOWNLOAD LINK (delivered after CF7 form submission) - ALREADY SET:\r\n    https:\/\/maspartner.com\/wp-content\/uploads\/2026\/10\/Publications_Inventory_Write-Offs_and_Adjustments_in_Xero.pdf.pdf\r\n    (To change it, edit the single MAS_PDF_URL line inside the <script> at the bottom.)\r\n\r\n    NOTE: The sticky button opens a CF7 popup form.\r\n    CF7 Form ID: d62a501 (title: Publication)\r\n    Add an Elementor \"Shortcode\" widget BELOW this HTML widget containing:\r\n        [contact-form-7 id=\"d62a501\" title=\"Publication\"]\r\n    The script hides that widget and moves the form into the popup.\r\n    If no CF7 form is found on the page, the button opens the PDF directly,\r\n    so the download always works.\r\n\r\n    NOTE: The hero \/ banner (title, subtitle, topic, published date,\r\n    audience, Research By and Edited & Presented By) is built separately\r\n    in Elementor and is NOT part of this code.\r\n\r\n    NOTE: The PDF's table of contents lists \"Key Takeaways\", but the PDF\r\n    contains no Key Takeaways page (it jumps from page 28 to page 30),\r\n    so that entry is not included here.\r\n============================================================\r\n-->\r\n\r\n<div class=\"mas-publication-wrapper\">\r\n\r\n  <style>\r\n    .mas-publication-wrapper{\r\n      --mas-white:#ffffff;\r\n      --mas-light-yellow:#ffdc74;\r\n      --mas-yellow:#ffd240;\r\n      --mas-gold:#fabc17;\r\n      --mas-dark-gold:#cfa434;\r\n      --mas-black:#000000;\r\n      --mas-ink:#16161a;\r\n      --mas-muted:#55555c;\r\n      --mas-line:#e7e7e7;\r\n      --mas-soft:#fbf7ec;\r\n      --mas-maxw:1240px;\r\n      --mas-pad:40px;\r\n      font-family:inherit;\r\n      color:var(--mas-ink);\r\n      line-height:1.7;\r\n      box-sizing:border-box;\r\n      width:100%;\r\n      overflow-x:clip;\r\n    }\r\n    .mas-publication-wrapper *,\r\n    .mas-publication-wrapper *::before,\r\n    .mas-publication-wrapper *::after{box-sizing:border-box;}\r\n\r\n    \/* ---------- BODY ---------- *\/\r\n    .mas-publication-body{\r\n      max-width:var(--mas-maxw);margin:0 auto;padding:0 var(--mas-pad);\r\n    }\r\n    .mas-publication-details{\r\n      padding:44px 0 12px;border-bottom:1px solid var(--mas-line);\r\n    }\r\n    .mas-publication-block-label{\r\n      font-size:11px;font-weight:800;letter-spacing:1.5px;\r\n      color:var(--mas-dark-gold);text-transform:uppercase;margin:26px 0 8px;\r\n    }\r\n    .mas-publication-details p{margin:0 0 14px;font-size:15px;}\r\n    .mas-publication-disclaimer{\r\n      font-size:13px;color:var(--mas-muted);\r\n      background:#fffbe8;border-left:4px solid var(--mas-gold);\r\n      padding:14px 18px;border-radius:0 8px 8px 0;\r\n    }\r\n\r\n    \/* ---------- TABLE OF CONTENTS ---------- *\/\r\n    .mas-publication-toc{\r\n      background:var(--mas-soft);\r\n      border:1px solid #f0e6c8;\r\n      border-radius:10px;\r\n      padding:28px 30px;\r\n      margin:38px 0;\r\n    }\r\n    .mas-publication-toc h2{\r\n      font-size:22px;font-weight:800;margin:0 0 18px;color:var(--mas-ink);\r\n      padding-bottom:12px;border-bottom:3px solid var(--mas-gold);\r\n    }\r\n    .mas-publication-toc ol{margin:0;padding:0;list-style:none;counter-reset:toc;}\r\n    .mas-publication-toc li{\r\n      counter-increment:toc;border-bottom:1px solid #efe7cf;\r\n    }\r\n    .mas-publication-toc li:last-child{border-bottom:none;}\r\n    .mas-publication-toc a{\r\n      display:flex;align-items:baseline;gap:12px;\r\n      padding:11px 4px;text-decoration:none;color:var(--mas-ink);\r\n      font-size:15px;font-weight:600;transition:color .15s;\r\n    }\r\n    .mas-publication-toc a:hover,\r\n    .mas-publication-toc a.mas-toc-active{color:var(--mas-dark-gold);}\r\n    .mas-publication-toc a::before{\r\n      content:counter(toc, decimal-leading-zero);\r\n      color:var(--mas-dark-gold);font-weight:800;font-size:13px;\r\n      min-width:26px;flex:0 0 auto;\r\n    }\r\n    .mas-publication-toc li.mas-publication-toc-plain{counter-increment:none;}\r\n    .mas-publication-toc li.mas-publication-toc-plain a::before{\r\n      content:\"\\2014\";min-width:26px;text-align:center;font-size:14px;\r\n    }\r\n\r\n    \/* ---------- SECTIONS ---------- *\/\r\n    .mas-publication-section{\r\n      padding:40px 0 6px;scroll-margin-top:80px;\r\n    }\r\n    .mas-publication-section-head{\r\n      display:flex;align-items:center;gap:14px;margin:0 0 22px;\r\n      padding-bottom:14px;border-bottom:3px solid var(--mas-gold);\r\n    }\r\n    .mas-publication-num{\r\n      flex:0 0 auto;width:38px;height:38px;border-radius:7px;\r\n      background:var(--mas-gold);color:var(--mas-black);\r\n      font-weight:800;font-size:18px;display:flex;\r\n      align-items:center;justify-content:center;\r\n    }\r\n    .mas-publication-section-head h2{\r\n      font-size:clamp(22px,3.4vw,30px);font-weight:800;margin:0;\r\n      color:var(--mas-ink);line-height:1.2;\r\n    }\r\n    .mas-publication-eyebrow{\r\n      font-size:11px;font-weight:800;letter-spacing:2px;\r\n      color:var(--mas-dark-gold);text-transform:uppercase;margin:0 0 4px;\r\n    }\r\n    .mas-publication-section h3{\r\n      font-size:19px;font-weight:800;margin:30px 0 10px;color:var(--mas-ink);\r\n    }\r\n    .mas-publication-section h4{\r\n      font-size:16px;font-weight:800;margin:22px 0 8px;color:var(--mas-ink);\r\n    }\r\n    .mas-publication-section p{margin:0 0 16px;font-size:16px;}\r\n    .mas-publication-section ul{margin:0 0 18px;padding-left:22px;}\r\n    .mas-publication-section ul li{margin:0 0 8px;font-size:16px;}\r\n\r\n    \/* two-column bullet lists (as laid out in the PDF) *\/\r\n    .mas-publication-section ul.mas-publication-cols{\r\n      columns:2;column-gap:44px;\r\n    }\r\n    .mas-publication-section ul.mas-publication-cols li{\r\n      break-inside:avoid;-webkit-column-break-inside:avoid;\r\n    }\r\n\r\n    \/* ---------- KPI AT A GLANCE ---------- *\/\r\n    .mas-publication-glance{\r\n      background:#fffbe8;border:1px solid #f0e6c8;\r\n      border-left:5px solid var(--mas-gold);border-radius:8px;\r\n      padding:20px 26px;margin:4px 0 30px;\r\n    }\r\n    .mas-publication-glance .mas-publication-box-title{\r\n      font-size:12px;font-weight:800;letter-spacing:1.5px;\r\n      color:var(--mas-dark-gold);text-transform:uppercase;margin:0 0 6px;\r\n    }\r\n    .mas-publication-glance dl{\r\n      margin:0;display:grid;grid-template-columns:200px minmax(0,1fr);\r\n    }\r\n    .mas-publication-glance dt{\r\n      font-size:14px;font-weight:800;color:var(--mas-ink);\r\n      padding:11px 16px 11px 0;border-bottom:1px solid #f0e6c8;\r\n    }\r\n    .mas-publication-glance dd{\r\n      margin:0;font-size:15px;color:#39393f;\r\n      padding:11px 0;border-bottom:1px solid #f0e6c8;\r\n    }\r\n    .mas-publication-glance dt:last-of-type,\r\n    .mas-publication-glance dd:last-of-type{border-bottom:none;}\r\n\r\n    \/* ---------- CALLOUT BOXES ---------- *\/\r\n    .mas-publication-statbox{\r\n      background:#fffbe8;border:1px solid #f0e6c8;\r\n      border-left:5px solid var(--mas-gold);border-radius:8px;\r\n      padding:22px 26px;margin:24px 0 30px;\r\n    }\r\n    .mas-publication-statbox .mas-publication-box-title{\r\n      font-size:12px;font-weight:800;letter-spacing:1.5px;\r\n      color:var(--mas-dark-gold);text-transform:uppercase;margin:0 0 12px;\r\n    }\r\n    .mas-publication-statbox ul{margin:0;padding-left:20px;}\r\n    .mas-publication-statbox li{margin:0 0 9px;font-size:15px;}\r\n    .mas-publication-statbox li:last-child{margin-bottom:0;}\r\n\r\n    .mas-publication-warning{\r\n      background:#fffbe8;border:2px solid var(--mas-gold);\r\n      border-radius:6px;\r\n      padding:22px 26px;margin:26px 0 30px;\r\n    }\r\n    .mas-publication-warning .mas-publication-box-title{\r\n      font-size:13px;font-weight:800;letter-spacing:1px;\r\n      color:var(--mas-black);text-transform:uppercase;margin:0 0 12px;\r\n    }\r\n    .mas-publication-warning p{margin:0;font-size:15px;color:#222;}\r\n    .mas-publication-warning p + p{margin-top:12px;}\r\n\r\n    \/* example box: gold left rule on transparent background *\/\r\n    .mas-publication-example{\r\n      border-left:3px solid var(--mas-gold);\r\n      padding:4px 0 4px 22px;margin:24px 0 30px;\r\n    }\r\n    .mas-publication-example .mas-publication-box-title{\r\n      font-size:12px;font-weight:800;letter-spacing:1.5px;\r\n      color:var(--mas-dark-gold);text-transform:uppercase;margin:0 0 8px;\r\n    }\r\n    .mas-publication-example p{margin:0;font-size:15px;color:#2c2c31;}\r\n    .mas-publication-example p + p{margin-top:10px;}\r\n\r\n    \/* ---------- STEP ROWS ---------- *\/\r\n    .mas-publication-steps{margin:22px 0 30px;display:grid;gap:12px;}\r\n    .mas-publication-step{\r\n      display:flex;align-items:stretch;gap:0;\r\n      border:1px solid var(--mas-line);border-radius:8px;overflow:hidden;\r\n      background:#fff;\r\n    }\r\n    .mas-publication-step-label{\r\n      flex:0 0 auto;min-width:96px;\r\n      background:var(--mas-dark-gold);color:#fff;\r\n      font-size:11px;font-weight:800;letter-spacing:1.2px;\r\n      text-transform:uppercase;\r\n      display:flex;align-items:center;justify-content:center;\r\n      padding:14px 12px;text-align:center;\r\n    }\r\n    .mas-publication-step-text{\r\n      padding:14px 18px;font-size:15px;color:#39393f;\r\n      display:flex;align-items:center;\r\n    }\r\n\r\n    \/* ---------- FLOW CHAIN (matches PDF: one row, equal boxes, dark arrows \/ plus signs) ---------- *\/\r\n    .mas-publication-wrapper .mas-publication-flow{\r\n      display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;\r\n      align-items:stretch !important;justify-content:space-between !important;\r\n      gap:12px;width:100% !important;max-width:100% !important;\r\n      margin:24px 0 30px;padding:0;float:none !important;\r\n    }\r\n    .mas-publication-wrapper .mas-publication-flow-item{\r\n      flex:1 1 0 !important;min-width:0 !important;width:auto !important;max-width:none !important;\r\n      margin:0 !important;background:var(--mas-gold);color:var(--mas-black);\r\n      border-radius:6px;padding:16px 12px;min-height:54px;\r\n      font-size:13px;font-weight:800;line-height:1.35;text-align:center;\r\n      display:flex !important;align-items:center;justify-content:center;\r\n      overflow-wrap:break-word;hyphens:manual;\r\n    }\r\n    \/* arrow: drawn with CSS (line + triangle head) so it never depends on the font *\/\r\n    .mas-publication-wrapper .mas-publication-flow-arrow{\r\n      flex:0 0 28px !important;width:28px;margin:0 !important;\r\n      display:flex !important;align-items:center;justify-content:center;\r\n      position:relative;font-size:0 !important;line-height:0;color:transparent;\r\n    }\r\n    .mas-publication-wrapper .mas-publication-flow-arrow::before{\r\n      content:\"\";display:block;width:20px;height:2px;background:#3a3a3a;\r\n    }\r\n    .mas-publication-wrapper .mas-publication-flow-arrow::after{\r\n      content:\"\";display:block;width:0;height:0;\r\n      border-top:5px solid transparent;border-bottom:5px solid transparent;\r\n      border-left:8px solid #3a3a3a;\r\n    }\r\n    \/* plus sign (Performance Balance) *\/\r\n    .mas-publication-wrapper .mas-publication-flow-arrow.mas-publication-flow-plus{\r\n      flex:0 0 22px !important;width:22px;\r\n      font-size:22px !important;font-weight:800;line-height:1;color:#3a3a3a;\r\n    }\r\n    .mas-publication-wrapper .mas-publication-flow-arrow.mas-publication-flow-plus::before,\r\n    .mas-publication-wrapper .mas-publication-flow-arrow.mas-publication-flow-plus::after{content:none;display:none;}\r\n    \/* six-step flows: slightly tighter so all boxes stay on one row *\/\r\n    .mas-publication-wrapper .mas-publication-flow.mas-publication-flow-compact{gap:8px;}\r\n    .mas-publication-wrapper .mas-publication-flow.mas-publication-flow-compact .mas-publication-flow-item{\r\n      padding:14px 8px;font-size:12.5px;min-height:72px;\r\n    }\r\n    .mas-publication-wrapper .mas-publication-flow.mas-publication-flow-compact .mas-publication-flow-arrow{\r\n      flex-basis:22px !important;width:22px;\r\n    }\r\n    .mas-publication-wrapper .mas-publication-flow.mas-publication-flow-compact .mas-publication-flow-arrow::before{width:14px;}\r\n\r\n    \/* ---------- BAR CHART (examples) ---------- *\/\r\n    .mas-publication-bars{display:grid;gap:10px;margin:16px 0 4px;}\r\n    .mas-publication-bar{\r\n      display:grid;grid-template-columns:170px minmax(0,1fr);\r\n      align-items:center;gap:14px;\r\n    }\r\n    .mas-publication-bar-label{font-size:14px;font-weight:600;color:#39393f;}\r\n    .mas-publication-bar-track{\r\n      background:#f3eedd;border-radius:4px;height:32px;overflow:hidden;\r\n    }\r\n    .mas-publication-bar-fill{\r\n      height:100%;min-width:72px;background:var(--mas-gold);border-radius:4px;\r\n      display:flex;align-items:center;justify-content:flex-end;\r\n      padding:0 12px;font-size:13px;font-weight:800;color:var(--mas-black);\r\n      white-space:nowrap;\r\n    }\r\n    .mas-publication-bar-fill.mas-publication-bar-muted{background:#e6d6a6;}\r\n\r\n    \/* ---------- FORMULA BOX ---------- *\/\r\n    .mas-publication-formula{\r\n      background:#111;color:var(--mas-gold);\r\n      border-radius:8px;padding:20px 24px;margin:18px 0;\r\n      font-size:17px;font-weight:800;text-align:center;letter-spacing:.4px;\r\n    }\r\n    .mas-publication-formula-label{\r\n      display:block;font-size:11px;font-weight:800;letter-spacing:2px;\r\n      text-transform:uppercase;color:var(--mas-dark-gold);margin:0 0 8px;\r\n    }\r\n    .mas-publication-section p.mas-publication-formula-note{\r\n      font-size:14px;color:var(--mas-muted);margin:-4px 0 22px;\r\n    }\r\n\r\n    \/* ---------- COMPARE CARDS ---------- *\/\r\n    .mas-publication-compare{\r\n      display:grid;grid-template-columns:repeat(2,minmax(0,1fr));\r\n      gap:14px;margin:22px 0 30px;\r\n    }\r\n    .mas-publication-compare.mas-publication-compare-3{\r\n      grid-template-columns:repeat(3,minmax(0,1fr));\r\n    }\r\n    .mas-publication-compare-card{\r\n      border:1px solid var(--mas-line);border-radius:8px;\r\n      overflow:hidden;background:#fff;\r\n    }\r\n    .mas-publication-compare-card h4{\r\n      margin:0;background:var(--mas-gold);color:var(--mas-black);\r\n      font-size:14px;font-weight:800;padding:12px 18px;line-height:1.4;\r\n    }\r\n    .mas-publication-compare-card ul{margin:0;padding:14px 18px 10px 36px;}\r\n    .mas-publication-compare-card ul li{margin:0 0 7px;font-size:15px;color:#39393f;}\r\n\r\n    \/* ---------- SCENARIOS ---------- *\/\r\n    .mas-publication-scenario{\r\n      border:1px solid var(--mas-line);border-radius:8px;\r\n      overflow:hidden;margin:0 0 16px;background:#fff;\r\n    }\r\n    .mas-publication-scenario-head{\r\n      display:flex;align-items:center;gap:14px;\r\n      background:var(--mas-gold);padding:12px 18px;\r\n    }\r\n    .mas-publication-scenario-tag{\r\n      flex:0 0 auto;background:var(--mas-black);color:var(--mas-gold);\r\n      font-size:11px;font-weight:800;letter-spacing:1.2px;\r\n      text-transform:uppercase;padding:4px 10px;border-radius:4px;\r\n    }\r\n    .mas-publication-scenario-head h4{\r\n      margin:0;font-size:16px;font-weight:800;color:var(--mas-black);line-height:1.35;\r\n    }\r\n    .mas-publication-scenario-body{padding:14px 18px 6px;}\r\n    .mas-publication-scenario-body p{margin:0 0 10px;font-size:15px;color:#39393f;}\r\n\r\n    \/* ---------- FIGURES (image placeholder + HTML fallback) ---------- *\/\r\n    .mas-publication-wrapper .mas-publication-figure{\r\n      display:block !important;width:100% !important;max-width:100% !important;\r\n      margin:24px 0 30px !important;padding:0 !important;float:none !important;text-align:left;\r\n    }\r\n    .mas-publication-wrapper .mas-publication-figure-fallback{display:block;width:100%;}\r\n    .mas-publication-figure-img{\r\n      display:none;width:100%;max-width:100%;height:auto;\r\n      border-radius:8px;border:1px solid var(--mas-line);\r\n    }\r\n    .mas-publication-figure.mas-img-ready .mas-publication-figure-img{display:block;}\r\n    .mas-publication-figure.mas-img-ready .mas-publication-figure-fallback{display:none;}\r\n    .mas-publication-figure-fallback > *{margin-top:0 !important;margin-bottom:0 !important;}\r\n\r\n    \/* ---------- TABLES ---------- *\/\r\n    .mas-publication-table-scroll{\r\n      overflow-x:auto;margin:22px 0 30px;\r\n      -webkit-overflow-scrolling:touch;\r\n    }\r\n    .mas-publication-table{\r\n      width:100%;border-collapse:collapse;min-width:520px;font-size:15px;\r\n    }\r\n    .mas-publication-table th{\r\n      background:var(--mas-gold);color:var(--mas-black);\r\n      text-align:left;padding:13px 16px;font-weight:800;font-size:14px;\r\n    }\r\n    .mas-publication-table td{\r\n      padding:13px 16px;border-bottom:1px solid var(--mas-line);\r\n      vertical-align:top;color:#39393f;\r\n    }\r\n    .mas-publication-table tr:nth-child(even) td{background:#fdfbf3;}\r\n    .mas-publication-table td.mas-publication-td-strong{font-weight:700;color:var(--mas-ink);}\r\n    .mas-publication-table td.mas-publication-td-num{width:56px;font-weight:800;color:var(--mas-dark-gold);}\r\n\r\n    \/* ---------- FAQ ACCORDION ---------- *\/\r\n    .mas-publication-faq-item{\r\n      border-bottom:1px solid var(--mas-line);\r\n    }\r\n    .mas-publication-faq-q{\r\n      display:flex;align-items:flex-start;justify-content:space-between;gap:16px;\r\n      width:100%;background:none;border:none;text-align:left;\r\n      font-family:inherit;font-size:17px;font-weight:800;color:var(--mas-ink);\r\n      padding:20px 0;cursor:pointer;line-height:1.45;\r\n    }\r\n    .mas-publication-faq-q:hover{color:var(--mas-dark-gold);background:none;}\r\n    .mas-publication-faq-icon{\r\n      flex:0 0 auto;width:26px;height:26px;border-radius:50%;\r\n      background:var(--mas-gold);color:var(--mas-black);\r\n      font-size:17px;font-weight:800;line-height:26px;text-align:center;\r\n      transition:transform .25s ease;\r\n    }\r\n    .mas-publication-faq-item.mas-faq-open .mas-publication-faq-icon{\r\n      transform:rotate(45deg);\r\n    }\r\n    .mas-publication-faq-a{\r\n      max-height:0;overflow:hidden;transition:max-height .3s ease;\r\n    }\r\n    .mas-publication-faq-a p{\r\n      font-size:15px;margin:0 0 20px;color:#3a3a40;padding-right:42px;\r\n    }\r\n\r\n    \/* ---------- CONCLUSION QUOTE ---------- *\/\r\n    .mas-publication-quote{\r\n      background:#111;color:var(--mas-white);\r\n      border-radius:10px;padding:30px 32px;margin:30px 0;\r\n      font-size:18px;font-style:italic;line-height:1.6;\r\n      border-left:6px solid var(--mas-gold);\r\n    }\r\n\r\n    \/* ---------- RESOURCES ---------- *\/\r\n    .mas-publication-res-group{margin:0 0 26px;}\r\n    .mas-publication-res-group h3{\r\n      margin:0 0 10px;font-size:12px;font-weight:800;letter-spacing:1.5px;\r\n      color:var(--mas-dark-gold);text-transform:uppercase;\r\n    }\r\n    .mas-publication-res-group ul{margin:0;padding:0;list-style:none;}\r\n    .mas-publication-res-group li{\r\n      margin:0 0 9px;font-size:15px;position:relative;padding-left:20px;\r\n    }\r\n    .mas-publication-resources-list li::before{\r\n      content:\"\\203A\";position:absolute;left:0;top:0;\r\n      color:var(--mas-gold);font-weight:800;font-size:18px;line-height:1.5;\r\n      pointer-events:none;\r\n    }\r\n    .mas-publication-resources-list a{\r\n      color:var(--mas-dark-gold);text-decoration:underline;\r\n      text-underline-offset:3px;position:relative;z-index:10;\r\n      pointer-events:auto;cursor:pointer;\r\n    }\r\n    .mas-publication-resources-list a:hover{color:var(--mas-black);}\r\n\r\n    \/* ---------- KEYBOARD FOCUS ---------- *\/\r\n    .mas-publication-wrapper a:focus-visible,\r\n    .mas-publication-wrapper button:focus-visible{\r\n      outline:3px solid var(--mas-gold);outline-offset:2px;\r\n    }\r\n\r\n    \/* ---------- STICKY DOWNLOAD BUTTON ---------- *\/\r\n    .mas-publication-download{\r\n      position:fixed;left:0;top:50%;transform:translateY(-50%);\r\n      z-index:9999;\r\n    }\r\n    .mas-publication-download a,\r\n    .mas-publication-download button{\r\n      display:flex;align-items:center;gap:8px;\r\n      writing-mode:vertical-lr;text-orientation:mixed;\r\n      transform:rotate(180deg);\r\n      background:#fabc17 !important;background-color:#fabc17 !important;color:#000000 !important;\r\n      font-weight:800;font-size:13px;letter-spacing:.08em;\r\n      padding:24px 15px;border-radius:6px 0 0 6px;\r\n      text-decoration:none;box-shadow:-4px 0 18px rgba(0,0,0,.28);\r\n      transition:background .15s;border:none !important;cursor:pointer;\r\n      font-family:inherit;white-space:nowrap;line-height:1.2;\r\n      -webkit-appearance:none;-moz-appearance:none;appearance:none;outline:none;\r\n    }\r\n    .mas-publication-download a:hover,\r\n    .mas-publication-download button:hover{background:#cfa434 !important;background-color:#cfa434 !important;color:#fff !important;}\r\n    .mas-publication-download button:focus-visible{outline:3px solid #000000 !important;outline-offset:-6px;}\r\n    .mas-publication-download svg{transform:rotate(90deg);}\r\n\r\n    \/* ---------- CF7 MODAL OVERLAY (literal colors - works anywhere) ---------- *\/\r\n    .mas-publication-modal-overlay{\r\n      display:none;\r\n      position:fixed;top:0;left:0;right:0;bottom:0;\r\n      background:rgba(0,0,0,0.65);\r\n      z-index:99999;\r\n      align-items:center;justify-content:center;\r\n    }\r\n    .mas-publication-modal-overlay.mas-publication-modal-open{display:flex !important;}\r\n    .mas-publication-modal{\r\n      background:#ffffff !important;background-color:#ffffff !important;\r\n      border-radius:12px;\r\n      padding:36px 32px 30px;\r\n      max-width:460px;width:92%;\r\n      max-height:90vh;overflow-y:auto;\r\n      position:relative;\r\n      box-shadow:0 12px 48px rgba(0,0,0,0.25);\r\n      font-family:inherit;\r\n    }\r\n    .mas-publication-modal-close{\r\n      position:absolute;top:12px;right:14px;\r\n      background:none !important;border:none !important;font-size:22px;\r\n      color:#55555c !important;cursor:pointer;line-height:1;padding:4px 8px;\r\n    }\r\n    .mas-publication-modal-close:hover{color:#000000 !important;}\r\n    .mas-publication-modal h3{\r\n      font-size:20px;font-weight:800;margin:0 0 6px;color:#16161a;\r\n    }\r\n    .mas-publication-modal p{\r\n      font-size:14px;color:#55555c;margin:0 0 20px;\r\n    }\r\n    .mas-publication-modal .wpcf7{margin:0;}\r\n    .mas-publication-modal .wpcf7 label{\r\n      display:block;font-size:14px;font-weight:600;\r\n      color:#16161a;margin:0 0 14px;\r\n    }\r\n    .mas-publication-modal .wpcf7 input[type=\"text\"],\r\n    .mas-publication-modal .wpcf7 input[type=\"email\"],\r\n    .mas-publication-modal .wpcf7 input[type=\"tel\"]{\r\n      width:100%;padding:10px 14px;border:1px solid #e7e7e7;\r\n      border-radius:6px;font-size:15px;margin-top:4px;font-family:inherit;\r\n      background:#ffffff;color:#16161a;\r\n    }\r\n    .mas-publication-modal .wpcf7 input[type=\"submit\"]{\r\n      background:#fabc17 !important;color:#000000 !important;\r\n      border:none;padding:13px 28px;border-radius:6px;\r\n      font-weight:800;font-size:15px;cursor:pointer;\r\n      width:100%;margin-top:6px;font-family:inherit;transition:background .15s;\r\n    }\r\n    .mas-publication-modal .wpcf7 input[type=\"submit\"]:hover{\r\n      background:#cfa434 !important;color:#fff !important;\r\n    }\r\n    .mas-publication-modal-download{\r\n      display:block;text-align:center;background:#fabc17 !important;color:#000000 !important;\r\n      font-weight:800;font-size:15px;padding:14px 28px;border-radius:6px;\r\n      text-decoration:none !important;margin-top:10px;cursor:pointer;\r\n      position:relative;z-index:10;pointer-events:auto;\r\n    }\r\n    .mas-publication-modal-download:hover{background:#cfa434 !important;color:#ffffff !important;}\r\n\r\n    \/* ---------- EXTRA: callout paragraphs inside stat boxes ---------- *\/\r\n    .mas-publication-statbox p{margin:0;font-size:15px;color:#2c2c31;}\r\n    .mas-publication-statbox p + p{margin-top:10px;}\r\n    .mas-publication-warning ul{margin:0;padding-left:20px;}\r\n    .mas-publication-warning ul li{margin:0 0 9px;font-size:15px;color:#222;}\r\n\r\n    \/* ---------- EXTRA: image placeholder box (shows until the real image link is pasted) ---------- *\/\r\n    .mas-publication-img-placeholder{\r\n      display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;\r\n      width:100%;aspect-ratio:16\/9;min-height:180px;padding:20px;text-align:center;\r\n      background:#fffbe8;border:2px dashed var(--mas-gold);border-radius:8px;\r\n    }\r\n    .mas-publication-img-placeholder strong{font-size:16px;font-weight:800;color:var(--mas-ink);}\r\n    .mas-publication-img-placeholder span{font-size:13px;color:var(--mas-muted);word-break:break-word;}\r\n\r\n    \/* ---------- EXTRA: dark flow boxes (Units \/ Dollars) ---------- *\/\r\n    .mas-publication-wrapper .mas-publication-flow-item.mas-publication-flow-dark{background:#111;color:#fff;}\r\n    .mas-publication-dual{\r\n      display:grid;grid-template-columns:repeat(2,minmax(0,1fr));\r\n      gap:24px;margin:24px 0 30px;\r\n    }\r\n    .mas-publication-wrapper .mas-publication-dual .mas-publication-flow{margin:0 !important;}\r\n\r\n    \/* ---------- EXTRA: debit \/ credit cards ---------- *\/\r\n    .mas-publication-dc{\r\n      display:grid;grid-template-columns:repeat(2,minmax(0,1fr));\r\n      gap:14px;margin:22px 0 30px;\r\n    }\r\n    .mas-publication-dc-card{\r\n      background:var(--mas-gold);color:var(--mas-black);\r\n      border-radius:8px;padding:18px 20px;text-align:center;\r\n    }\r\n    .mas-publication-dc-tag{\r\n      display:block;font-size:12px;font-weight:800;letter-spacing:1.5px;\r\n      text-transform:uppercase;margin:0 0 4px;\r\n    }\r\n    .mas-publication-dc-title{display:block;font-size:16px;font-weight:800;margin:0 0 2px;}\r\n    .mas-publication-dc-text{display:block;font-size:14px;}\r\n\r\n    \/* ---------- EXTRA: chart panels ---------- *\/\r\n    .mas-publication-chart{\r\n      border:1px solid var(--mas-line);border-radius:8px;background:#fff;\r\n      padding:20px 22px;margin:22px 0 8px;\r\n    }\r\n    .mas-publication-chart .mas-publication-bars{margin:0;gap:14px;}\r\n    .mas-publication-bar-label small{\r\n      display:block;font-size:12px;font-weight:500;color:var(--mas-muted);\r\n    }\r\n    .mas-publication-bar-note{\r\n      display:block;font-size:12.5px;color:var(--mas-muted);margin-top:5px;line-height:1.45;\r\n    }\r\n    .mas-publication-bar-stack{\r\n      display:flex;height:32px;border-radius:4px;overflow:hidden;\r\n    }\r\n    .mas-publication-seg{\r\n      display:flex;align-items:center;justify-content:center;\r\n      min-width:0;padding:0 8px;font-size:12.5px;font-weight:800;\r\n      white-space:nowrap;overflow:hidden;text-overflow:ellipsis;\r\n      background:var(--mas-gold);color:var(--mas-black);\r\n    }\r\n    .mas-publication-seg + .mas-publication-seg{border-left:2px solid #fff;}\r\n    .mas-publication-seg.mas-publication-seg-dark{background:#111;color:#fff;}\r\n    .mas-publication-chart-foot{\r\n      display:block;font-size:12.5px;color:var(--mas-muted);\r\n      margin-top:14px;padding-top:10px;border-top:1px solid var(--mas-line);\r\n    }\r\n    .mas-publication-section p.mas-publication-caption{\r\n      font-size:13px;color:var(--mas-muted);margin:0 0 30px;font-style:italic;\r\n    }\r\n\r\n    \/* ---------- EXTRA: journal table alignment ---------- *\/\r\n    .mas-publication-table th.mas-publication-th-right,\r\n    .mas-publication-table td.mas-publication-td-right{text-align:right;white-space:nowrap;}\r\n    .mas-publication-table tr.mas-publication-tr-total td{\r\n      font-weight:800;color:var(--mas-ink);background:#fff;\r\n      border-top:3px solid var(--mas-gold);\r\n    }\r\n    .mas-publication-table tr.mas-publication-tr-blank td{height:46px;}\r\n\r\n    \/* ---------- RESPONSIVE ---------- *\/\r\n    \/* keep content clear of the fixed side \"Download PDF\" button on laptop\/tablet widths *\/\r\n    @media (min-width:769px) and (max-width:1340px){\r\n      .mas-publication-body{padding-left:64px;}\r\n    }\r\n\r\n    @media (max-width:900px){\r\n      .mas-publication-wrapper{--mas-pad:28px;}\r\n      .mas-publication-compare.mas-publication-compare-3{grid-template-columns:1fr;}\r\n      .mas-publication-section h3{font-size:18px;}\r\n      .mas-publication-wrapper .mas-publication-flow{gap:8px;}\r\n      .mas-publication-wrapper .mas-publication-flow-item{font-size:12px;padding:14px 8px;}\r\n      .mas-publication-wrapper .mas-publication-flow.mas-publication-flow-compact{gap:4px;}\r\n      .mas-publication-wrapper .mas-publication-flow.mas-publication-flow-compact .mas-publication-flow-item{font-size:11px;padding:12px 6px;}\r\n      .mas-publication-wrapper .mas-publication-flow.mas-publication-flow-compact .mas-publication-flow-arrow{flex-basis:16px !important;width:16px;}\r\n      .mas-publication-wrapper .mas-publication-flow.mas-publication-flow-compact .mas-publication-flow-arrow::before{width:8px;}\r\n      .mas-publication-glance dl{grid-template-columns:160px minmax(0,1fr);}\r\n    }\r\n\r\n    @media (max-width:768px){\r\n      .mas-publication-wrapper{--mas-pad:18px;}\r\n      .mas-publication-toc{padding:22px 20px;}\r\n      .mas-publication-toc a{padding:15px 4px;min-height:48px;}\r\n      .mas-publication-section{padding:32px 0 6px;}\r\n      .mas-publication-section-head{gap:10px;}\r\n      .mas-publication-num{width:32px;height:32px;font-size:15px;}\r\n      .mas-publication-statbox,\r\n      .mas-publication-warning,\r\n      .mas-publication-glance{padding:18px 20px;}\r\n      .mas-publication-glance dl{grid-template-columns:1fr;}\r\n      .mas-publication-glance dt{padding:12px 0 2px;border-bottom:none;}\r\n      .mas-publication-glance dd{padding:0 0 12px;}\r\n      .mas-publication-section ul.mas-publication-cols{columns:1;}\r\n      .mas-publication-compare{grid-template-columns:1fr;}\r\n      .mas-publication-bar{grid-template-columns:1fr;gap:4px;}\r\n      .mas-publication-step{flex-direction:column;}\r\n      .mas-publication-step-label{min-width:100%;justify-content:flex-start;padding:9px 16px;}\r\n      .mas-publication-scenario-head{flex-wrap:wrap;gap:8px;}\r\n      .mas-publication-faq-q{padding:16px 0;min-height:48px;font-size:16px;}\r\n      .mas-publication-faq-a p{padding-right:0;}\r\n      .mas-publication-quote{padding:24px 22px;font-size:16px;}\r\n\r\n      .mas-publication-wrapper .mas-publication-flow,\r\n      .mas-publication-wrapper .mas-publication-flow.mas-publication-flow-compact{\r\n        flex-direction:column !important;align-items:stretch !important;gap:6px;\r\n      }\r\n      .mas-publication-wrapper .mas-publication-flow-item,\r\n      .mas-publication-wrapper .mas-publication-flow.mas-publication-flow-compact .mas-publication-flow-item{\r\n        flex:0 0 auto !important;width:100% !important;min-height:46px;font-size:13px;padding:13px 14px;\r\n      }\r\n      .mas-publication-wrapper .mas-publication-flow-arrow,\r\n      .mas-publication-wrapper .mas-publication-flow.mas-publication-flow-compact .mas-publication-flow-arrow{\r\n        flex:0 0 22px !important;width:100%;height:22px;transform:rotate(90deg);\r\n      }\r\n      .mas-publication-wrapper .mas-publication-flow-arrow.mas-publication-flow-plus{transform:none;width:100% !important;height:24px;}\r\n      .mas-publication-wrapper .mas-publication-flow.mas-publication-flow-compact .mas-publication-flow-arrow::before{width:14px;}\r\n\r\n      .mas-publication-download{\r\n        position:fixed;left:0;right:0;bottom:0;top:auto;transform:none;\r\n        width:100%;\r\n      }\r\n      .mas-publication-download a,\r\n      .mas-publication-download button{\r\n        writing-mode:horizontal-tb;text-orientation:initial;transform:none;\r\n        justify-content:center;border-radius:0;\r\n        padding:16px 24px;font-size:15px;\r\n        box-shadow:0 -2px 12px rgba(0,0,0,.18);\r\n        width:100%;\r\n      }\r\n      .mas-publication-download svg{transform:none;}\r\n      .mas-publication-body{padding-bottom:84px;}\r\n      .mas-publication-modal{padding:28px 20px 24px;}\r\n    }\r\n\r\n    @media (max-width:480px){\r\n      .mas-publication-section p,\r\n      .mas-publication-section ul li{font-size:15px;}\r\n      .mas-publication-section-head h2{font-size:21px;}\r\n      .mas-publication-section h3{font-size:17px;}\r\n      .mas-publication-table{min-width:420px;font-size:14px;}\r\n      .mas-publication-formula{font-size:15px;padding:16px 18px;}\r\n      .mas-publication-toc h2{font-size:19px;}\r\n    }\r\n\r\n    \/* ---------- EXTRA RESPONSIVE (components added for this publication) ---------- *\/\r\n    @media (max-width:900px){\r\n      .mas-publication-dual{gap:16px;}\r\n    }\r\n    @media (max-width:768px){\r\n      .mas-publication-dual,\r\n      .mas-publication-dc{grid-template-columns:1fr;}\r\n      .mas-publication-chart{padding:16px;}\r\n    }\r\n    @media (max-width:480px){\r\n      .mas-publication-bar-stack{flex-direction:column;height:auto;}\r\n      .mas-publication-seg{flex:0 0 auto !important;padding:8px 10px;font-size:12px;white-space:normal;}\r\n      .mas-publication-seg + .mas-publication-seg{border-left:none;border-top:2px solid #fff;}\r\n    }\r\n\r\n    @media (prefers-reduced-motion:reduce){\r\n      .mas-publication-faq-a,\r\n      .mas-publication-faq-icon,\r\n      .mas-publication-toc a{transition:none;}\r\n    }\r\n\r\n    \/* ---------- EXTRA: static checklist (design only - not interactive) ---------- *\/\r\n    .mas-publication-section ul.mas-publication-checklist{\r\n      list-style:none;margin:20px 0 30px;padding:0;\r\n      border:1px solid var(--mas-line);border-radius:8px;overflow:hidden;background:#fff;\r\n    }\r\n    .mas-publication-section ul.mas-publication-checklist li{\r\n      display:flex;align-items:flex-start;gap:12px;\r\n      padding:13px 18px;margin:0;border-bottom:1px solid var(--mas-line);\r\n      font-size:15px;color:#39393f;cursor:default;\r\n    }\r\n    .mas-publication-section ul.mas-publication-checklist li:last-child{border-bottom:none;}\r\n    .mas-publication-section ul.mas-publication-checklist li:nth-child(even){background:#fdfbf3;}\r\n    .mas-publication-checklist-box{\r\n      flex:0 0 auto;width:20px;height:20px;margin-top:3px;\r\n      border:2px solid var(--mas-gold);border-radius:3px;\r\n      background:var(--mas-white);cursor:default;position:relative;\r\n    }\r\n    .mas-publication-checklist-box::after{\r\n      content:\"\";position:absolute;left:5px;top:1px;width:5px;height:10px;\r\n      border:solid var(--mas-dark-gold);border-width:0 2px 2px 0;transform:rotate(45deg);\r\n      pointer-events:none;\r\n    }\r\n\r\n    \/* ---------- EXTRA: bullet lists inside cause \/ scenario cards ---------- *\/\r\n    .mas-publication-section .mas-publication-scenario-body ul{margin:0 0 10px;padding-left:20px;}\r\n    .mas-publication-section .mas-publication-scenario-body ul li{margin:0 0 8px;font-size:15px;color:#39393f;}\r\n\r\n    \/* ---------- EXTRA: numbered question list ---------- *\/\r\n    .mas-publication-section ol.mas-publication-numlist{margin:0 0 18px;padding-left:24px;}\r\n    .mas-publication-section ol.mas-publication-numlist li{margin:0 0 9px;font-size:16px;padding-left:4px;}\r\n    .mas-publication-section ol.mas-publication-numlist li::marker{color:var(--mas-dark-gold);font-weight:800;}\r\n\r\n    @media (max-width:768px){\r\n      .mas-publication-section ul.mas-publication-checklist li{padding:12px 14px;}\r\n    }\r\n    @media (max-width:480px){\r\n      .mas-publication-section ul.mas-publication-checklist li,\r\n      .mas-publication-section ol.mas-publication-numlist li{font-size:15px;}\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"mas-publication-body\">\r\n\r\n    <!-- ================= ABOUT \/ DISCLAIMER ================= -->\r\n    <section class=\"mas-publication-details\">\r\n\r\n      <p class=\"mas-publication-block-label\">About This Guide<\/p>\r\n      <p>This guide is designed to help property managers, property management bookkeepers, accountants, and trust account administrators reconcile bank accounts in AppFolio with confidence. It explains what reconciliation in AppFolio actually verifies, why the end-of-month panic keeps coming back, how the reconciliation is meant to work step by step, why reconciliations break, how to diagnose and fix a discrepancy without creating new ones, and how to build a routine where reconciliation confirms the books instead of discovering problems. The guide is optimized for both human readers and AI-assisted search engines (AEO\/GEO), making it a useful reference for anyone responsible for operating or trust account reconciliation in AppFolio.<\/p>\r\n\r\n      <p class=\"mas-publication-block-label\">A Note on Software Versions<\/p>\r\n      <p>AppFolio&rsquo;s screens and labels change over time, so the workflow in this guide is described at the level of what each step is meant to accomplish. Check the details against your current version of AppFolio and your state&rsquo;s trust accounting rules, which vary.<\/p>\r\n\r\n      <p class=\"mas-publication-block-label\">Disclaimer<\/p>\r\n      <p class=\"mas-publication-disclaimer\">This E-Guide is general accounting information for informational purposes only and does not constitute legal, tax, or accounting advice. Trust accounting requirements differ by state. Consult a qualified accounting professional, your compliance lead, or counsel for guidance specific to your portfolio and jurisdiction. AppFolio is a trademark of AppFolio, Inc.; MASPARTNER is not affiliated with AppFolio.<\/p>\r\n    <\/section>\r\n\r\n    <!-- ================= TABLE OF CONTENTS ================= -->\r\n    <nav class=\"mas-publication-toc\" aria-label=\"Table of contents\">\r\n      <h2>Table of Contents<\/h2>\r\n      <ol>\r\n        <li class=\"mas-publication-toc-plain\"><a href=\"#executive-summary\">Executive Summary<\/a><\/li>\r\n        <li><a href=\"#section-1\">What Bank Reconciliation Actually Means in AppFolio<\/a><\/li>\r\n        <li><a href=\"#section-2\">Who Feels the Pain and Why It Sneaks Up<\/a><\/li>\r\n        <li><a href=\"#section-3\">How Reconciliation Is Supposed to Work in AppFolio<\/a><\/li>\r\n        <li><a href=\"#section-4\">Why Reconciliations Break: The Root Causes<\/a><\/li>\r\n        <li><a href=\"#section-5\">How to Diagnose a Discrepancy Before It Becomes a Panic<\/a><\/li>\r\n        <li><a href=\"#section-6\">How to Fix Discrepancies Without Creating New Ones<\/a><\/li>\r\n        <li><a href=\"#section-7\">Building a Reconciliation Process That Prevents the Panic<\/a><\/li>\r\n        <li><a href=\"#section-8\">When Reconciliation Problems Signal a Bigger Issue<\/a><\/li>\r\n        <li class=\"mas-publication-toc-plain\"><a href=\"#faq\">Frequently Asked Questions<\/a><\/li>\r\n        <li class=\"mas-publication-toc-plain\"><a href=\"#conclusion\">Conclusion<\/a><\/li>\r\n        <li class=\"mas-publication-toc-plain\"><a href=\"#resources\">Further Reading &amp; Official Resources<\/a><\/li>\r\n      <\/ol>\r\n    <\/nav>\r\n\r\n    <!-- ================= EXECUTIVE SUMMARY ================= -->\r\n    <section class=\"mas-publication-section\" id=\"executive-summary\">\r\n      <p class=\"mas-publication-eyebrow\">Section Overview<\/p>\r\n      <div class=\"mas-publication-section-head\">\r\n        <h2>Executive Summary<\/h2>\r\n      <\/div>\r\n\r\n      <p>Most property managers don&rsquo;t struggle with bank reconciliation because it is hard. They struggle because it happens once a month, under deadline, on the day owner statements are due. By then a month&rsquo;s worth of small breaks (a fee nobody entered, a deposit that never landed, a payment posted to the wrong property) have piled up into one account that refuses to tie out.<\/p>\r\n\r\n      <p>Bank reconciliation in AppFolio is the line-by-line comparison of what AppFolio recorded against what the bank says actually happened. It is the last checkpoint before numbers reach owners, and for trust accounts it is where owner and tenant money is proven to be where the ledger says it is. A matching balance is not enough: AppFolio&rsquo;s reconciliation is built around a triple tie-out of the statement ending balance, the cleared balance, and the Adjusted Cash Balance, and every individual transaction still has to be matched or explained.<\/p>\r\n\r\n      <p>This guide covers eight areas: what reconciliation means in AppFolio, who feels the pain and why it sneaks up, how the process is supposed to work, the root causes of breaks, how to diagnose a discrepancy early, how to fix it cleanly, how to build a process that prevents the panic, and when reconciliation trouble signals a bigger issue.<\/p>\r\n\r\n      <div class=\"mas-publication-statbox\">\r\n        <p class=\"mas-publication-box-title\">Key Facts at a Glance<\/p>\r\n        <ul>\r\n          <li>Reconciliation verifies every transaction (deposits, checks, ACH payments, owner draws, and bank fees), not just whether the balance looks right.<\/li>\r\n          <li>AppFolio&rsquo;s triple tie-out compares the statement ending balance, the cleared balance, and the Adjusted Cash Balance. All three must agree.<\/li>\r\n          <li>AppFolio says its Bank Feed automatically matches and clears up to 80 to 90 percent of transactions. The rest still need human review.<\/li>\r\n          <li>AppFolio&rsquo;s own guidance is to reconcile bank accounts monthly to stay in line with most local real estate regulations.<\/li>\r\n          <li>Trust accounts are reconciled before any owner statement is generated, every cycle, with no exceptions.<\/li>\r\n          <li>Many practitioners treat items outstanding for 60 to 90 days as a red flag that demands investigation.<\/li>\r\n        <\/ul>\r\n      <\/div>\r\n\r\n      <p>This guide is optimized for both human readers and AI-assisted search engines (AEO\/GEO), making it an authoritative reference for anyone responsible for AppFolio bank reconciliation and trust account accuracy.<\/p>\r\n    <\/section>\r\n\r\n    <!-- ================= SECTION 1 ================= -->\r\n    <section class=\"mas-publication-section\" id=\"section-1\">\r\n      <div class=\"mas-publication-section-head\">\r\n        <span class=\"mas-publication-num\">1<\/span>\r\n        <h2>What Bank Reconciliation Actually Means in AppFolio<\/h2>\r\n      <\/div>\r\n\r\n      <h3>A Plain-Language Definition<\/h3>\r\n      <p><strong>Bank reconciliation<\/strong> is matching what AppFolio thinks happened in an account against what the bank says actually happened. AppFolio&rsquo;s ledger is a record of what was entered and posted in the system. The bank statement is an independent record of what really moved. Reconciliation puts the two side by side, line by line, and explains every difference between them.<\/p>\r\n\r\n      <div class=\"mas-publication-flow\">\r\n        <div class=\"mas-publication-flow-item\">AppFolio Ledger<\/div>\r\n        <div class=\"mas-publication-flow-arrow mas-publication-flow-plus\" aria-hidden=\"true\">+<\/div>\r\n        <div class=\"mas-publication-flow-item\">Bank Statement<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Line-by-Line Match<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Every Difference Explained<\/div>\r\n      <\/div>\r\n\r\n      <h3>The Real-World Analogy<\/h3>\r\n      <p>It works like checking your own receipts against a credit card statement, with one big difference: the account you are checking holds money that belongs to dozens of owners and tenants at once.<\/p>\r\n\r\n      <div class=\"mas-publication-statbox\">\r\n        <p class=\"mas-publication-box-title\">Why Property Management Is Different<\/p>\r\n        <p>Every line has to be right in total, and it also has to sit in the right property and owner ledger.<\/p>\r\n      <\/div>\r\n\r\n      <h3>Why Reconciliation Is Its Own Step<\/h3>\r\n      <p>Reconciliation is more than asking whether the balance looks right. A balance is a total, and a total can look perfectly reasonable while individual transactions are wrong. Reconciliation verifies every transaction. Each of the following is either matched to a line on the bank statement or explained as still outstanding:<\/p>\r\n      <ul class=\"mas-publication-cols\">\r\n        <li>Deposits<\/li>\r\n        <li>Checks<\/li>\r\n        <li>ACH payments<\/li>\r\n        <li>Owner draws<\/li>\r\n        <li>Bank fees<\/li>\r\n      <\/ul>\r\n      <p>That line-by-line check is the entire point of the exercise.<\/p>\r\n\r\n      <h3>Where It Fits in the Monthly Cycle<\/h3>\r\n      <p>Reconciliation sits between recording activity and reporting it:<\/p>\r\n\r\n      <div class=\"mas-publication-flow mas-publication-flow-compact\">\r\n        <div class=\"mas-publication-flow-item\">Charges &amp; Payments Posted<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Deposits Batched<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Bank Feed or Statement Arrives<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Reconciliation<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Owner Statements Generated<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-warning\">\r\n        <p class=\"mas-publication-box-title\">Key Rule<\/p>\r\n        <p>Reconciliation is the last checkpoint before the numbers reach owners. Anything that slips through the earlier steps and is not caught here goes straight into a statement.<\/p>\r\n      <\/div>\r\n\r\n      <h3>A Matching Balance Versus a True Reconciliation<\/h3>\r\n      <p>Two numbers can agree by coincidence while individual transactions are still wrong.<\/p>\r\n\r\n      <div class=\"mas-publication-example\">\r\n        <p class=\"mas-publication-box-title\">Example: The Misposted Vendor Payment<\/p>\r\n        <p>A $3,200 vendor payment clears the bank but was entered against the wrong property. The cash balance ties out, because the cash really did leave the account. But one property&rsquo;s expenses are understated, another&rsquo;s are overstated, and both owner statements are wrong.<\/p>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-example\">\r\n        <p class=\"mas-publication-box-title\">Example: Offsetting Errors<\/p>\r\n        <p>A missed $100 bank fee and an accidental $100 duplicate can cancel out in the total while leaving two bad transactions behind.<\/p>\r\n      <\/div>\r\n\r\n      <h3>The Triple Tie-Out<\/h3>\r\n      <p>AppFolio&rsquo;s reconciliation is built around a check of three numbers, often called the <strong>triple tie-out<\/strong>:<\/p>\r\n\r\n      <div class=\"mas-publication-flow\">\r\n        <div class=\"mas-publication-flow-item\">Statement Ending Balance<\/div>\r\n        <div class=\"mas-publication-flow-arrow mas-publication-flow-plus\" aria-hidden=\"true\">=<\/div>\r\n        <div class=\"mas-publication-flow-item\">Cleared Balance<\/div>\r\n        <div class=\"mas-publication-flow-arrow mas-publication-flow-plus\" aria-hidden=\"true\">=<\/div>\r\n        <div class=\"mas-publication-flow-item\">Adjusted Cash Balance<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-table-scroll\">\r\n        <table class=\"mas-publication-table\">\r\n          <thead>\r\n            <tr><th>Number<\/th><th>Where It Comes From<\/th><\/tr>\r\n          <\/thead>\r\n          <tbody>\r\n            <tr><td class=\"mas-publication-td-strong\">Statement ending balance<\/td><td>Entered by you, exactly as it appears on the bank statement<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Cleared balance<\/td><td>Built from the items you check off as cleared during the reconciliation<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Adjusted Cash Balance<\/td><td>Calculated by AppFolio from property balances and unreconciled items. It shows what the bank balance should be if every entry in AppFolio is accurate.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <p>AppFolio consultants describe the Adjusted Cash Balance turning red on the reconciliation summary when the tie-out fails. Because the Adjusted Cash Balance is built from the property ledgers, it is a stronger test than comparing a bank balance to a single ledger total, but it still does not replace looking at the individual lines.<\/p>\r\n\r\n      <h3>Operating and Trust Reconciliations Are Different Exercises<\/h3>\r\n      <p>The mechanics look the same on screen, but the standard is different, because the money means something different:<\/p>\r\n\r\n      <div class=\"mas-publication-table-scroll\">\r\n        <table class=\"mas-publication-table\">\r\n          <thead>\r\n            <tr><th>Feature<\/th><th>Operating Account<\/th><th>Trust Account<\/th><\/tr>\r\n          <\/thead>\r\n          <tbody>\r\n            <tr><td class=\"mas-publication-td-strong\">Whose money<\/td><td>The management company&rsquo;s own funds: fees, payroll, overhead<\/td><td>Funds held for others: owner funds, tenant funds, and often security deposits<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">What a break means<\/td><td>Company financials are distorted<\/td><td>An owner&rsquo;s or tenant&rsquo;s money may be misstated, misapplied, or short<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Must tie to<\/td><td>The company&rsquo;s own ledger<\/td><td>Every underlying property, owner, and tenant balance<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Exposure<\/td><td>Mostly internal, tax, and lender reporting<\/td><td>State trust accounting rules, owner disputes, and audits<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Tolerance for unexplained differences<\/td><td>Low<\/td><td>Effectively none<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-warning\">\r\n        <p class=\"mas-publication-box-title\">Important Note<\/p>\r\n        <p>Trust accounting requirements differ by state, so confirm what your own regulator requires. AppFolio&rsquo;s own guidance is to reconcile bank accounts monthly to stay in line with most local real estate regulations.<\/p>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- ================= SECTION 2 ================= -->\r\n    <section class=\"mas-publication-section\" id=\"section-2\">\r\n      <div class=\"mas-publication-section-head\">\r\n        <span class=\"mas-publication-num\">2<\/span>\r\n        <h2>Who Feels the Pain and Why It Sneaks Up<\/h2>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-figure\" role=\"figure\">\r\n        <img class=\"mas-publication-figure-img\" src=\"https:\/\/maspartner.com\/wp-content\/uploads\/2026\/10\/image-2-1.png\" alt=\"Stressed property manager surrounded by alerts for tenant arrears, overdue maintenance, compliance warnings, and lease expiries, along with floating rent receipts, utility bills, and vendor invoices\" decoding=\"async\">\r\n        <div class=\"mas-publication-figure-fallback\"><div class=\"mas-publication-img-placeholder\"><strong>Image 1: Property manager facing end-of-month alerts<\/strong><span>Replace [https:\/\/maspartner.com\/wp-content\/uploads\/2026\/10\/image-2-1.png] with the image link<\/span><\/div><\/div>\r\n      <\/div>\r\n\r\n      <h3>Any Company Running Multiple Bank Accounts Through AppFolio<\/h3>\r\n      <p>The pain shows up wherever a property management company runs more than one bank account through AppFolio: an operating account plus one or more trust accounts, sometimes split by jurisdiction or by owner. Each account is its own reconciliation with its own statement.<\/p>\r\n\r\n      <div class=\"mas-publication-example\">\r\n        <p class=\"mas-publication-box-title\">Example<\/p>\r\n        <p>A company with eight bank accounts has eight reconciliations to finish every month, all due around the same time.<\/p>\r\n      <\/div>\r\n\r\n      <h3>Why the Panic Is a Monthly Event<\/h3>\r\n      <p>The panic repeats because reconciliation gets treated as a deadline task instead of an ongoing check. Nothing forces anyone to look at the account between statements, and balances that look plausible hide small problems. So a month of small breaks surfaces all at once, on the day the account has to tie out.<\/p>\r\n\r\n      <h3>The Discovery Moment<\/h3>\r\n      <p>It usually happens the day owner statements are due. Someone starts the reconciliation, the numbers do not tie, and now the team is hunting for the cause under pressure. The person who entered the odd transaction may not remember why, and the bank statement is a month old.<\/p>\r\n\r\n      <h3>What Accumulates Between Reconciliations<\/h3>\r\n      <p>In a month with no checking, several kinds of small problems build up:<\/p>\r\n      <ul>\r\n        <li>Deposits or batches that never cleared<\/li>\r\n        <li>Timing gaps that were never followed up<\/li>\r\n        <li>Bank fees and NSF charges that were never entered<\/li>\r\n        <li>Receipts dated before their deposits<\/li>\r\n        <li>Voids and reissued checks handled on only one side<\/li>\r\n        <li>Transactions entered by hand that bypassed the normal flow<\/li>\r\n      <\/ul>\r\n\r\n      <div class=\"mas-publication-statbox\">\r\n        <p class=\"mas-publication-box-title\">Why This Matters<\/p>\r\n        <p>Any one of these takes minutes to fix when it is a day old. Ten of them stacked together, with several hiding each other, is the panic.<\/p>\r\n      <\/div>\r\n\r\n      <h3>What the Research Actually Says<\/h3>\r\n      <p>There is no rigorous study specific to AppFolio or property management that measures error rates for deadline-driven versus continuous reconciliation, and this guide does not invent one. What exists is practitioner consensus across accounting generally. Controllership guidance notes that continuous practices spread work more evenly and surface problems sooner, and that an unexplained balance found mid-month is generally easier to investigate than one found while the team is racing a reporting deadline.<\/p>\r\n      <p>Property management adds its own reason to reconcile early: AppFolio&rsquo;s guidance treats monthly reconciliation as the baseline for regulatory compliance, and it markets its Bank Feed as supporting reconciliation weekly or even daily.<\/p>\r\n\r\n      <div class=\"mas-publication-statbox\">\r\n        <p class=\"mas-publication-box-title\">A Note on the Evidence<\/p>\r\n        <p>Treat the case for continuous review as sound practice, not as a proven statistic.<\/p>\r\n      <\/div>\r\n\r\n      <h3>The Firm Profile Most Prone to This<\/h3>\r\n      <p>The firms that feel this most share four characteristics: a <strong>growing unit count<\/strong>, <strong>several trust accounts<\/strong>, <strong>thin bookkeeping bandwidth<\/strong>, and <strong>bank feed review that is still done by hand<\/strong>.<\/p>\r\n\r\n      <div class=\"mas-publication-example\">\r\n        <p class=\"mas-publication-box-title\">Example<\/p>\r\n        <p>Growth adds accounts and transactions faster than it adds people, so a routine that worked at 200 units quietly stops working at 800.<\/p>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- ================= SECTION 3 ================= -->\r\n    <section class=\"mas-publication-section\" id=\"section-3\">\r\n      <div class=\"mas-publication-section-head\">\r\n        <span class=\"mas-publication-num\">3<\/span>\r\n        <h2>How Reconciliation Is Supposed to Work in AppFolio<\/h2>\r\n      <\/div>\r\n\r\n      <h3>Step-by-Step Walkthrough<\/h3>\r\n      <p>The workflow below follows the general AppFolio process. Button names can vary by version, so use it as a map of what needs to happen, in order.<\/p>\r\n\r\n      <div class=\"mas-publication-steps\">\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Step 1<\/div>\r\n          <div class=\"mas-publication-step-text\"><span><strong>Check the prerequisites.<\/strong> The bank feed should be connected and current. Every receipt should have been deposited in AppFolio (using the Make Bank Deposit function) with a deposit date that matches the bank&rsquo;s. The prior period should be reconciled so that the beginning balance matches the last reconciliation.<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Step 2<\/div>\r\n          <div class=\"mas-publication-step-text\"><span><strong>Open the reconciliation.<\/strong> From Accounting, go to Bank Accounts, choose the account, and start the reconciliation.<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Step 3<\/div>\r\n          <div class=\"mas-publication-step-text\"><span><strong>Enter the statement ending date and ending balance<\/strong> exactly as they appear on the bank statement.<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Step 4<\/div>\r\n          <div class=\"mas-publication-step-text\"><span><strong>Review the bank feed and matches.<\/strong> AppFolio&rsquo;s Bank Feed retrieves transactions through a bank integration or an uploaded file and automatically matches and clears what it can (AppFolio says up to 80 to 90 percent). For items it cannot match, it suggests likely AppFolio records. For items not yet entered, such as auto-payments, you can create the record directly from the feed. Review these matches rather than trusting them blindly.<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Step 5<\/div>\r\n          <div class=\"mas-publication-step-text\"><span><strong>Check off cleared transactions individually.<\/strong> Checks, deposits, ACH payments, and owner draws each need to be confirmed against the statement one at a time, not approved in bulk. The search boxes above the deposit and payment lists help you find specific items.<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Step 6<\/div>\r\n          <div class=\"mas-publication-step-text\"><span><strong>Read the transaction warnings.<\/strong> AppFolio flags problems such as receipts that were never deposited or whose dates do not line up with their deposits.<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Step 7<\/div>\r\n          <div class=\"mas-publication-step-text\"><span><strong>Watch the difference.<\/strong> The gap between the statement ending balance and the cleared balance is what remains unexplained. The calculator should read Balanced, and the reconciliation summary should show the ending balance, cleared balance, and Adjusted Cash Balance in agreement.<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Step 8<\/div>\r\n          <div class=\"mas-publication-step-text\"><span><strong>Finish the reconciliation<\/strong> only when it ties out with no unexplained difference, and save the reconciliation report and statement with your records.<\/span><\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-statbox\">\r\n        <p class=\"mas-publication-box-title\">About the Difference Field<\/p>\r\n        <p>The difference is not a number to be reduced to zero by any means available. It is a measure of what you have not yet explained.<\/p>\r\n        <p>A non-zero difference means a bank line has not been matched, an amount is wrong, a date is wrong, or something was never entered.<\/p>\r\n      <\/div>\r\n\r\n      <h3>Why Reconciled Periods Are Protected<\/h3>\r\n      <p>Once a period is reconciled, the transactions cleared in it are effectively locked in. AppFolio consultants note that past transactions generally cannot be changed if doing so would require unreconciling, so a correction usually means going back and unreconciling first. That friction is deliberate. It protects against three things:<\/p>\r\n      <ul>\r\n        <li><strong>Quiet back-editing<\/strong> that could change the numbers of a closed period after statements have already gone to owners<\/li>\r\n        <li><strong>An unstable starting point<\/strong>, by keeping the next period&rsquo;s beginning balance fixed<\/li>\r\n        <li><strong>A broken audit trail<\/strong>, by preserving the record of what was reconciled and when<\/li>\r\n      <\/ul>\r\n      <p>It also explains why catching problems early matters: an error found after the period closes is more work to fix than the same error found while the period is open.<\/p>\r\n\r\n      <div class=\"mas-publication-example\">\r\n        <p class=\"mas-publication-box-title\">Example: A Late Void<\/p>\r\n        <p>A receipt voided after its period was reconciled creates a reversal that lands in the current period. The two halves of the correction sit in different reconciliation windows, and the current period will be off by that amount until someone finds it.<\/p>\r\n      <\/div>\r\n\r\n      <h3>What a Clean Reconciliation Looks Like<\/h3>\r\n      <p>A clean reconciliation meets every one of these conditions:<\/p>\r\n      <ul class=\"mas-publication-checklist\">\r\n        <li><span class=\"mas-publication-checklist-box\" aria-hidden=\"true\"><\/span><span>Zero unexplained difference<\/span><\/li>\r\n        <li><span class=\"mas-publication-checklist-box\" aria-hidden=\"true\"><\/span><span>Every deposit is matched to a batch and a bank line<\/span><\/li>\r\n        <li><span class=\"mas-publication-checklist-box\" aria-hidden=\"true\"><\/span><span>Every check is matched to a disbursement<\/span><\/li>\r\n        <li><span class=\"mas-publication-checklist-box\" aria-hidden=\"true\"><\/span><span>Items still outstanding are few, recent, and easy to explain<\/span><\/li>\r\n        <li><span class=\"mas-publication-checklist-box\" aria-hidden=\"true\"><\/span><span>The Adjusted Cash Balance agrees with the cleared balance and the statement ending balance<\/span><\/li>\r\n        <li><span class=\"mas-publication-checklist-box\" aria-hidden=\"true\"><\/span><span>The beginning balance equals the previous period&rsquo;s ending balance<\/span><\/li>\r\n        <li><span class=\"mas-publication-checklist-box\" aria-hidden=\"true\"><\/span><span>You could explain the account to an owner or an auditor line by line<\/span><\/li>\r\n      <\/ul>\r\n\r\n      <h3>The Order of Operations That Prevents Problems<\/h3>\r\n      <p>Reconcile trust accounts <strong>before<\/strong> generating owner statements, not after. Statements are built from the same ledger the reconciliation is checking, so a break found afterward means corrected numbers and possibly reissued statements.<\/p>\r\n\r\n      <div class=\"mas-publication-flow\">\r\n        <div class=\"mas-publication-flow-item\">Reconcile Trust Accounts<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Resolve Every Difference<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Generate Owner Statements<\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-warning\">\r\n        <p class=\"mas-publication-box-title\">Key Rule<\/p>\r\n        <p>Reconciling first means owners only ever see numbers that have already been tested against the bank.<\/p>\r\n      <\/div>\r\n\r\n      <h3>The Common Shortcut and Why It Fails<\/h3>\r\n      <p>The most common shortcut is <strong>force-matching<\/strong> the ending balance instead of matching every line: marking items as cleared, or posting an adjustment, just to make the difference read zero. It does not solve the problem, it defers it. The error stays in the ledger, the next period starts from a beginning balance that carries the hidden gap, and the next reconciliation is harder than this one was.<\/p>\r\n\r\n      <div class=\"mas-publication-warning\">\r\n        <p class=\"mas-publication-box-title\">Important Note: Bank Adjustments<\/p>\r\n        <p>AppFolio consultants specifically warn that bank adjustments should be reserved for genuine bank errors or for items that were uncleared before go-live. Using them for fees, interest, or transfers throws the Adjusted Cash Balance off, because they change the bank balance but not the property balances.<\/p>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- ================= SECTION 4 ================= -->\r\n    <section class=\"mas-publication-section\" id=\"section-4\">\r\n      <div class=\"mas-publication-section-head\">\r\n        <span class=\"mas-publication-num\">4<\/span>\r\n        <h2>Why Reconciliations Break: The Root Causes<\/h2>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-figure\" role=\"figure\">\r\n        <img class=\"mas-publication-figure-img\" src=\"https:\/\/maspartner.com\/wp-content\/uploads\/2026\/10\/image-3-1.png\" alt=\"Two streams of data blocks, one glowing blue and one amber, breaking apart in the middle to represent ledger and bank records falling out of alignment\" decoding=\"async\">\r\n        <div class=\"mas-publication-figure-fallback\"><div class=\"mas-publication-img-placeholder\"><strong>Image 2: Ledger and bank data streams breaking apart<\/strong><span>Replace [https:\/\/maspartner.com\/wp-content\/uploads\/2026\/10\/image-3-1.png] with the image link<\/span><\/div><\/div>\r\n      <\/div>\r\n\r\n      <p>Seven causes account for most accounts that will not tie out at month end. Some are harmless timing differences. Others are structural errors that will not resolve on their own:<\/p>\r\n\r\n      <div class=\"mas-publication-table-scroll\">\r\n        <table class=\"mas-publication-table\">\r\n          <thead>\r\n            <tr><th>Cause<\/th><th>Timing or Error<\/th><th>What It Looks Like<\/th><\/tr>\r\n          <\/thead>\r\n          <tbody>\r\n            <tr><td class=\"mas-publication-td-strong\">Deposit recorded in AppFolio but not on the bank statement<\/td><td>Timing if it clears soon; error if it never will<\/td><td>An outstanding deposit that ages<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Bank fees or interest never entered<\/td><td>Error (omission)<\/td><td>A bank line with no AppFolio record<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Voided or reissued checks not handled on both sides<\/td><td>Error<\/td><td>Old and replacement checks both outstanding<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Batch deposit split incorrectly<\/td><td>Structural<\/td><td>Total matches, components do not<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Transactions entered directly against the bank account<\/td><td>Structural<\/td><td>Entries with no charge, payment, or batch trail<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Prior period force-balanced<\/td><td>Structural, carried forward<\/td><td>A recurring mismatch that starts in an old period<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Trust accounts cross-posted<\/td><td>Structural<\/td><td>One account over and another under by the same amount<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <h3>A Closer Look at Each Cause<\/h3>\r\n\r\n      <div class=\"mas-publication-scenario\">\r\n        <div class=\"mas-publication-scenario-head\">\r\n          <span class=\"mas-publication-scenario-tag\">Cause 1<\/span>\r\n          <h4>Deposits Recorded but Not on the Statement<\/h4>\r\n        <\/div>\r\n        <div class=\"mas-publication-scenario-body\">\r\n          <p>A deposit dated near month end may simply clear in the next statement period. That is timing, not error. But a deposit that stays outstanding well past when it should have cleared, or one that will never show at all, is a real error. In AppFolio, a receipt dated earlier than its deposit is a frequent trigger, and it appears in the transaction warnings on the reconciliation screen.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-scenario\">\r\n        <div class=\"mas-publication-scenario-head\">\r\n          <span class=\"mas-publication-scenario-tag\">Cause 2<\/span>\r\n          <h4>Bank Fees or Interest Never Entered<\/h4>\r\n        <\/div>\r\n        <div class=\"mas-publication-scenario-body\">\r\n          <p>The bank posts fees, service charges, interest, and NSF items on its own schedule. If nobody enters them in AppFolio, the bank shows a line the ledger never had, and any related expense is understated.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-scenario\">\r\n        <div class=\"mas-publication-scenario-head\">\r\n          <span class=\"mas-publication-scenario-tag\">Cause 3<\/span>\r\n          <h4>Voided or Reissued Checks Handled on One Side Only<\/h4>\r\n        <\/div>\r\n        <div class=\"mas-publication-scenario-body\">\r\n          <p>If a check is replaced without the original being voided, both can sit as outstanding indefinitely and hide the real variance underneath. A void made after the period was reconciled adds the timing problem described in Section 3, because the reversal lands in a different period.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-scenario\">\r\n        <div class=\"mas-publication-scenario-head\">\r\n          <span class=\"mas-publication-scenario-tag\">Cause 4<\/span>\r\n          <h4>A Batch Deposit Split Incorrectly<\/h4>\r\n        <\/div>\r\n        <div class=\"mas-publication-scenario-body\">\r\n          <p>A batch deposit can match the bank total exactly and still contain the wrong receipts, for example a payment from one tenant swapped with another or a receipt belonging on a different deposit. The total agrees, so the reconciliation may pass, while individual tenant and property ledgers are wrong.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-scenario\">\r\n        <div class=\"mas-publication-scenario-head\">\r\n          <span class=\"mas-publication-scenario-tag\">Cause 5<\/span>\r\n          <h4>Transactions Entered Directly Against the Bank Account<\/h4>\r\n        <\/div>\r\n        <div class=\"mas-publication-scenario-body\">\r\n          <p>Entering a deposit or payment by hand against the bank account, instead of through the normal charge, payment, and batch flow, leaves an entry with no trail behind it. These entries are hard to trace later and are a common source of duplicates when the same item also arrives through the bank feed.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-scenario\">\r\n        <div class=\"mas-publication-scenario-head\">\r\n          <span class=\"mas-publication-scenario-tag\">Cause 6<\/span>\r\n          <h4>A Prior Period That Was Force-Balanced<\/h4>\r\n        <\/div>\r\n        <div class=\"mas-publication-scenario-body\">\r\n          <p>When an earlier reconciliation was made to work rather than fully matched, the discrepancy does not disappear. It shows up as a beginning balance that does not agree with the statement, or as an Adjusted Cash Balance that is off by the same amount every month.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-scenario\">\r\n        <div class=\"mas-publication-scenario-head\">\r\n          <span class=\"mas-publication-scenario-tag\">Cause 7<\/span>\r\n          <h4>Trust Accounts with Cross-Posted Transactions<\/h4>\r\n        <\/div>\r\n        <div class=\"mas-publication-scenario-body\">\r\n          <p>With several trust accounts, a deposit or disbursement posted to the wrong one leaves one account over and another under by the same amount. Each account looks broken on its own, and the cause only becomes clear when they are compared.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <h3>Why Timing Versus Error Matters<\/h3>\r\n      <p>Treating a timing difference like an error leads to forced entries, duplicates, and unnecessary corrections. Treating an error like timing means waiting for something that will never resolve.<\/p>\r\n\r\n      <div class=\"mas-publication-table-scroll\">\r\n        <table class=\"mas-publication-table\">\r\n          <thead>\r\n            <tr><th>Test<\/th><th>Timing Difference<\/th><th>True Error<\/th><\/tr>\r\n          <\/thead>\r\n          <tbody>\r\n            <tr><td class=\"mas-publication-td-strong\">Bank-side event expected?<\/td><td>Yes, such as a deposit in transit that will post or a check that will clear<\/td><td>No expected event<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Age of the item<\/td><td>Recent<\/td><td>Outstanding for a long time (60 to 90 days is a common red flag)<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Next period<\/td><td>Clears on its own<\/td><td>Does not resolve<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Right response<\/td><td>Leave it outstanding and track it<\/td><td>Investigate it as an error<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-statbox\">\r\n        <p class=\"mas-publication-box-title\">The Practical Test<\/p>\r\n        <p>A real timing item has a bank-side event that is expected soon, and it clears in the next period. If there is no expected event, or the item has been outstanding for a long time (many practitioners treat 60 to 90 days as a red flag), investigate it as an error.<\/p>\r\n      <\/div>\r\n\r\n      <h3>The Most Frequently Reported Breaks<\/h3>\r\n      <p>AppFolio&rsquo;s own help material and the bookkeeping firms that specialize in it keep returning to the same list:<\/p>\r\n      <ul class=\"mas-publication-cols\">\r\n        <li>Undeposited receipts flagged in the transaction warnings<\/li>\r\n        <li>Receipt dates that do not match deposit dates<\/li>\r\n        <li>A beginning balance that does not match the last reconciliation<\/li>\r\n        <li>Bank charges and credits that were never entered<\/li>\r\n        <li>NSF items not processed in AppFolio<\/li>\r\n        <li>Receipts voided after a period was reconciled<\/li>\r\n        <li>Bank adjustments used for the wrong purposes<\/li>\r\n        <li>Backdated or edited transactions in closed periods<\/li>\r\n        <li>A bank feed connection that quietly stopped updating<\/li>\r\n        <li>Payments assigned to the wrong property even though the cash reconciles<\/li>\r\n      <\/ul>\r\n      <p>These come from AppFolio-focused consultants and support material rather than a formal study, but the pattern is consistent, and it matches the causes above.<\/p>\r\n    <\/section>\r\n\r\n    <!-- ================= SECTION 5 ================= -->\r\n    <section class=\"mas-publication-section\" id=\"section-5\">\r\n      <div class=\"mas-publication-section-head\">\r\n        <span class=\"mas-publication-num\">5<\/span>\r\n        <h2>How to Diagnose a Discrepancy Before It Becomes a Panic<\/h2>\r\n      <\/div>\r\n\r\n      <h3>Read the Diagnostic Tools Before Hunting<\/h3>\r\n      <p>Start with what AppFolio is already telling you:<\/p>\r\n      <ul>\r\n        <li>The <strong>reconciliation summary<\/strong> shows whether the ending balance, cleared balance, and Adjusted Cash Balance agree.<\/li>\r\n        <li>The <strong>transaction warnings<\/strong> flag receipts that were never deposited or whose dates do not line up.<\/li>\r\n        <li>The <strong>Bank Reconciliation Diagnostic report<\/strong> under Reports, which AppFolio consultants point to, surfaces backdated and edited transactions quickly.<\/li>\r\n      <\/ul>\r\n      <p>Which number is off tells you where to look:<\/p>\r\n\r\n      <div class=\"mas-publication-table-scroll\">\r\n        <table class=\"mas-publication-table\">\r\n          <thead>\r\n            <tr><th>What Is Off<\/th><th>What It Usually Points To<\/th><\/tr>\r\n          <\/thead>\r\n          <tbody>\r\n            <tr><td class=\"mas-publication-td-strong\">Cleared balance does not equal the statement ending balance<\/td><td>A bank line not checked off, a wrong amount, a wrong date, or an item never entered<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Adjusted Cash Balance does not agree<\/td><td>A ledger-side issue: a backdated or edited transaction, a receipt reversed after the period closed, a bank adjustment used incorrectly, or an undeposited receipt<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Beginning balance does not match the last reconciliation<\/td><td>An earlier period that was edited, unreconciled, or force-balanced<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <h3>Is It Timing or a True Error?<\/h3>\r\n      <p>Ask three questions about each unexplained item:<\/p>\r\n\r\n      <div class=\"mas-publication-steps\">\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Q1<\/div>\r\n          <div class=\"mas-publication-step-text\"><span>Is there a bank-side event still expected, such as a deposit that should post or a check that should clear?<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Q2<\/div>\r\n          <div class=\"mas-publication-step-text\"><span>How old is the item?<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Q3<\/div>\r\n          <div class=\"mas-publication-step-text\"><span>Will it clear next period without anyone touching it?<\/span><\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-statbox\">\r\n        <p class=\"mas-publication-box-title\">Reading the Answers<\/p>\r\n        <p><strong>Yes, recent, and yes:<\/strong> it is timing. Leave it alone and track it.<\/p>\r\n        <p><strong>Anything else:<\/strong> it will not resolve on its own and needs to be treated as an error.<\/p>\r\n      <\/div>\r\n\r\n      <h3>Compare the Bank Statement Line by Line<\/h3>\r\n      <p>Comparing ending balances proves nothing about the lines in between. Put the bank statement and AppFolio&rsquo;s transaction list side by side in date order and tick off each line. For every item that does not match on one side or the other, ask four things:<\/p>\r\n\r\n      <div class=\"mas-publication-flow\">\r\n        <div class=\"mas-publication-flow-item\">Was It Entered?<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Is the Amount Right?<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Right Account and Property?<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Is the Date Right?<\/div>\r\n      <\/div>\r\n\r\n      <h3>Spot the Usual Suspects Fast<\/h3>\r\n      <p>Most breaks turn out to be one of a handful of things:<\/p>\r\n      <ul>\r\n        <li>A duplicate, often a manual entry plus the same item arriving through the bank feed<\/li>\r\n        <li>A missing bank fee<\/li>\r\n        <li>A split-batch error<\/li>\r\n        <li>A transaction posted to the wrong account or property<\/li>\r\n      <\/ul>\r\n\r\n      <div class=\"mas-publication-statbox\">\r\n        <p class=\"mas-publication-box-title\">Pro Tip<\/p>\r\n        <p>Search for the amount of the difference, and for half of it in case two errors point in opposite directions. This finds many breaks in minutes.<\/p>\r\n      <\/div>\r\n\r\n      <h3>Build a Mid-Month Health Check<\/h3>\r\n      <p>The single most effective change is a short check, done weekly or every other week, so that discrepancies are caught in days instead of weeks:<\/p>\r\n\r\n      <div class=\"mas-publication-steps\">\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Step 1<\/div>\r\n          <div class=\"mas-publication-step-text\"><span>Confirm each bank feed is connected and updating.<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Step 2<\/div>\r\n          <div class=\"mas-publication-step-text\"><span>Review unmatched Bank Feed items and enter anything missing, such as fees and auto-payments.<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Step 3<\/div>\r\n          <div class=\"mas-publication-step-text\"><span>Confirm every payment received has a deposit or batch behind it.<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Step 4<\/div>\r\n          <div class=\"mas-publication-step-text\"><span>Read the transaction warnings and the reconciliation status for each account.<\/span><\/div>\r\n        <\/div>\r\n        <div class=\"mas-publication-step\">\r\n          <div class=\"mas-publication-step-label\">Step 5<\/div>\r\n          <div class=\"mas-publication-step-text\"><span>Look for anything outstanding longer than it should be.<\/span><\/div>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <h3>Trust Discrepancies Come First<\/h3>\r\n      <div class=\"mas-publication-warning\">\r\n        <p class=\"mas-publication-box-title\">Key Rule: No Exceptions<\/p>\r\n        <p>If the discrepancy is in a trust account, it has to be resolved before any owner statement is generated. Trust funds belong to owners and tenants, a statement commits numbers to them, and sending statements on top of an unexplained trust difference means telling owners something you cannot yet prove.<\/p>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- ================= SECTION 6 ================= -->\r\n    <section class=\"mas-publication-section\" id=\"section-6\">\r\n      <div class=\"mas-publication-section-head\">\r\n        <span class=\"mas-publication-num\">6<\/span>\r\n        <h2>How to Fix Discrepancies Without Creating New Ones<\/h2>\r\n      <\/div>\r\n\r\n      <h3>The Governing Principle<\/h3>\r\n      <div class=\"mas-publication-statbox\">\r\n        <p class=\"mas-publication-box-title\">Fix the Transaction, Not the Balance<\/p>\r\n        <p>Fix the transaction that caused the gap. Do not adjust the ending balance to match.<\/p>\r\n      <\/div>\r\n\r\n      <p>A correction at the source leaves the ledger, the property balances, and the audit trail all telling the same true story. An adjustment at the balance leaves the underlying error in place and just hides where it is.<\/p>\r\n\r\n      <div class=\"mas-publication-table-scroll\">\r\n        <table class=\"mas-publication-table\">\r\n          <thead>\r\n            <tr><th><\/th><th>Correction at the Source<\/th><th>Adjustment at the Balance<\/th><\/tr>\r\n          <\/thead>\r\n          <tbody>\r\n            <tr><td class=\"mas-publication-td-strong\">Ledger<\/td><td>Accurate<\/td><td>Still contains the error<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Property balances<\/td><td>Accurate<\/td><td>Unchanged and still wrong<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Audit trail<\/td><td>Tells the true story<\/td><td>Hides where the error is<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Next period<\/td><td>Starts clean<\/td><td>Inherits the hidden gap<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <h3>Five Common Scenarios<\/h3>\r\n\r\n      <div class=\"mas-publication-scenario\">\r\n        <div class=\"mas-publication-scenario-head\">\r\n          <span class=\"mas-publication-scenario-tag\">Scenario 1<\/span>\r\n          <h4>A Bank Fee Was Never Entered<\/h4>\r\n        <\/div>\r\n        <div class=\"mas-publication-scenario-body\">\r\n          <ul>\r\n            <li>Enter it as a proper transaction in the correct account, dated as of the fee, through the normal workflow so it can clear against the bank line.<\/li>\r\n            <li>Do not use a bank adjustment for a fee, because bank adjustments change the bank balance without touching the property balances and will throw off the Adjusted Cash Balance.<\/li>\r\n            <li>Before assigning the fee, confirm who is meant to bear it under your management agreement and your state&rsquo;s rules.<\/li>\r\n          <\/ul>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-scenario\">\r\n        <div class=\"mas-publication-scenario-head\">\r\n          <span class=\"mas-publication-scenario-tag\">Scenario 2<\/span>\r\n          <h4>A Deposit Timing Difference<\/h4>\r\n        <\/div>\r\n        <div class=\"mas-publication-scenario-body\">\r\n          <ul>\r\n            <li>Confirm that the deposit actually clears in the next period, and leave it outstanding until it does. Do not force it into this period.<\/li>\r\n            <li>If the receipt is dated earlier than its deposit and that is what is causing the mismatch, correct the receipt date to match the deposit rather than adding a new entry.<\/li>\r\n            <li>If the deposit does not clear when expected, stop treating it as timing and investigate it.<\/li>\r\n          <\/ul>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-scenario\">\r\n        <div class=\"mas-publication-scenario-head\">\r\n          <span class=\"mas-publication-scenario-tag\">Scenario 3<\/span>\r\n          <h4>A Split-Batch Error<\/h4>\r\n        <\/div>\r\n        <div class=\"mas-publication-scenario-body\">\r\n          <ul>\r\n            <li>Trace back to the original batch and correct the components, not just the total.<\/li>\r\n            <li>Find which receipts belong in the batch and which do not, and fix them at the receipt or deposit level.<\/li>\r\n            <li>Check the affected tenant and property ledgers, because the total was never the problem.<\/li>\r\n          <\/ul>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-scenario\">\r\n        <div class=\"mas-publication-scenario-head\">\r\n          <span class=\"mas-publication-scenario-tag\">Scenario 4<\/span>\r\n          <h4>A Direct-to-Bank Entry That Bypassed the Normal Flow<\/h4>\r\n        <\/div>\r\n        <div class=\"mas-publication-scenario-body\">\r\n          <ul>\r\n            <li>Reverse the manual entry and re-enter the item through the correct workflow: charge, receipt, and deposit for money in; bill and payment for money out. Keep a note of both steps.<\/li>\r\n            <li>Be careful with dates: a reversal of an item in a reconciled period lands in the current one, so check the Adjusted Cash Balance after the correction.<\/li>\r\n          <\/ul>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-scenario\">\r\n        <div class=\"mas-publication-scenario-head\">\r\n          <span class=\"mas-publication-scenario-tag\">Scenario 5<\/span>\r\n          <h4>A Prior Period That Was Force-Balanced<\/h4>\r\n        <\/div>\r\n        <div class=\"mas-publication-scenario-body\">\r\n          <p>There are two routes:<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-table-scroll\">\r\n        <table class=\"mas-publication-table\">\r\n          <thead>\r\n            <tr><th><\/th><th>Route A: Reopen the Period<\/th><th>Route B: True Up Currently<\/th><\/tr>\r\n          <\/thead>\r\n          <tbody>\r\n            <tr><td class=\"mas-publication-td-strong\">What you do<\/td><td>Unreconcile the period and correct the error where it originated<\/td><td>True up the difference in the current period with a clearly documented entry<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Advantage<\/td><td>Accurate historical numbers<\/td><td>Faster<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Trade-off<\/td><td>May mean reissued owner statements<\/td><td>Current statements carry the effect of an earlier month and need a plain explanation for owners<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <p>The right choice depends on:<\/p>\r\n      <ul class=\"mas-publication-cols\">\r\n        <li>The size of the error<\/li>\r\n        <li>Whether it touched owner distributions<\/li>\r\n        <li>What your state&rsquo;s trust rules require<\/li>\r\n        <li>Whether statements have already gone out<\/li>\r\n      <\/ul>\r\n      <p>Make that call with whoever is responsible for trust compliance, and document why.<\/p>\r\n\r\n      <h3>What Not to Do<\/h3>\r\n      <div class=\"mas-publication-warning\">\r\n        <p class=\"mas-publication-box-title\">Important Note<\/p>\r\n        <p>Do not adjust the reconciliation&rsquo;s ending balance to make it work. It destroys the audit trail, since the bank statement and the reconciliation no longer agree, and it does not remove the problem. It only relocates it into next month&rsquo;s beginning balance.<\/p>\r\n        <p>The same goes for using a bank adjustment as a plug.<\/p>\r\n      <\/div>\r\n\r\n      <h3>Keep a Record of Every Correction<\/h3>\r\n      <p>Every correction should be logged with the reason, so the next audit or owner question can be answered in minutes rather than by reconstruction. A simple log is enough:<\/p>\r\n\r\n      <h4>Sample Correction Log<\/h4>\r\n      <div class=\"mas-publication-table-scroll\">\r\n        <table class=\"mas-publication-table\">\r\n          <thead>\r\n            <tr><th>Date<\/th><th>Account and Period<\/th><th>What Was Wrong<\/th><th>What Was Done<\/th><th>Reviewed By<\/th><\/tr>\r\n          <\/thead>\r\n          <tbody>\r\n            <tr><td>(date)<\/td><td>Trust account, (month)<\/td><td>Bank fee on statement never entered<\/td><td>Entered fee to the correct account and period; cleared against the bank line<\/td><td>(name)<\/td><\/tr>\r\n            <tr class=\"mas-publication-tr-blank\"><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><\/tr>\r\n            <tr class=\"mas-publication-tr-blank\"><td><\/td><td><\/td><td><\/td><td><\/td><td><\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- ================= SECTION 7 ================= -->\r\n    <section class=\"mas-publication-section\" id=\"section-7\">\r\n      <div class=\"mas-publication-section-head\">\r\n        <span class=\"mas-publication-num\">7<\/span>\r\n        <h2>Building a Reconciliation Process That Prevents the Panic<\/h2>\r\n      <\/div>\r\n\r\n      <h3>From Reconciling Under Pressure to Reviewing Continuously<\/h3>\r\n      <p>The goal is to change what the monthly reconciliation is. Instead of being the moment problems are discovered, it becomes the confirmation of a month that has already been reviewed. AppFolio&rsquo;s Bank Feed is designed to support that shift, since it allows reconciliation on a bi-monthly, weekly, or even daily basis.<\/p>\r\n\r\n      <div class=\"mas-publication-flow\">\r\n        <div class=\"mas-publication-flow-item\">Weekly Review<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Issues Fixed While Fresh<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Month-End Confirmation<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Owner Statements<\/div>\r\n      <\/div>\r\n\r\n      <h3>A Weekly or Bi-Weekly Checklist<\/h3>\r\n      <div class=\"mas-publication-table-scroll\">\r\n        <table class=\"mas-publication-table\">\r\n          <thead>\r\n            <tr><th>Task<\/th><th>Why It Matters<\/th><\/tr>\r\n          <\/thead>\r\n          <tbody>\r\n            <tr><td class=\"mas-publication-td-strong\">Review unmatched Bank Feed items<\/td><td>Catches fees, interest, and auto-payments that were never entered<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Confirm every bank feed is updating<\/td><td>A stalled feed is a common reason a reconciliation comes up short<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Confirm a batch or deposit exists for every payment received<\/td><td>Prevents undeposited receipts and split-batch surprises<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Spot-check bank fees and NSF items<\/td><td>Fees are among the most frequently missed entries<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Read transaction warnings and reconciliation status<\/td><td>Shows problems while the cause is still fresh<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Look for aging outstanding items<\/td><td>Separates timing from real errors early<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <h3>A Hard Internal Rule for Trust Accounts<\/h3>\r\n      <div class=\"mas-publication-warning\">\r\n        <p class=\"mas-publication-box-title\">Key Rule<\/p>\r\n        <p>Write it down and make it non-negotiable: <strong>trust accounts are reconciled before any owner statement is generated, every cycle, with no exceptions.<\/strong><\/p>\r\n        <p>A rule that has exceptions gets used exactly when the pressure is highest, which is when it matters most.<\/p>\r\n      <\/div>\r\n\r\n      <h3>Assign Clear Ownership<\/h3>\r\n      <p>Every bank account should have a named person responsible for its reconciliation and a named backup. This matters most in firms where several people record payments or process disbursements, because a task that belongs to everyone tends to belong to no one.<\/p>\r\n      <ul>\r\n        <li><strong>One named owner<\/strong> per bank account<\/li>\r\n        <li><strong>One named backup<\/strong> per bank account<\/li>\r\n        <li><strong>Separation of duties:<\/strong> where possible, the person who records payments and processes disbursements should not be the only person who reviews the reconciliation of those same accounts<\/li>\r\n      <\/ul>\r\n\r\n      <h3>Stagger Reconciliations Across Multiple Accounts<\/h3>\r\n      <p>Portfolios with many trust accounts across owners or states should not make every reconciliation due on the same day. Group accounts by statement cycle, give each a target date within the first several business days after its statement closes (a common practitioner benchmark is the first five), and work trust accounts before operating accounts.<\/p>\r\n\r\n      <h4>Example Reconciliation Schedule<\/h4>\r\n      <div class=\"mas-publication-table-scroll\">\r\n        <table class=\"mas-publication-table\">\r\n          <thead>\r\n            <tr><th>Business Day<\/th><th>Accounts to Reconcile<\/th><\/tr>\r\n          <\/thead>\r\n          <tbody>\r\n            <tr><td class=\"mas-publication-td-strong\">Days 1 and 2<\/td><td>Trust accounts, grouped by jurisdiction<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Day 3<\/td><td>Security deposit accounts<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Day 4<\/td><td>Operating accounts<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Day 5<\/td><td>Review, then owner statements<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n      <p>The exact schedule matters less than the fact that there is one.<\/p>\r\n\r\n      <h3>What AppFolio Can Do to Support the Rhythm<\/h3>\r\n      <div class=\"mas-publication-table-scroll\">\r\n        <table class=\"mas-publication-table\">\r\n          <thead>\r\n            <tr><th>AppFolio Tool<\/th><th>How It Helps<\/th><\/tr>\r\n          <\/thead>\r\n          <tbody>\r\n            <tr><td class=\"mas-publication-td-strong\">Bank Feed<\/td><td>Automates matching for the bulk of transactions. Found on the Bank Accounts page.<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Bank account list<\/td><td>Shows reconciliation status, with a last-reconciled date and a marker when an account is out of balance<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Transaction warnings<\/td><td>Flag problems during the reconciliation itself<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Financial Diagnostics<\/td><td>As described by AppFolio bookkeeping specialists, flags bank accounts that have gone more than 60 days without reconciliation<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Scheduled reminders<\/td><td>MASPARTNER&rsquo;s research did not find documentation of a configurable scheduled reminder for reconciliation. Ask AppFolio support what is available on your plan.<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-statbox\">\r\n        <p class=\"mas-publication-box-title\">Practical Tip<\/p>\r\n        <p>In the meantime, pair these tools with a recurring calendar or task reminder that names the owner of each account.<\/p>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-figure\" role=\"figure\">\r\n        <img class=\"mas-publication-figure-img\" src=\"https:\/\/maspartner.com\/wp-content\/uploads\/2026\/10\/image-4-1.png\" alt=\"Confident property manager reviewing a dashboard showing tenant ledgers all balanced, revenue synced at 100 percent, compliance fully certified, vendor invoices paid and reconciled, and lease expiries processed\" decoding=\"async\">\r\n        <div class=\"mas-publication-figure-fallback\"><div class=\"mas-publication-img-placeholder\"><strong>Image 3: Property manager with a fully reconciled dashboard<\/strong><span>Replace [https:\/\/maspartner.com\/wp-content\/uploads\/2026\/10\/image-4-1.png] with the image link<\/span><\/div><\/div>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- ================= SECTION 8 ================= -->\r\n    <section class=\"mas-publication-section\" id=\"section-8\">\r\n      <div class=\"mas-publication-section-head\">\r\n        <span class=\"mas-publication-num\">8<\/span>\r\n        <h2>When Reconciliation Problems Signal a Bigger Issue<\/h2>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-figure\" role=\"figure\">\r\n        <img class=\"mas-publication-figure-img\" src=\"https:\/\/maspartner.com\/wp-content\/uploads\/2026\/10\/image-5-1.png\" alt=\"Glowing puzzle pieces containing ledgers, charts, and a bank icon locking together between two data connectors, representing a connected and structurally sound accounting process\" decoding=\"async\">\r\n        <div class=\"mas-publication-figure-fallback\"><div class=\"mas-publication-img-placeholder\"><strong>Image 4: Accounting puzzle pieces fitting together<\/strong><span>Replace [https:\/\/maspartner.com\/wp-content\/uploads\/2026\/10\/image-5-1.png] with the image link<\/span><\/div><\/div>\r\n      <\/div>\r\n\r\n      <h3>Signs the Panic Is a Symptom, Not a Habit<\/h3>\r\n      <p>Sometimes a monthly panic is not a scheduling problem at all. Warning signs of a deeper trust or batching problem include:<\/p>\r\n      <ul>\r\n        <li>The same kind of break recurring every month<\/li>\r\n        <li>An Adjusted Cash Balance that only ties out with adjustments<\/li>\r\n        <li>Negative ledgers that keep coming back<\/li>\r\n        <li>Outstanding items that keep aging past 60 to 90 days<\/li>\r\n        <li>Reconciliations that were force-balanced<\/li>\r\n        <li>Frequent unreconciling of prior periods<\/li>\r\n        <li>Staff who cannot explain where a beginning balance came from<\/li>\r\n      <\/ul>\r\n\r\n      <div class=\"mas-publication-statbox\">\r\n        <p class=\"mas-publication-box-title\">What These Signs Usually Point To<\/p>\r\n        <p>How receipts are batched, how disbursements are approved, or how accounts are set up, not how often someone reconciles.<\/p>\r\n      <\/div>\r\n\r\n      <h3>What Chronic Trouble Does to Owner Trust, Statements, and Audit Exposure<\/h3>\r\n      <p>Chronic reconciliation trouble shows up first in owner statements. Numbers get corrected after they were sent, owners ask questions the team cannot answer quickly, and trust in the statements erodes.<\/p>\r\n\r\n      <div class=\"mas-publication-flow\">\r\n        <div class=\"mas-publication-flow-item\">Statements Corrected After Sending<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Owner Questions Go Unanswered<\/div>\r\n        <div class=\"mas-publication-flow-arrow\" aria-hidden=\"true\">&rarr;<\/div>\r\n        <div class=\"mas-publication-flow-item\">Trust in Statements Erodes<\/div>\r\n      <\/div>\r\n\r\n      <p>It also raises exposure in a state trust audit. AppFolio itself notes that an audit can happen at any time and that organized records make it far less disruptive. Reconciliations that are missing, late, or carrying unexplained differences are exactly what a reviewer looks for.<\/p>\r\n\r\n      <div class=\"mas-publication-warning\">\r\n        <p class=\"mas-publication-box-title\">Important Note<\/p>\r\n        <p>The consequences depend on your state and regulator, so involve your compliance lead or counsel when trust funds are affected.<\/p>\r\n      <\/div>\r\n\r\n      <h3>Outside Help or an Internal Fix?<\/h3>\r\n      <div class=\"mas-publication-table-scroll\">\r\n        <table class=\"mas-publication-table\">\r\n          <thead>\r\n            <tr><th>Situation<\/th><th>Lean Toward<\/th><\/tr>\r\n          <\/thead>\r\n          <tbody>\r\n            <tr><td class=\"mas-publication-td-strong\">Occasional small breaks with an obvious cause<\/td><td>Fix the process internally<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Several months unreconciled, force-balanced periods, or unclear beginning balances<\/td><td>Bring in outside help for a cleanup, then stabilize the process<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Unexplained shortage or variance in a trust account<\/td><td>Involve your compliance lead, CPA, or counsel immediately<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">No internal capacity or AppFolio expertise<\/td><td>Consider ongoing outsourced reconciliation<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Fast growth in accounts and units<\/td><td>Fix the process and add capacity before the problem does<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <h3>What to Look for in a Bookkeeping Partner<\/h3>\r\n      <p>The right partner stabilizes the process, not just one bad month. Look for:<\/p>\r\n      <div class=\"mas-publication-table-scroll\">\r\n        <table class=\"mas-publication-table\">\r\n          <thead>\r\n            <tr><th>Capability<\/th><th>What It Looks Like<\/th><\/tr>\r\n          <\/thead>\r\n          <tbody>\r\n            <tr><td class=\"mas-publication-td-strong\">Hands-on AppFolio experience<\/td><td>Fluency with the Adjusted Cash Balance and the triple tie-out<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Trust account discipline<\/td><td>Trust accounts reconciled separately and in line with your state&rsquo;s rules<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">A written checklist<\/td><td>Applied on a fixed schedule<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Documentation<\/td><td>A correction log and clear documentation for every adjustment<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Transparency<\/td><td>Exceptions flagged to you promptly instead of quietly plugged<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Access controls<\/td><td>Sensible, documented access to your AppFolio account<\/td><\/tr>\r\n            <tr><td class=\"mas-publication-td-strong\">Accountability<\/td><td>A clear statement of who signs off on what<\/td><\/tr>\r\n          <\/tbody>\r\n        <\/table>\r\n      <\/div>\r\n\r\n      <h3>Questions to Ask Before Handing Over Reconciliation<\/h3>\r\n      <ol class=\"mas-publication-numlist\">\r\n        <li>How many AppFolio portfolios do you reconcile, and which features do you rely on?<\/li>\r\n        <li>How do you handle trust accounts, and how do you keep up with different state requirements?<\/li>\r\n        <li>When a reconciliation will not tie out, what is your process, and will you ever use an adjustment to make it work?<\/li>\r\n        <li>What do I receive each month: reports, a correction log, an exception list?<\/li>\r\n        <li>How quickly after statements close do you reconcile, and what happens when something is late?<\/li>\r\n        <li>Who has access to what in AppFolio, and how is that controlled?<\/li>\r\n        <li>What do you need from my team, and who signs off before owner statements go out?<\/li>\r\n        <li>How do you handle a period that was force-balanced before you arrived?<\/li>\r\n      <\/ol>\r\n    <\/section>\r\n\r\n    <!-- ================= FAQ ================= -->\r\n    <section class=\"mas-publication-section\" id=\"faq\">\r\n      <p class=\"mas-publication-eyebrow\">Reference<\/p>\r\n      <div class=\"mas-publication-section-head\">\r\n        <h2>Frequently Asked Questions<\/h2>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-faq-item\">\r\n        <button type=\"button\" class=\"mas-publication-faq-q\" aria-expanded=\"false\">\r\n          <span>What does bank reconciliation in AppFolio actually verify?<\/span>\r\n          <span class=\"mas-publication-faq-icon\" aria-hidden=\"true\">+<\/span>\r\n        <\/button>\r\n        <div class=\"mas-publication-faq-a\">\r\n          <p>It verifies that every transaction AppFolio recorded matches what the bank says actually happened. Each deposit, check, ACH payment, owner draw, and bank fee is either matched to a line on the bank statement or explained as still outstanding. A matching total alone is not a reconciliation, because offsetting or misposted transactions can hide behind a balance that looks right.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-faq-item\">\r\n        <button type=\"button\" class=\"mas-publication-faq-q\" aria-expanded=\"false\">\r\n          <span>What is the Adjusted Cash Balance in AppFolio?<\/span>\r\n          <span class=\"mas-publication-faq-icon\" aria-hidden=\"true\">+<\/span>\r\n        <\/button>\r\n        <div class=\"mas-publication-faq-a\">\r\n          <p>The Adjusted Cash Balance is calculated by AppFolio from property balances and unreconciled items. It shows what the bank balance should be if every entry in AppFolio is accurate. Because it is built from the property ledgers, it is a stronger test than comparing the bank balance to a single ledger total. AppFolio consultants describe it turning red on the reconciliation summary when the tie-out fails.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-faq-item\">\r\n        <button type=\"button\" class=\"mas-publication-faq-q\" aria-expanded=\"false\">\r\n          <span>What is the triple tie-out?<\/span>\r\n          <span class=\"mas-publication-faq-icon\" aria-hidden=\"true\">+<\/span>\r\n        <\/button>\r\n        <div class=\"mas-publication-faq-a\">\r\n          <p>The triple tie-out is the check of three numbers at the heart of AppFolio&rsquo;s reconciliation: the statement ending balance you enter from the bank statement, the cleared balance built from the items you check off, and the Adjusted Cash Balance. All three must agree, and the beginning balance must equal the previous period&rsquo;s ending balance.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-faq-item\">\r\n        <button type=\"button\" class=\"mas-publication-faq-q\" aria-expanded=\"false\">\r\n          <span>How often should bank accounts be reconciled in AppFolio?<\/span>\r\n          <span class=\"mas-publication-faq-icon\" aria-hidden=\"true\">+<\/span>\r\n        <\/button>\r\n        <div class=\"mas-publication-faq-a\">\r\n          <p>AppFolio&rsquo;s own guidance is to reconcile monthly to stay in line with most local real estate regulations, and a common practitioner benchmark is to finish within the first five business days after a statement closes. AppFolio&rsquo;s Bank Feed supports reconciling bi-monthly, weekly, or even daily, and a weekly or bi-weekly health check catches discrepancies in days instead of weeks. Confirm your state&rsquo;s specific trust accounting requirements.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-faq-item\">\r\n        <button type=\"button\" class=\"mas-publication-faq-q\" aria-expanded=\"false\">\r\n          <span>Should trust accounts be reconciled before or after owner statements?<\/span>\r\n          <span class=\"mas-publication-faq-icon\" aria-hidden=\"true\">+<\/span>\r\n        <\/button>\r\n        <div class=\"mas-publication-faq-a\">\r\n          <p>Before, every cycle, with no exceptions. Owner statements are built from the same ledger the reconciliation is checking. A break found afterward means corrected numbers and possibly reissued statements, while reconciling first means owners only see numbers already tested against the bank.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-faq-item\">\r\n        <button type=\"button\" class=\"mas-publication-faq-q\" aria-expanded=\"false\">\r\n          <span>Can I use a bank adjustment to clear a reconciliation difference?<\/span>\r\n          <span class=\"mas-publication-faq-icon\" aria-hidden=\"true\">+<\/span>\r\n        <\/button>\r\n        <div class=\"mas-publication-faq-a\">\r\n          <p>Generally, no. AppFolio consultants warn that bank adjustments should be reserved for genuine bank errors or for items that were uncleared before go-live. Using them for fees, interest, transfers, or as a plug changes the bank balance without changing the property balances, which throws off the Adjusted Cash Balance and hides the real error.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-faq-item\">\r\n        <button type=\"button\" class=\"mas-publication-faq-q\" aria-expanded=\"false\">\r\n          <span>How do I know whether an outstanding item is timing or an error?<\/span>\r\n          <span class=\"mas-publication-faq-icon\" aria-hidden=\"true\">+<\/span>\r\n        <\/button>\r\n        <div class=\"mas-publication-faq-a\">\r\n          <p>Ask three questions: Is a bank-side event still expected? How old is the item? Will it clear next period without anyone touching it? If the answers are yes, recent, and yes, it is timing. If there is no expected event, or the item has been outstanding for a long time (many practitioners treat 60 to 90 days as a red flag), investigate it as an error.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-faq-item\">\r\n        <button type=\"button\" class=\"mas-publication-faq-q\" aria-expanded=\"false\">\r\n          <span>Why can&rsquo;t I edit a transaction in a reconciled period?<\/span>\r\n          <span class=\"mas-publication-faq-icon\" aria-hidden=\"true\">+<\/span>\r\n        <\/button>\r\n        <div class=\"mas-publication-faq-a\">\r\n          <p>Once a period is reconciled, the transactions cleared in it are effectively locked in. Past transactions generally cannot be changed if doing so would require unreconciling, so a correction usually means unreconciling first. That friction is deliberate: it prevents quiet back-editing after statements have gone to owners, keeps the next beginning balance stable, and preserves the audit trail.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-faq-item\">\r\n        <button type=\"button\" class=\"mas-publication-faq-q\" aria-expanded=\"false\">\r\n          <span>What should I do if a prior period was force-balanced?<\/span>\r\n          <span class=\"mas-publication-faq-icon\" aria-hidden=\"true\">+<\/span>\r\n        <\/button>\r\n        <div class=\"mas-publication-faq-a\">\r\n          <p>Either unreconcile the period and correct the error where it originated, which gives accurate history but may mean reissued owner statements, or true up the difference in the current period with a clearly documented entry, which is faster but needs a plain explanation for owners. Decide based on the size of the error, whether it touched owner distributions, your state&rsquo;s trust rules, and whether statements have gone out, and make the call with whoever is responsible for trust compliance.<\/p>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- ================= CONCLUSION ================= -->\r\n    <section class=\"mas-publication-section\" id=\"conclusion\">\r\n      <p class=\"mas-publication-eyebrow\">Final Thoughts<\/p>\r\n      <div class=\"mas-publication-section-head\">\r\n        <h2>Conclusion<\/h2>\r\n      <\/div>\r\n\r\n      <p>The end-of-month panic is rarely about the difficulty of reconciling. It is about discovering a month of small breaks all at once. AppFolio gives property managers the tools to avoid that: Bank Feed matching, transaction warnings, a triple tie-out, and protection for reconciled periods. But those tools only work when reconciliation is treated as a confirmation of reviewed books rather than a deadline task.<\/p>\r\n\r\n      <p>The habits that make the difference are simple. Check the account weekly, fix the transaction rather than the balance, reconcile trust accounts before any owner statement goes out, keep a record of every correction, and give every account a named owner. When those habits are in place, reconciliation becomes a routine check that confirms what you already know, and the owner statements that follow can be trusted.<\/p>\r\n\r\n      <div class=\"mas-publication-quote\">\r\n        The most valuable step a property manager can take this month is to open each trust account, enter the statement ending balance, and walk the triple tie-out line by line before a single owner statement goes out. If everything ties, that is confirmation your process is working. If it does not, you now know exactly where to begin.\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- ================= RESOURCES ================= -->\r\n    <section class=\"mas-publication-section\" id=\"resources\">\r\n      <p class=\"mas-publication-eyebrow\">Resources<\/p>\r\n      <div class=\"mas-publication-section-head\">\r\n        <h2>Further Reading &amp; Official Resources<\/h2>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-res-group mas-publication-resources-list\">\r\n        <h3>AppFolio Product Resources<\/h3>\r\n        <ul>\r\n          <li><a href=\"https:\/\/www.appfolio.com\/articles\/automated-bank-reconciliations\" target=\"_blank\" rel=\"noopener\">AppFolio: Fine-Tune Your Monthly Accounting With AppFolio Bank Feed<\/a><\/li>\r\n          <li><a href=\"https:\/\/www.appfolio.com\/articles\/2024-q1-product-update\" target=\"_blank\" rel=\"noopener\">AppFolio: What&rsquo;s New, Bank Feed Enhancements (Q1 2024 Product Update)<\/a><\/li>\r\n          <li><a href=\"https:\/\/www.appfolio.com\/stack\" target=\"_blank\" rel=\"noopener\">AppFolio Stack: Accounting and Consulting Partners<\/a><\/li>\r\n        <\/ul>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-res-group mas-publication-resources-list\">\r\n        <h3>Real Estate Regulatory Resources<\/h3>\r\n        <ul>\r\n          <li><a href=\"https:\/\/arello.org\/about\/what-is-arello\" target=\"_blank\" rel=\"noopener\">ARELLO: Association of Real Estate License Law Officials<\/a><\/li>\r\n        <\/ul>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-res-group mas-publication-resources-list\">\r\n        <h3>Official IRS and Government Resources<\/h3>\r\n        <ul>\r\n          <li><a href=\"https:\/\/www.irs.gov\/businesses\/small-businesses-self-employed\/recordkeeping\" target=\"_blank\" rel=\"noopener\">IRS: Recordkeeping for Small Businesses and the Self-Employed<\/a><\/li>\r\n          <li><a href=\"https:\/\/www.irs.gov\/publications\/p583\" target=\"_blank\" rel=\"noopener\">IRS: Publication 583, Starting a Business and Keeping Records<\/a><\/li>\r\n          <li><a href=\"https:\/\/www.sba.gov\/business-guide\/manage-your-business\/manage-your-finances\" target=\"_blank\" rel=\"noopener\">SBA: Manage Your Finances, Business Guide<\/a><\/li>\r\n        <\/ul>\r\n      <\/div>\r\n\r\n      <div class=\"mas-publication-res-group mas-publication-resources-list\">\r\n        <h3>Related MASPARTNER Publications<\/h3>\r\n        <ul>\r\n          <li><a href=\"https:\/\/maspartner.com\/en-us\/appfolio-software-accounting\/\" target=\"_blank\" rel=\"noopener\">AppFolio Accounting Service<\/a><\/li>\r\n          <li><a href=\"https:\/\/maspartner.com\/en-us\/accounting-bookkeeping\/trust-accounts-manage-them-safely-and-compliantly\/\" target=\"_blank\" rel=\"noopener\">Trust Accounts 101: How to Manage Them Safely and Compliantly<\/a><\/li>\r\n        <\/ul>\r\n      <\/div>\r\n\r\n    <\/section>\r\n\r\n  <\/div><!-- \/.mas-publication-body -->\r\n\r\n\r\n  <!-- ================= STICKY DOWNLOAD BUTTON (triggers CF7 modal) ================= -->\r\n  <div class=\"mas-publication-download\" id=\"mas-publication-download\">\r\n    <button type=\"button\"\r\n       id=\"mas-publication-download-btn\"\r\n       title=\"Download PDF of this Publication\"\r\n       aria-label=\"Download PDF of this Publication\"\r\n       aria-haspopup=\"dialog\">\r\n      <svg width=\"15\" height=\"15\" viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" aria-hidden=\"true\"><path d=\"M12 3v12\"\/><path d=\"m7 10 5 5 5-5\"\/><path d=\"M5 21h14\"\/><\/svg>\r\n      Download PDF of this Publication\r\n    <\/button>\r\n  <\/div>\r\n\r\n  <!-- ================= CF7 MODAL POPUP ================= -->\r\n  <!-- CF7 Form ID: d62a501 (title: Publication) -->\r\n  <!-- Add an Elementor Shortcode widget BELOW this HTML widget containing:\r\n       [contact-form-7 id=\"d62a501\" title=\"Publication\"] -->\r\n  <div class=\"mas-publication-modal-overlay\" id=\"mas-publication-modal\" role=\"dialog\" aria-modal=\"true\" aria-labelledby=\"mas-publication-modal-title\">\r\n    <div class=\"mas-publication-modal\">\r\n      <button type=\"button\" class=\"mas-publication-modal-close\" id=\"mas-publication-modal-close\" aria-label=\"Close\">&times;<\/button>\r\n      <h3 id=\"mas-publication-modal-title\">Download This E-Guide<\/h3>\r\n      <p>Enter your details below to receive the PDF.<\/p>\r\n      <div id=\"mas-publication-cf7-slot\"><\/div>\r\n    <\/div>\r\n  <\/div>\r\n\r\n\r\n  <script>\r\n  (function(){\r\n    var wrap = document.currentScript ? document.currentScript.closest('.mas-publication-wrapper') : null;\r\n    if(!wrap){\r\n      var all = document.querySelectorAll('.mas-publication-wrapper');\r\n      wrap = all[all.length-1];\r\n    }\r\n    if(!wrap) return;\r\n\r\n    var MAS_PDF_URL = 'https:\/\/maspartner.com\/wp-content\/uploads\/2026\/10\/Publications_Inventory_Write-Offs_and_Adjustments_in_Xero.pdf.pdf';\r\n\r\n    function masIsRealUrl(href){\r\n      href = (href || '').trim();\r\n      return \/^https?:\\\/\\\/\/i.test(href) || (href.charAt(0) === '\/' && href.charAt(1) !== '[');\r\n    }\r\n\r\n    function masOpenUrl(url){\r\n      var w = window.open(url, '_blank');\r\n      if(w){ try{ w.opener = null; }catch(err){} }\r\n      else { window.location.href = url; }\r\n    }\r\n\r\n    \/\/ ---------- 0a. MOVE BUTTON + MODAL TO <body> ----------\r\n    \/\/ Escapes Elementor containers that use transform\/overflow, which break position:fixed.\r\n    var downloadWrap = document.getElementById('mas-publication-download');\r\n    var modal = document.getElementById('mas-publication-modal');\r\n\r\n    function masMoveToBody(el){\r\n      if(!el || el.parentNode === document.body) return;\r\n      Array.prototype.slice.call(document.body.children).forEach(function(child){\r\n        if(child !== el && child.id === el.id){\r\n          \/\/ Elementor editor re-render: keep any CF7 form from the old copy, drop the old copy\r\n          var oldForm = child.querySelector('.wpcf7');\r\n          var newSlot = el.querySelector('#mas-publication-cf7-slot');\r\n          if(oldForm && newSlot){ newSlot.appendChild(oldForm); }\r\n          child.parentNode.removeChild(child);\r\n        }\r\n      });\r\n      document.body.appendChild(el);\r\n    }\r\n    masMoveToBody(downloadWrap);\r\n    masMoveToBody(modal);\r\n\r\n    var downloadBtn = document.getElementById('mas-publication-download-btn');\r\n    var closeBtn = document.getElementById('mas-publication-modal-close');\r\n\r\n    \/\/ ---------- 0b. CF7: find the form, move it into the modal ----------\r\n    function masFindCf7(){\r\n      var slot = document.getElementById('mas-publication-cf7-slot');\r\n      if(!slot) return null;\r\n      var inSlot = slot.querySelector('.wpcf7');\r\n      if(inSlot) return inSlot;\r\n      var forms = Array.prototype.slice.call(document.querySelectorAll('.wpcf7')).filter(function(f){\r\n        return !f.closest('#mas-publication-modal') &&\r\n               !f.closest('header, footer, [data-elementor-type=\"header\"], [data-elementor-type=\"footer\"]');\r\n      });\r\n      for(var i = 0; i < forms.length; i++){\r\n        if(forms[i].closest('.elementor-widget-shortcode')) return forms[i];\r\n      }\r\n      return forms.length ? forms[0] : null;\r\n    }\r\n\r\n    var cf7Attempts = 0;\r\n    var cf7Interval = setInterval(function(){\r\n      cf7Attempts++;\r\n      var cf7Form = masFindCf7();\r\n      var cf7Slot = document.getElementById('mas-publication-cf7-slot');\r\n      if(cf7Form && cf7Slot){\r\n        clearInterval(cf7Interval);\r\n        if(!cf7Slot.contains(cf7Form)){\r\n          var cf7Parent = cf7Form.closest('.elementor-widget-shortcode') || cf7Form.closest('.elementor-widget');\r\n          if(cf7Parent){ cf7Parent.style.display = 'none'; }\r\n          cf7Slot.appendChild(cf7Form);\r\n        }\r\n        cf7Form.style.display = 'block';\r\n        \/\/ Initialise only if CF7 has not already done so (prevents double submission)\r\n        var innerForm = cf7Form.querySelector('form');\r\n        var alreadyInit = innerForm && (innerForm.wpcf7 || innerForm.getAttribute('data-status'));\r\n        if(innerForm && !alreadyInit && window.wpcf7){\r\n          if(typeof wpcf7.init === 'function'){ wpcf7.init(innerForm); }\r\n          else if(typeof wpcf7.initForm === 'function'){ wpcf7.initForm(innerForm); }\r\n        }\r\n      }\r\n      if(cf7Attempts > 80){ clearInterval(cf7Interval); }\r\n    }, 100);\r\n\r\n    function masOpenModal(){\r\n      if(!modal) return;\r\n      modal.classList.add('mas-publication-modal-open');\r\n      var c = modal.querySelector('.mas-publication-modal-close');\r\n      if(c){ try{ c.focus({ preventScroll:true }); }catch(err){ c.focus(); } }\r\n    }\r\n    function masCloseModal(){\r\n      if(!modal) return;\r\n      modal.classList.remove('mas-publication-modal-open');\r\n      if(downloadBtn){ try{ downloadBtn.focus({ preventScroll:true }); }catch(err){} }\r\n    }\r\n\r\n    if(downloadBtn){\r\n      downloadBtn.addEventListener('click', function(e){\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n        var slot = document.getElementById('mas-publication-cf7-slot');\r\n        var thanksShown = modal && modal.classList.contains('mas-publication-thanks');\r\n        var formReady = slot && slot.querySelector('.wpcf7');\r\n        if(modal && (thanksShown || formReady)){\r\n          masOpenModal();\r\n        } else {\r\n          \/\/ No CF7 form on the page: open the PDF directly so the download always works\r\n          masOpenUrl(MAS_PDF_URL);\r\n        }\r\n      }, true);\r\n    }\r\n    if(closeBtn){\r\n      closeBtn.addEventListener('click', function(e){\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n        masCloseModal();\r\n      }, true);\r\n    }\r\n    if(modal){\r\n      modal.addEventListener('click', function(e){\r\n        if(e.target === modal){ masCloseModal(); }\r\n      });\r\n    }\r\n    document.addEventListener('keydown', function(e){\r\n      if((e.key === 'Escape' || e.key === 'Esc') && modal && modal.classList.contains('mas-publication-modal-open')){\r\n        masCloseModal();\r\n      }\r\n    });\r\n\r\n    \/\/ ---------- 0c. AFTER CF7 SUBMISSION: show clickable download link ----------\r\n    document.addEventListener('wpcf7mailsent', function(event){\r\n      var modalEl = document.getElementById('mas-publication-modal');\r\n      if(!modalEl || !event.target || !modalEl.contains(event.target)) return; \/\/ only this popup's form\r\n      var modalInner = modalEl.querySelector('.mas-publication-modal');\r\n      if(!modalInner) return;\r\n\r\n      modalEl.classList.add('mas-publication-thanks');\r\n      modalInner.innerHTML = '';\r\n\r\n      var x = document.createElement('button');\r\n      x.type = 'button';\r\n      x.className = 'mas-publication-modal-close';\r\n      x.setAttribute('aria-label', 'Close');\r\n      x.innerHTML = '&times;';\r\n      x.addEventListener('click', function(e){ e.preventDefault(); e.stopPropagation(); masCloseModal(); }, true);\r\n\r\n      var h = document.createElement('h3');\r\n      h.id = 'mas-publication-modal-title';\r\n      h.textContent = 'Thank You!';\r\n\r\n      var p = document.createElement('p');\r\n      p.textContent = 'Your download is ready.';\r\n\r\n      var a = document.createElement('a');\r\n      a.className = 'mas-publication-modal-download';\r\n      a.href = MAS_PDF_URL;\r\n      a.target = '_blank';\r\n      a.rel = 'noopener';\r\n      a.textContent = 'Download PDF Now';\r\n      a.addEventListener('click', function(e){\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n        masOpenUrl(MAS_PDF_URL);\r\n      }, true); \/\/ capture phase - fires before Elementor handlers\r\n\r\n      modalInner.appendChild(x);\r\n      modalInner.appendChild(h);\r\n      modalInner.appendChild(p);\r\n      modalInner.appendChild(a);\r\n      closeBtn = x;\r\n      try{ a.focus({ preventScroll:true }); }catch(err){}\r\n    }, false);\r\n\r\n    \/\/ ---------- 1. SMOOTH SCROLL FOR TOC ----------\r\n    var OFFSET = 80;\r\n    var reduceMotion = window.matchMedia && window.matchMedia('(prefers-reduced-motion: reduce)').matches;\r\n    var tocLinks = wrap.querySelectorAll('.mas-publication-toc a[href^=\"#\"]');\r\n    tocLinks.forEach(function(link){\r\n      link.addEventListener('click', function(e){\r\n        var id = link.getAttribute('href').slice(1);\r\n        var target = wrap.querySelector('#' + (window.CSS && CSS.escape ? CSS.escape(id) : id))\r\n                  || document.getElementById(id);\r\n        if(target){\r\n          e.preventDefault();\r\n          e.stopPropagation();\r\n          var top = target.getBoundingClientRect().top + window.pageYOffset - OFFSET;\r\n          window.scrollTo({ top: top, behavior: reduceMotion ? 'auto' : 'smooth' });\r\n          if(history.replaceState){ history.replaceState(null, '', '#' + id); }\r\n        }\r\n      }, true); \/\/ capture phase - wins over Elementor anchor handlers\r\n    });\r\n\r\n    \/\/ ---------- 2. ACTIVE TOC HIGHLIGHT ON SCROLL ----------\r\n    var sections = wrap.querySelectorAll('.mas-publication-section[id]');\r\n    function masSetActive(){\r\n      var pos = window.pageYOffset + OFFSET + 10;\r\n      var currentId = null;\r\n      sections.forEach(function(sec){\r\n        var secTop = sec.getBoundingClientRect().top + window.pageYOffset;\r\n        if(secTop <= pos){ currentId = sec.getAttribute('id'); }\r\n      });\r\n      tocLinks.forEach(function(l){\r\n        if(currentId && l.getAttribute('href') === '#' + currentId){\r\n          l.classList.add('mas-toc-active');\r\n        } else {\r\n          l.classList.remove('mas-toc-active');\r\n        }\r\n      });\r\n    }\r\n    var ticking = false;\r\n    window.addEventListener('scroll', function(){\r\n      if(!ticking){\r\n        window.requestAnimationFrame(function(){ masSetActive(); ticking = false; });\r\n        ticking = true;\r\n      }\r\n    }, { passive: true });\r\n    masSetActive();\r\n\r\n    \/\/ ---------- 3. FAQ ACCORDION ----------\r\n    wrap.querySelectorAll('.mas-publication-faq-q').forEach(function(btn){\r\n      btn.addEventListener('click', function(e){\r\n        e.preventDefault();\r\n        e.stopPropagation();\r\n        var item = btn.closest('.mas-publication-faq-item');\r\n        var panel = item.querySelector('.mas-publication-faq-a');\r\n        var isOpen = item.classList.contains('mas-faq-open');\r\n        if(isOpen){\r\n          panel.style.maxHeight = null;\r\n          item.classList.remove('mas-faq-open');\r\n          btn.setAttribute('aria-expanded', 'false');\r\n        } else {\r\n          item.classList.add('mas-faq-open');\r\n          panel.style.maxHeight = panel.scrollHeight + 'px';\r\n          btn.setAttribute('aria-expanded', 'true');\r\n        }\r\n      }, true);\r\n    });\r\n    window.addEventListener('resize', function(){\r\n      wrap.querySelectorAll('.mas-publication-faq-item.mas-faq-open').forEach(function(item){\r\n        var panel = item.querySelector('.mas-publication-faq-a');\r\n        panel.style.maxHeight = panel.scrollHeight + 'px';\r\n      });\r\n    });\r\n\r\n    \/\/ ---------- 4. MOBILE CLEARANCE FOR STICKY PDF BAR ----------\r\n    function masMobilePad(){\r\n      var body = wrap.querySelector('.mas-publication-body');\r\n      if(!body) return;\r\n      body.style.paddingBottom = (window.innerWidth <= 768) ? '84px' : '';\r\n    }\r\n    masMobilePad();\r\n    window.addEventListener('resize', masMobilePad);\r\n\r\n    \/\/ ---------- 5. IMAGE PLACEHOLDERS ----------\r\n    \/\/ Each <img decoding=\"async\" src=\"[IMAGE_n_URL]\"> shows once the placeholder is replaced with a real URL.\r\n    \/\/ Until then (or if the image fails), a labelled placeholder box shows in its place.\r\n    wrap.querySelectorAll('.mas-publication-figure').forEach(function(fig){\r\n      var img = fig.querySelector('.mas-publication-figure-img');\r\n      if(!img) return;\r\n      var src = (img.getAttribute('src') || img.getAttribute('data-mas-src') || '').trim();\r\n      if(!masIsRealUrl(src)){\r\n        img.parentNode.removeChild(img); \/\/ placeholder box stays visible\r\n        return;\r\n      }\r\n      function masReady(){ if(img.naturalWidth > 0){ fig.classList.add('mas-img-ready'); } }\r\n      img.addEventListener('load', masReady);\r\n      img.addEventListener('error', function(){\r\n        fig.classList.remove('mas-img-ready');\r\n        if(img.parentNode){ img.parentNode.removeChild(img); }\r\n      });\r\n      if(!img.getAttribute('src')){ img.src = src; }\r\n      else if(img.complete){ masReady(); }\r\n    });\r\n\r\n    \/\/ ---------- 6. FORCE LINKS TO OPEN ON CLICK (Elementor intercepts events) ----------\r\n    function masForceClick(selector, newTab){\r\n      document.querySelectorAll(selector).forEach(function(el){\r\n        el.addEventListener('click', function(e){\r\n          e.stopPropagation();\r\n          var href = (this.getAttribute('href') || '').trim();\r\n          if(!masIsRealUrl(href)){ e.preventDefault(); return; } \/\/ placeholder not replaced yet\r\n          e.preventDefault();\r\n          if(newTab){\r\n            masOpenUrl(href);\r\n          } else {\r\n            window.location.href = href;\r\n          }\r\n        }, true); \/\/ useCapture = true - fires before Elementor's bubble-phase handlers\r\n      });\r\n    }\r\n\r\n    masForceClick('.mas-publication-resources-list a', true);\r\n  })();\r\n  <\/script>\r\n\r\n<\/div><!-- \/.mas-publication-wrapper -->\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-26eb46d e-flex e-con-boxed sc_layouts_column_icons_position_left e-con e-parent\" data-id=\"26eb46d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6eaa21a sc_fly_static elementor-widget elementor-widget-shortcode\" data-id=\"6eaa21a\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"shortcode.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-shortcode\">\n<div class=\"wpcf7 no-js\" id=\"wpcf7-f20093-o1\" lang=\"en-US\" dir=\"ltr\" data-wpcf7-id=\"20093\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/en-us\/wp-json\/wp\/v2\/publications\/24686#wpcf7-f20093-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Contact form\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"20093\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.2.2\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"en_US\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f20093-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/fieldset>\n<p><label> Your Name<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-name\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" autocomplete=\"name\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"your-name\" \/><\/span> <\/label>\n<\/p>\n<p><label> Your Email<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-email\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" autocomplete=\"email\" aria-required=\"true\" aria-invalid=\"false\" value=\"\" type=\"email\" name=\"your-email\" \/><\/span> <\/label>\n<\/p>\n<p><label> Phone Number (Optional)<br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"your-phone\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-text wpcf7-validates-as-tel\" autocomplete=\"tel\" aria-invalid=\"false\" value=\"\" type=\"tel\" name=\"your-phone\" \/><\/span> <\/label>\n<\/p>\n<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Download Now\" \/>\n<\/p><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-001616c e-flex e-con-boxed sc_layouts_column_icons_position_left e-con e-parent\" data-id=\"001616c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3b35fd0 sc_fly_static elementor-widget elementor-widget-html\" data-id=\"3b35fd0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<!--\r\n============================================================\r\n  MASPARTNER \/ MERCURIUS \u2014 STANDALONE CTA BLOCK\r\n  \"Need Help Getting Your Books Reconciled?\"\r\n  Paste this entire block into its own WordPress \/ Elementor\r\n  \"Custom HTML\" block (separate from the main publication).\r\n============================================================\r\n  This CTA button links to:\r\n    https:\/\/maspartner.com\/en-us\/free-consultation\/\r\n  (Update the href on the .mas-cta-btn anchor if this URL ever changes.)\r\n============================================================\r\n-->\r\n\r\n<div class=\"mas-cta-wrapper\">\r\n\r\n  <style>\r\n    .mas-cta-wrapper{\r\n      --mas-gold:#fabc17;\r\n      --mas-dark-gold:#cfa434;\r\n      --mas-black:#000000;\r\n      --mas-soft:#fbf7ec;\r\n      font-family:inherit;\r\n      box-sizing:border-box;\r\n      width:100%;\r\n    }\r\n    .mas-cta-wrapper *,\r\n    .mas-cta-wrapper *::before,\r\n    .mas-cta-wrapper *::after{box-sizing:border-box;}\r\n\r\n    .mas-cta-box{\r\n      background:var(--mas-soft);\r\n      border:1px solid #f0e6c8;\r\n      border-radius:12px;\r\n      padding:44px 34px;\r\n      text-align:center;\r\n      max-width:900px;\r\n      margin:0 auto;\r\n    }\r\n    .mas-cta-box h3{\r\n      font-size:clamp(22px,3.4vw,28px);\r\n      font-weight:800;\r\n      margin:0 0 16px;\r\n      color:var(--mas-black);\r\n      line-height:1.25;\r\n    }\r\n    .mas-cta-box p{\r\n      font-size:16px;\r\n      line-height:1.7;\r\n      max-width:640px;\r\n      margin:0 auto 26px;\r\n      color:#46464c;\r\n    }\r\n    .mas-cta-btn{\r\n      display:inline-block;\r\n      background:var(--mas-gold);\r\n      color:var(--mas-black);\r\n      font-weight:800;\r\n      font-size:15px;\r\n      letter-spacing:.2px;\r\n      padding:15px 38px;\r\n      border-radius:8px;\r\n      text-decoration:none;\r\n      cursor:pointer;\r\n      position:relative;\r\n      z-index:10;\r\n      pointer-events:auto;\r\n      transition:background .15s,color .15s;\r\n    }\r\n    .mas-cta-btn:hover{background:var(--mas-dark-gold);color:#ffffff;}\r\n\r\n    @media (max-width:768px){\r\n      .mas-cta-box{padding:32px 22px;}\r\n      .mas-cta-btn{display:block;width:100%;padding:15px 20px;}\r\n    }\r\n  <\/style>\r\n\r\n  <div class=\"mas-cta-box\">\r\n    <h3>Need Help Getting Your Books Reconciled?<\/h3>\r\n    <p>MASPARTNER helps small businesses streamline bookkeeping, accounting, payroll, tax compliance, and financial reporting. Our team of CPAs and accounting professionals can take reconciliation, and every other bookkeeping function, entirely off your plate.<\/p>\r\n    <a class=\"mas-cta-btn\" href=\"https:\/\/maspartner.com\/en-us\/free-consultation\/\" target=\"_blank\" rel=\"noopener\">Book a Free Consultation Today<\/a>\r\n  <\/div>\r\n\r\n  <script>\r\n  (function(){\r\n    \/\/ Force the CTA button to open on click (Elementor intercepts clicks in the\r\n    \/\/ bubble phase; a capture-phase handler fires first and wins).\r\n    var wrap = document.currentScript ? document.currentScript.closest('.mas-cta-wrapper') : null;\r\n    if(!wrap){\r\n      var all = document.querySelectorAll('.mas-cta-wrapper');\r\n      wrap = all[all.length-1];\r\n    }\r\n    if(!wrap) return;\r\n    wrap.querySelectorAll('.mas-cta-btn').forEach(function(el){\r\n      el.addEventListener('click', function(e){\r\n        e.stopPropagation();\r\n        var href = this.getAttribute('href');\r\n        if(!href || href === '#' || href.charAt(0) === '['){ e.preventDefault(); return; }\r\n        e.preventDefault();\r\n        window.open(href, '_blank', 'noopener,noreferrer');\r\n      }, true); \/\/ capture phase\r\n    });\r\n  })();\r\n  <\/script>\r\n\r\n<\/div><!-- \/.mas-cta-wrapper -->\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>How to Reconcile Bank Accounts in AppFolio A Step-by-Step Walkthrough for Catching Discrepancies Before They\u2026<\/p>\n","protected":false},"featured_media":24711,"template":"elementor_header_footer","class_list":["post-24686","publications","type-publications","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/maspartner.com\/en-us\/wp-json\/wp\/v2\/publications\/24686","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/maspartner.com\/en-us\/wp-json\/wp\/v2\/publications"}],"about":[{"href":"https:\/\/maspartner.com\/en-us\/wp-json\/wp\/v2\/types\/publications"}],"version-history":[{"count":8,"href":"https:\/\/maspartner.com\/en-us\/wp-json\/wp\/v2\/publications\/24686\/revisions"}],"predecessor-version":[{"id":24713,"href":"https:\/\/maspartner.com\/en-us\/wp-json\/wp\/v2\/publications\/24686\/revisions\/24713"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/maspartner.com\/en-us\/wp-json\/wp\/v2\/media\/24711"}],"wp:attachment":[{"href":"https:\/\/maspartner.com\/en-us\/wp-json\/wp\/v2\/media?parent=24686"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}