Skip to content Skip to footer

The Complete AppFolio Accounting Guide for Property Managers

Understanding AppFolio’s Trust Accounting Architecture, Why Trust Balances Drift, and How to Audit, Correct, and Prevent Trust-Liability Gaps

Published

october 2026 | MASPARTNER E-Guides

Audience

PM Company Owners · Operations Managers · Property Bookkeepers · Accountants

Research By

Rohit Kumar | Director | rohit@maspartner.com

About This Guide

Most property management companies using AppFolio have a trust accounting gap they don’t know about. This guide is designed to help property management (PM) company owners, operations managers, bookkeepers, and the accountants who support them understand how AppFolio’s accounting architecture actually works, where trust balances silently drift, how to audit and correct them, and what it takes to keep them clean going forward. It is written for teams who already use AppFolio daily. It is not an introduction to the software, but an honest accounting of what the software is doing behind every transaction you run: every ledger, every reconciliation, and every report, mapped to how AppFolio actually works.

The guide is optimized for both human readers and AI-assisted search engines (AEO/GEO), making it a useful reference for anyone responsible for property management trust accounting.

Disclaimer

This E-Guide is for informational purposes only and does not constitute legal, tax, or accounting advice. Trust accounting rules vary by state. Consult a qualified accounting professional or attorney for guidance specific to your property management company. AppFolio is a trademark of AppFolio, Inc.; this guide is an independent publication. Screenshots and figures are illustrative and use sample data.

Section Overview

Executive Summary

Whether you own a property management company, run its day-to-day operations, or keep its books, this guide will help you understand the full scope of AppFolio trust accounting, from the architecture behind every transaction to the practical steps needed to audit, correct, and maintain a trust account that holds up to a state audit.

Most property management companies using AppFolio have a trust accounting gap they don’t know about. Not because AppFolio is broken, but because the system is designed around trust liability in a way that doesn’t announce itself unless you’re looking. Cash in the trust bank account and the money you are actually free to disburse are not the same number, and when the two drift apart there is no alert, no dashboard warning, and no email notification. The gap grows in the background until a state audit, a new bookkeeper, or an owner dispute forces someone to look.

This guide covers the entire trust accounting lifecycle in AppFolio across eight sections: what AppFolio is actually doing with your money, who is affected and why the gap goes unnoticed, how the trust liability chain is supposed to work, the root causes of drift, how to audit your trust accounting, how to clear discrepancies without making them worse, how to prevent them from recurring, and how to recognize when the problem is beyond a do-it-yourself fix.

Key Facts at a Glance

  • The trust bank balance and the trust liability balance must match to the cent, at all times.
  • AppFolio does not alert you when trust liability diverges from the bank balance; the gap grows silently.
  • The deposit batch step is the most commonly skipped step and the single most common origin of trust-liability drift.
  • A journal entry that forces the Trust Account Balance report to zero hides the error; it does not fix it, and state auditors specifically look for these entries.
  • Three habits prevent the large majority of problems: a monthly zero-difference reconciliation before any owner statement, batching within two business days, and tracing every discrepancy to its source.

This guide is optimized for both human readers and AI-assisted search engines (AEO/GEO), making it an authoritative reference for anyone responsible for property management trust accounting in AppFolio.

1

What Is AppFolio Actually Doing with Your Money

Before anything else, it is worth being direct about what AppFolio is and what it isn’t. AppFolio is not a general-purpose accounting tool that happens to have a property management module on top. It is a property management system built around a specific accounting architecture, one designed specifically to handle the legal and fiduciary requirements of property management trust accounting. Understanding that architecture is the prerequisite for everything else in this guide.

Three Ledgers, Not One

When a tenant pays rent in AppFolio, that money doesn’t simply move from “tenant” to “bank.” It conceptually passes through three distinct ledgers before it reaches an owner: the tenant ledger, the trust bank account, and the owner ledger. Each represents a different accounting relationship and a different liability. The tenant ledger tracks what each tenant owes and has paid. The trust bank account holds the physical cash. The owner ledger tracks what the PM company owes each property owner after deducting fees, expenses, and reserves.

AppFolio's three-ledger architecture: the tenant ledger holds charges, payments, credit balances and security deposits; the trust bank account holds deposit batches, the reconciled bank feed and physical cash; the owner ledger deducts management fees and repair expenses, calculates the net draw and initiates the disbursement
Image 1: AppFolio’s Three-Ledger ArchitectureReplace [https://maspartner.com/wp-content/uploads/2026/10/Img-1.png] with the image link

Figure 1 — Money moves through all three ledgers before an owner draw can be legitimately processed

The Relay Race Analogy

Think of it as a relay race with three runners. The tenant passes the baton (the payment) to the trust account at the batch deposit step. The trust account passes it to the owner ledger when the owner statement is generated and the draw is calculated. At every handoff, the baton, which is the liability, has to transfer cleanly.

Tenant Ledger
Trust Bank Account
Owner Ledger

Example: When the Baton Is Dropped

A payment is received but never batched, or a draw is processed before the reconciliation closes. The baton now ends up in two runners’ hands at the same time. That is a trust imbalance, and it is exactly what state regulators look for.

Why AppFolio Is Built Around Trust Liability, Not Just Cash

Property managers in almost every U.S. state are legally required to maintain trust accounts that hold tenant and owner funds separately from operating funds, and to be able to account for every dollar in those accounts at any moment. This is a fiduciary obligation enforced by state real estate commissions.

AppFolio’s architecture, specifically the deposit batch workflow, the Trust Account Balance report, and the distinction between bank balance and trust liability, exists precisely to meet this requirement. The system was built to protect PM companies from commingling, misappropriation, and state audit failure. Most AppFolio users know they have trust accounts. Far fewer know how the liability side of those accounts works.

The Transaction Lifecycle from Charge to Disbursement

A properly executed AppFolio transaction follows a specific sequence, and every step is required. The lifecycle runs: charge posted to tenant ledger → payment received → payment grouped into a deposit batch → batch deposited and reconciled to the bank → owner statement generated → draw calculated and disbursed. Skipping any step in this sequence, particularly the batch deposit step, which is the most commonly skipped, breaks the audit trail. The money may still arrive in the bank, but the liability accounting trails off and the trust balance begins to drift.

AppFolio transaction lifecycle in six steps: charge posted, payment received, deposit batched, bank reconciled, owner statement, owner disbursed. Skipping the batch step breaks the trust liability trail
Image 2: AppFolio Transaction Lifecycle: Charge Posted to Owner DisbursedReplace [https://maspartner.com/wp-content/uploads/2026/10/Img-2.png] with the image link

Figure 2 — Every step is required; skipping any one breaks the audit trail that state regulators check

The Reserve and Liability Gap: The Most Important Concept in This Guide

Here is the thing most AppFolio users get wrong: cash in the trust bank account and money you are actually free to disburse are not the same number. The trust bank balance is physical cash. The trust liability balance is what AppFolio says you owe, in aggregate, to all tenants and owners combined.

When you process an owner draw, you are not drawing from the bank balance. You are drawing from the net owner ledger balance, which is calculated after all tenant credits, security deposits, fee deductions, and reserves have been accounted for on the liability side. If the liability side is wrong, because a payment was received but never properly routed through the batch workflow or a security deposit is sitting unaccounted for, the draw calculation is wrong, regardless of what the bank balance shows.

FeatureTrust Bank BalanceTrust Liability Balance
What it isPhysical cash held in the trust bank accountWhat AppFolio says you owe, in aggregate, to all tenants and owners
Made up ofDeposited and reconciled batches, less disbursementsTenant credits, security deposits, prepaid rent, owner balances and reserves
Basis for owner drawsNoYes, via the net owner ledger balance
Where to see itBank statement and Trust Account Balance reportTrust Account Balance report
Required relationshipMust equal trust liability, to the centMust equal trust bank balance, to the cent

Every AppFolio User Has a Trust Liability Balance

This is worth being explicit about: if you are running tenant payments and owner draws through AppFolio, you have a trust liability balance. It exists whether you have ever opened the Trust Account Balance report or not. That balance should, at all times and to the cent, equal the trust bank account balance.

Key Rule

Trust Liability Balance = Trust Bank Account Balance, to the cent, at all times. If they don’t match, your trust is out of balance. How far out of balance it is, and for how long it has been out of balance, determines the risk and the correction effort.

2

Who This Affects and Why It Goes Unnoticed

Trust accounting gaps are not rare edge cases that happen to poorly run PM companies. They are common, gradual, and, crucially, silent. There is no AppFolio alert that fires when the trust liability diverges from the bank balance. No dashboard warning. No email notification. The gap grows in the background until something forces someone to look.

Who Is Affected

Any PM company running tenant payments, security deposits, owner draws, or property-level reserves through AppFolio trust accounts is exposed. This is not a niche scenario. It describes virtually every AppFolio user operating in a property management capacity, including:

  • Single-office firms with 50 units
  • Regional operators with 2,000 units
  • Associations running HOA accounts
  • Any company processing tenant payments, security deposits, owner draws, or reserves through trust

Any of them can have a trust-liability mismatch, and most won’t discover it until something forces a look.

Tenant Payments
AppFolio Trust Account
Owner Draws

Why the Gap Grows Silently

The trust bank balance and the trust liability balance are not displayed side by side anywhere in AppFolio’s default dashboard view. You have to pull the Trust Account Balance report and compare it manually to the bank account balance. If no one on the team has that as a standing monthly task, the comparison simply doesn’t happen. Meanwhile, payments come in through multiple channels, batches get processed with varying consistency, and the liability side accumulates small errors that compound over time.

Important Note

AppFolio will not tell you that your trust is out of balance. The only way to know is to run the Trust Account Balance report and compare total trust liability to the trust bank balance. If that comparison is not someone’s assigned monthly task, it is almost certainly not happening.

The Discovery Moment

PM companies typically discover trust accounting problems in one of three ways:

Discovery TriggerWhat Happens
State audit or real estate commission examinationThe mismatch is documented by an external regulator, the worst possible way to find it.
A new bookkeeper’s first month-end closeThey run the Trust Account Balance report and immediately notice the liability doesn’t match the bank.
An owner disputing a statementA payment isn’t reflected in a draw, or a deduction doesn’t match a vendor invoice, triggering a trace-back that reveals the underlying accounting issue.

What Accumulates in the Drift Window

In the time between when the drift begins and when it’s discovered, specific things accumulate: unresolved deposit batches (payments received and processed through the portal but never formally batched), tenant credit balances that don’t correspond to actual liabilities (because the tenant has moved out and the balance was never cleaned up), orphaned security deposits (moved in AppFolio without the corresponding refund transaction), and in some cases, genuinely missing transactions from bank feed imports that were matched at the bank level without going through the batch workflow.

Trust accounting risk exposure factors for PM firms: rapid unit growth, recent software migration, multiple property owners per portfolio, high bookkeeping staff turnover, mixed payment channels, and no segregation of duties
Image 3: Trust Accounting Risk Exposure: Which PM Firms Are Most VulnerableReplace [https://maspartner.com/wp-content/uploads/2026/10/Img-3.png] with the image link

Figure 3 — PM firms with three or more of these risk factors are at meaningfully elevated exposure to state audit findings

What AccumulatesWhat It Looks Like in AppFolio
Unresolved deposit batchesPayments received and processed through the portal but never formally batched
Stale tenant credit balancesCredits that no longer correspond to a real liability because the tenant moved out and the balance was never cleaned up
Orphaned security depositsDeposits moved in AppFolio without the corresponding refund transaction
Missing bank feed transactionsBank-level matches that never went through the batch workflow

Which Firms Are Most Exposed

Three predictors stand out. Each creates the conditions in which shortcuts become normalized and trust liability starts to drift.

Risk PredictorWhy It Creates Exposure
Rapid unit growthWhen a PM company doubles its unit count over eighteen months, transaction volume frequently outpaces the bookkeeping team’s capacity to close batches and reconcile accounts on the previous schedule, and shortcuts become normalized.
Software migrationsWhen a firm migrates from Yardi, Buildium, or Rent Manager to AppFolio, opening trust balances are almost never verified line by line. The total may import correctly, but the per-tenant and per-owner liability composition is often wrong from day one.
High bookkeeping staff turnoverTrust accounting workflows live largely in people’s heads rather than in documented procedures. When those people leave, the workflow degrades.

State Real Estate Commission Enforcement Context

Property management trust accounting failures are among the most common grounds for state real estate commission disciplinary actions. While enforcement patterns vary significantly by state, the underlying violations are consistent:

  • Trust accounts that can’t be reconciled to the cent on demand
  • Security deposit funds that have been commingled with operating funds
  • Owner funds disbursed ahead of a complete reconciliation

These are not penalties for malicious conduct. Most arise from the same pattern of accumulated drift described in this guide. The point is not to alarm, but to be clear that the regulatory consequences are real and enforced.

3

How the Trust Liability Chain Is Supposed to Work

Before diagnosing problems, it helps to be precise about the correct workflow. This is what a healthy AppFolio trust accounting cycle looks like, not as AppFolio describes it in its help documentation, but as it actually functions when every step is executed correctly.

The Correct Sequence, Step by Step

Step 1
Charge posted. A rent charge, late fee, or other tenant charge is posted to the tenant ledger. This creates a receivable: the tenant owes the PM company a specific amount. The trust bank balance is unaffected; only the tenant ledger has changed.
Step 2
Payment received. The tenant pays via the portal, ACH pull, check, or lockbox. AppFolio records this as a payment against the charge on the tenant ledger, and the tenant’s balance moves toward zero or into credit. Critically, the money has not yet hit the trust bank account in AppFolio’s ledger, even if it has physically arrived at the bank.
Step 3
Deposit batch created and submitted. The payments received are grouped into a deposit batch. This is the step that moves money, conceptually, from the tenant ledger to the trust bank account and creates the corresponding trust bank entry. It is why AppFolio forces a batching workflow rather than allowing direct bank posting: it preserves the audit trail from individual payment to bank deposit.
Step 4
Bank reconciliation. The deposit batch is reconciled against the actual bank statement, confirming that what AppFolio recorded as deposited actually appears on the statement. Afterward, the trust bank balance in AppFolio should match the bank statement balance.
Step 5
Owner statement generated. AppFolio calculates each owner’s net draw: rental income received minus management fees, vendor expenses, and any owner-directed reserves. The owner typically sees and approves the statement before the disbursement is processed.
Step 6
Disbursement processed. The owner draw is sent via ACH, check, or internal transfer. This reduces both the trust bank balance (physically) and the owner ledger balance (in AppFolio’s accounting).

Why the Batch Step Is Non-Negotiable

The deposit batch workflow is the step most commonly bypassed when teams are working fast or when bank feed integrations are configured incorrectly. It is also the most important step in the trust audit trail. Without a batch, the payment is recorded on the tenant ledger but never formally entered as a deposit to the trust bank account in AppFolio’s accounting. The bank balance may look right because the money physically arrived, but the liability accounting shows a payment that hasn’t cleared the trust workflow.

Key Rule

Every payment must pass through a deposit batch. A missing batch is the single most common origin point for trust-liability drift in AppFolio.

What a Healthy Trust Account Balance Report Looks Like

At the end of each month, after all batches have been posted and the bank reconciliation is complete, the Trust Account Balance report should show a total trust liability that equals the trust bank account balance, to the cent. Not approximately. Not within a rounding tolerance. To the cent. Any difference is a discrepancy that requires investigation. The report should also show zero unresolved batches and zero items in the “undeposited” status beyond the current day’s activity.

Healthy versus drifted trust balance at month-end. Healthy: bank balance $142,380.00, total trust liability $142,380.00, difference $0.00, 0 unresolved batches, 0 stale items. Drifted: bank balance $142,380.00, total trust liability $139,154.32, difference $3,225.68, 7 unresolved batches, 12 stale items over 30 days
Image 4: What a Healthy vs. Drifted Trust Balance Looks Like at Month-EndReplace [https://maspartner.com/wp-content/uploads/2026/10/Img-4.png] with the image link

Figure 4 — A $3,225 gap might look small but represents real liability owed to tenants or owners that hasn’t been accounted for

AppFolio Trust Account Balance report as of 07/28/2026 showing the trust bank balance, the total trust liability split into security deposits, prepaid rents and other liabilities, and a list of unresolved batch items
Image 5: AppFolio Trust Account Balance Report (Screenshot)Replace [https://maspartner.com/wp-content/uploads/2026/10/Img-5.png] with the image link

Reports → Trust Account Balance. Run this at the end of every month before any owner statements are generated. Bank balance and trust liability must match to the cent.

Month-End CheckHealthy Result
Total trust liability vs. trust bank balanceEqual, to the cent (difference of $0.00)
Unresolved batchesZero
Items in “undeposited” statusNone beyond the current day’s activity

How Security Deposits, Prepaid Rent, and Owner Reserves Sit Within the Liability Total

The trust liability total is not a single number. It is the sum of several distinct liability types that behave differently:

Liability TypeOwed ToHow It Behaves
Security depositsTenants, and potentially subject to state rulesHeld for tenants and may need to be returned; many states regulate how security deposits are held and interest on them
Prepaid rentTenantsSits as a tenant credit until the period it applies to arrives
Owner reservesProperty ownersFunds withheld from the owner’s draw per the management agreement for future expenses

All three sit inside the total trust liability, which is why that total must equal the bank balance: every dollar in the bank is accounted for by one of these liability types.

4

Why the Balance Drifts: The Root Causes

Trust-liability drift doesn’t happen randomly. It traces back to a small number of identifiable root causes, and knowing which one applies to a specific discrepancy determines the correct fix. Getting this wrong, by patching the bank balance without tracing the liability side, just moves the error to next month.

Root causes of trust balance drift in four categories: workflow shortcuts, entry errors, migration issues, and manual actions, each with its specific failure patterns
Image 6: Why the Trust Balance Drifts: Root Causes by CategoryReplace [https://maspartner.com/wp-content/uploads/2026/10/Img-6.png] with the image link

Figure 5 — Most drift traces to one of four root causes; identifying which changes the correction approach entirely

The seven specific failure patterns below account for the trust-liability drift found in most AppFolio files.

Cause 1

Payments Received but Never Batched

What Happens: This is the most common cause. A tenant pays via the portal and the payment shows on the tenant ledger as received. But because of a staff workflow gap, a system error, or a day-end process that wasn’t completed, the payment is never grouped into a deposit batch and submitted.

Effect on the Trust: The money may have physically deposited at the bank, but AppFolio’s trust bank ledger has no record of a deposit. The trust bank balance in AppFolio is understated; the trust liability is correct because it knows about the payment. The difference equals the payment amount.

Cause 2

Bank Feed Transactions Matched Directly

What Happens: AppFolio’s bank feed integration, when configured too aggressively, can match bank statement transactions directly to a bank ledger entry without routing them through a deposit batch. This is the bank feed equivalent of cutting the relay race from three runners to one.

Effect on the Trust: The bank balance looks right because the bank transaction is matched, but the tenant ledger side of the transaction, the liability source, has never been formally processed. The result is a bank entry without a corresponding tenant-to-batch-to-bank trail.

Cause 3

Security Deposits Refunded Outside the System

What Happens: The correct move-out workflow is to process the refund through AppFolio: apply any deductions to the tenant ledger, mark the remaining balance as refunded, and generate the disbursement through the system. Instead, a manual check is written directly to the tenant without the corresponding AppFolio entries.

Effect on the Trust: The bank balance decreases when the check clears, but the security deposit liability in AppFolio doesn’t. The system believes a liability still exists that has actually been paid, creating an apparent surplus on the liability side that doesn’t correspond to anything in the bank.

Cause 4

Owner Disbursements Processed Before Reconciliation Closes

What Happens: The owner draw calculation depends on the trust reconciliation being complete for the relevant period. A draw processed before the reconciliation closes may be calculated against an incomplete picture of the liability, because unresolved batches that should have been included aren’t.

Effect on the Trust: The calculated draw may be higher than it should be. The owner gets paid, and the reconciliation then closes with a shortfall. This is particularly common at month-end, when there’s time pressure to get draws out.

Cause 5

Duplicate Tenant Payments

What Happens: A tenant pays through the portal. A staff member, not seeing the portal payment, also manually posts a payment for the same charge. The charge now has two payments against it: one portal-originated, one manual.

Effect on the Trust: The tenant’s ledger shows an overpayment and the trust bank balance is overstated by the amount of the duplicate. This is more common than most PM companies expect, particularly when communication between leasing staff and bookkeeping is informal.

Cause 6

Property Moved Between Owners or Portfolios Mid-Cycle

What Happens: When a property changes ownership or is reassigned to a different AppFolio portfolio mid-accounting period, the associated liability (prepaid rent, reserves, and security deposits) needs to transfer cleanly between the old owner ledger and the new one.

Effect on the Trust: This is a technically complex operation in AppFolio. When it’s done without accounting guidance, it’s common for the liability entries to be dropped or duplicated in the transfer.

Cause 7

Data Migration from a Prior PMS

What Happens: This deserves particular attention because migration errors don’t announce themselves and compound over time. When a PM company migrates from Yardi, Buildium, or Rent Manager to AppFolio, the trust balance at the point of migration is typically imported as a total, not as a line-by-line reconstruction of each tenant’s and owner’s individual ledger.

Effect on the Trust: If the imported total is close but not exact, or if the per-tenant liability composition is wrong even when the total matches, every reconciliation run since the migration has been off by the same amount, with additional drift layered on top.

Root Causes at a Glance

Root CauseBank SideLiability Side
Payment never batchedAppFolio trust bank understatedCorrect (knows about the payment)
Bank feed matched directlyLooks correctNo tenant-to-batch-to-bank trail
Deposit refunded offlineReduced when the check clearsStill shows the deposit as owed
Draw before reconciliationShort after reconciliation closesDraw calculated on incomplete data
Duplicate tenant paymentOverstated by the duplicateTenant shows an overpayment
Mid-cycle property moveUnchangedEntries dropped or duplicated
Migration from prior PMSConstant offset since go-liveWrong total or wrong composition

Why Patching the Bank Balance Is Always the Wrong Fix

When a trust discrepancy is discovered, the tempting shortcut is to create a journal entry that makes the bank balance match the liability, or vice versa. This makes the report look right. But unless the entry traces back to the actual cause of the discrepancy (the unmatched payment, the unrecorded refund, the duplicate entry), it doesn’t fix the underlying error. It simply hides it in a different account.

At the next reconciliation, the error reappears, often with additional drift on top of it. The correct approach is always to trace the discrepancy to its source and correct it at that level.

5

How to Audit Your Trust Accounting in AppFolio

An audit of your AppFolio trust accounting is not a complicated process, but it requires working through a specific set of reports in a specific order. Don’t start correcting anything until the audit is complete. Corrections made without a full understanding of the scope often move errors rather than eliminate them.

Seven-step AppFolio trust accounting audit: run the Trust Account Balance and Trust Account Detail reports side by side, calculate the difference, age unresolved batches at 30, 60 and 90 days, scan for duplicates, cross-reference bank deposits against recorded batches, build a clearing priority list, and flag regulatory items for an accountant
Image 9: How to Audit Your AppFolio Trust Accounting — Step by StepReplace [https://maspartner.com/wp-content/uploads/2026/10/image-7-1.png] with the image link

Figure 6 — Never start correcting before completing the audit; corrections without a full picture often move errors, not fix them

Step 1

Run the Trust Account Balance and Trust Account Detail Reports Together

These two reports are the starting point. The Trust Account Balance report shows your total trust bank balance and your total trust liability, the two numbers that must match. The Trust Account Detail report shows the composition of that liability: each tenant’s balance, each owner’s reserve, and each security deposit held. Pull both as of the same date. Note the difference, if any, between the bank balance and the total liability. This is your working gap.

AppFolio Trust Account Balance and Trust Account Detail reports run side by side for July 2026, showing trust bank balance, trust liability activity, unresolved batch items, and the difference between total trust bank balance and total trust liability
Image 7: Trust Account Balance and Trust Account Detail Reports (Screenshot)Replace [https://maspartner.com/wp-content/uploads/2026/10/Screenshot-2026-10-09-182522.png] with the image link

Reports → Trust Account Balance and Trust Account Detail. Run both for the same period. The gap between the total trust bank balance and the total trust liability is the number you need to explain and resolve.

Step 2

Age Your Unresolved Items

In AppFolio, pull the list of unresolved batches and any transactions in “undeposited” status, then age them. Build a simple aging list: how many unresolved items, what amounts, and how old.

Age of Unresolved ItemHow to Treat It
Older than 2 business daysAn error, not a timing difference
Older than 30 daysEvidence of a systemic workflow problem
Older than 90 days and never reviewedA near-certain source of the trust gap
Step 3

Scan for Duplicate Payments

Filter the tenant ledger for the period under review, looking specifically for any instance where the same charge code was credited twice in the same period, particularly where one credit came from a portal payment and one from a manual entry. The combination of amount, date, and charge code will identify most duplicates. Flag them for later resolution; don’t delete anything yet.

Step 4

Cross-Reference Bank Statement Deposits Against AppFolio Batches

Pull the bank statement for the period and list every deposit line. Cross-reference each deposit against the corresponding AppFolio batch. Every bank statement deposit should trace to exactly one batch.

What You FindWhat It Likely Means
A bank deposit with no corresponding AppFolio batchCandidate for the “received but never batched” error type
An AppFolio batch with no corresponding bank depositCandidate for a batch created in the system that never actually cleared the bank
Step 5

Review Security Deposit Liabilities Specifically

Security deposits are the liability type most commonly mishandled outside the system. Pull the security deposit liability total from the Trust Account Detail report and compare it to your tenant ledger records of active security deposits. Any tenant who has moved out but whose security deposit liability still appears in AppFolio is a candidate for an “offline refund” error: the check was written but the AppFolio entry was never made.

Step 6

Build a Clearing Priority List

Once the audit is complete, organize the items you’ve identified by two dimensions: age (oldest first) and owner impact (largest owner-facing discrepancies first).

PriorityItem ProfileExample
FirstOld and owner-facingAged discrepancies already reflected in owner statements or draws
SecondOld but not yet owner-facingAn unresolved batch that hasn’t yet been included in an owner statement

When to Loop in an Accountant Before Touching Anything

Trust corrections in AppFolio can have regulatory reporting implications, particularly for security deposit handling, that PM companies frequently underestimate. A correction that looks clean in the system may require disclosure to state regulators or to affected property owners, depending on the nature and size of the error.

Stop and Consult a Qualified Accountant If:

  • The trust gap is larger than approximately one month’s average draw total, or
  • Any unresolved items cross accounting period boundaries that affect already-generated owner statements or prior-period reconciliations.
6

How to Clear It Correctly, Without Making It Worse

The governing principle for trust corrections in AppFolio: the correction must mirror how the liability broke, not just zero out the bank. Every discrepancy has a specific cause, and the fix needs to address that cause at the ledger level where it originated. Here are the six most common scenarios and how to handle each.

Six common trust drift scenarios and the correct fix for each: payment never batched, duplicate tenant payment, bank feed matched directly, security deposit refunded outside the system, stale batches from a prior bookkeeper, and owner disbursed before reconciliation closed
Image 10: Six Common Trust Drift Scenarios and the Correct Fix for EachReplace [https://maspartner.com/wp-content/uploads/2026/10/Screenshot-2026-10-09-182648.png] with the image link

Figure 7 — The fix must mirror how the liability broke — zeroing the bank balance without tracing the liability just moves the error forward

Scenario 1

Payment Received but Never Batched

The Situation: The tenant ledger shows a payment received. The trust bank account doesn’t show a corresponding deposit because no batch was created.

The Fix: Create the missing deposit batch in AppFolio, date it to the correct period (the date the payment was actually received), and post it. If the period is closed, you may need to reopen the reconciliation to backdate the batch. Do not create a journal entry to move the bank balance instead; this bypasses the batch workflow and creates a new audit trail problem on top of the original one.

Scenario 2

Duplicate Tenant Payment

The Situation: Two payments are posted against the same charge. One is real, typically the portal payment, which has a payment reference number. The other is a manual entry with no corresponding bank deposit.

The Fix: Identify which entry has the real bank-side evidence (the portal payment with a unique reference, or a deposit that appears on the bank statement). Reverse the manual entry against the tenant ledger. Do not simply delete it; create a reversal that leaves an auditable record. Verify that the tenant’s ledger balance after the reversal matches what’s actually owed.

Scenario 3

Bank Feed Matched Directly, Bypassing the Batch

The Situation: A bank statement line was matched in the bank feed directly to a bank ledger entry without going through the deposit batch workflow. The bank balance is right; the liability trail is wrong.

The Fix: Unmatch the bank feed entry. Re-enter the underlying payment through the correct batch workflow: create the batch, date it correctly, and then reconcile the batch to the bank statement entry. This restores the complete tenant-to-batch-to-bank audit trail.

Scenario 4

Security Deposit Refunded Outside the System

The Situation: A tenant moved out and a refund check was written directly without processing the move-out in AppFolio. The bank balance decreased; the security deposit liability in AppFolio did not.

The Fix: Process the move-out in AppFolio completely. Apply any legitimate deductions to the tenant ledger (cleaning, repairs, unpaid rent) and record the refund disbursement through AppFolio. The disbursement should match the check amount, and the bank entry for the check should reconcile to this AppFolio disbursement. After this, the security deposit liability will clear correctly.

Scenario 5

Stale Unresolved Batches from a Prior Bookkeeper or Migration

The Situation: This is the scenario requiring the most judgment. Batches that are months or years old may represent real transactions with real liabilities behind them, or they may be artifacts of a migration or data entry error with nothing real behind them.

The Fix: Batches less than six months old should be fully traced before any write-off decision. Batches from a migration, or older than twelve months with no corresponding tenant activity, need to be reviewed with an accountant who can advise on whether a write-off is appropriate and whether any disclosure to affected owners or tenants is required. Never mass-write-off old batches without a line-by-line review.

Stale Batch ProfileRequired Action
Less than six months oldFully trace before any write-off decision
From a migration, or older than twelve months with no corresponding tenant activityReview with an accountant: is a write-off appropriate, and is disclosure to owners or tenants required?
Any ageNever mass-write-off without a line-by-line review
Scenario 6

Owner Disbursed Before Reconciliation Closed

The Situation: The reconciliation for the period was still open when the owner draw was processed. The draw included payments that weren’t fully reconciled, so the trust balance after reconciliation is short by the amount of those unreconciled payments.

The Fix: Calculate the exact shortfall: what the draw should have been versus what it was. Then either (a) apply the shortfall as a reduction against the owner’s next draw, with a line-item explanation on their statement, or (b) if the shortfall is due to a specific payment that subsequently cleared, verify the payment, process the outstanding batch, and confirm the liability is now correct. Consult the management agreement and your legal counsel before adjusting an owner’s draw downward without explicit communication.

What Not to Do: The Journal-Entry Shortcut

The most tempting incorrect fix is a general journal entry that makes the Trust Account Balance report show zero difference: a debit to the trust bank account and a credit to a suspense or offset account, or vice versa. This makes the report look clean. State trust auditors specifically look for these entries because they are the accounting equivalent of a cover-up: they indicate that someone knew the accounts didn’t balance and chose to paper over it rather than trace the cause.

Key Rule

A properly fixed trust account has no unexplained journal entries touching the trust bank account. Every entry should trace to a tenant payment, a batch deposit, a security deposit disbursement, or an owner draw.

Documenting Corrections for Audit Readiness

Every correction made to the trust ledger should be documented. This documentation doesn’t need to be elaborate; a spreadsheet or shared document with one row per correction item is sufficient, but it needs to exist. In a state audit, the ability to walk through each correction line by line is what distinguishes an accountable PM company from one that appears to have manipulated its records.

Required FieldWhat to Record
Original error identifiedError type, amount, and period
Correction action takenThe specific AppFolio entries created or reversed
Performed byThe staff member who performed the correction
DateThe date the correction was made

Example Correction Log (Illustrative)

Error TypeAmountPeriodCorrection ActionByDate
Payment never batched$1,250.00Jul 2026Created missing deposit batch dated 07/25/2026J.S.Aug 3
Duplicate tenant payment$875.00Jul 2026Reversed manual entry; portal payment retainedJ.S.Aug 3
Deposit refunded offline$1,100.00Jun 2026Processed move-out and recorded refund disbursementA.R.Aug 4
7

Prevention: Stopping It from Happening Again

Fixing a trust imbalance is a one-time effort. Preventing it from recurring requires building the workflows and controls that AppFolio’s architecture was designed to support but doesn’t enforce on its own. Here’s what that looks like in practice.

AppFolio monthly close checklist: before owner statements run, confirm batching, bank feed reconciliation, zero-difference trust balance and cleared stale items; then verify owner draws and disbursements; after disbursements, file the Trust Account Balance report and document corrections
Image 11: AppFolio Monthly Close Checklist — Trust Reconciliation FirstReplace [https://maspartner.com/wp-content/uploads/2026/10/Screenshot-2026-10-09-182759.png] with the image link

Figure 8 — Trust reconciliation is never the last step; it must be complete before any owner statement is generated

Building a Batching SLA

Every payment received should be batched within a defined window. This is not a complicated workflow, but it needs to be explicitly defined, assigned to a specific role, and monitored. The default AppFolio dashboard shows undeposited funds; use it as a daily check item.

Payment Age Without a BatchStandard
Same business day or next morningBatched: the standard at well-run PM companies
More than two business daysTriggers an exception review

Bank Feed Configuration Best Practices

AppFolio’s bank feed is a convenience tool, not a bookkeeping tool. Configure it to assist with reconciliation, surfacing bank transactions that correspond to existing batches, not to post transactions directly without a corresponding batch. The specific setting to review: bank feed auto-matching rules. If transactions are being auto-matched without a manual review step, that configuration introduces the bypass-batch error type described in Section 4. Turn off auto-matching for any transaction type that should go through the batch workflow.

AppFolio Bank Feed settings screen showing automatic match rules, auto-match action options, and the transaction types that always require manual review, including tenant payments and owner payments
Image 8: AppFolio Bank Feed Auto-Match Settings (Screenshot)Replace [https://maspartner.com/wp-content/uploads/2026/10/Screenshot-2026-10-09-183006.png] with the image link

Settings → Bank Accounts → Bank Feed. Review auto-match settings. Transactions that represent tenant payments should require manual review before matching, not auto-post to the bank ledger.

Segregation of Duties

The person who records tenant payments should not be the same person who approves owner disbursements. This is a standard internal control principle, but in PM companies it’s also frequently a state regulatory requirement, not just best practice. In AppFolio, this maps to user role permissions: staff in payment-recording roles should not have disbursement approval permissions. If your current AppFolio user permissions don’t reflect this separation, restructuring them is one of the highest-value actions you can take for trust accounting integrity.

RoleShould HaveShould Not Have
Payment recording staffPermission to record tenant payments and build deposit batchesOwner disbursement approval permissions
Disbursement approverPermission to review and approve owner disbursementsResponsibility for recording the tenant payments being disbursed

Monthly Close Sequence: Trust Reconciliation Is Step One, Not Step Last

This is perhaps the single most impactful operational change most PM companies can make. Owner statements and disbursements should not be generated until the trust reconciliation is complete and the Trust Account Balance report shows zero difference. In practice, many companies generate owner statements first and reconcile afterward, which guarantees that at least some draws are processed against an unreconciled trust balance. Reversing this sequence (reconcile first, disburse second) eliminates one of the most common sources of the over-disbursement problem described in Scenario 6.

Batch All Payments
Reconcile to Bank
Zero-Difference Trust Balance
Owner Statements
Owner Disbursements

Payment Processor Integration Failure Modes

Each payment channel AppFolio supports introduces a distinct trust accounting failure mode. Understand which channels your tenants use most and design your batch SLA accordingly.

Payment ChannelHow It BehavesFailure Mode to Watch
Tenant portalThe most reliable; creates a clear payment record on the tenant ledgerCan duplicate if staff also manually post the same payment
ACH pulls (integrated processors)Post automatically to the batch workflowTiming mismatches when the bank settlement date differs from the AppFolio posting date
LockboxRequires the most manual reconciliation effortThe most common source of unmatched deposits

Standardizing the Migration Checklist for New Portfolios

Every time a new portfolio is onboarded into AppFolio, whether from another AppFolio instance or from a different PMS, the opening trust balance should be verified line by line before any transactions are processed:

Step 1
Prepare a per-tenant listing of security deposits held, verified against tenant lease files.
Step 2
Prepare a per-owner listing of reserves and advance rents, verified against management agreements.
Step 3
Reconcile the total to the trust bank statement as of the migration date.
Step 4
Process no transactions in the new portfolio until the opening balance is verified.

This takes time. It prevents years of compounding drift.

8

When the Problem Is Beyond a DIY Fix

Some trust accounting problems can be resolved internally with focused effort over a few weeks. Others have grown too large, too tangled, or too legally exposed for internal correction to be appropriate. Knowing the difference is important, because attempting a DIY fix on a problem that requires professional involvement can make the regulatory exposure significantly worse.

Signs the Backlog Is Too Large or Too Tangled for Internal Correction

Warning SignWhy It Exceeds an Internal Fix
Multi-month driftThe trust-liability gap has been accumulating for more than three months and no one on the team has a clear picture of when it started or why. The trace-back effort is likely beyond internal bookkeeping capacity.
Multiple owners affectedDraws may have been miscalculated for one or more owners. The correction requires property owner notification and potentially amended statements, which introduces a relationship and legal dimension beyond a pure accounting fix.
Unclear migration historyThe discrepancy appears to originate from or around a software migration and the migration records are incomplete. The full scope can’t be determined without a forensic reconstruction of the pre-migration data.
Security deposit liability that doesn’t traceImbalances that can’t be resolved through standard AppFolio correction entries may require notification to tenants and, in some states, disclosure to state regulators. This is not an accounting correction; it is a legal matter.

What the Exposure Looks Like Without Resolution

An unresolved trust discrepancy is not simply a bookkeeping problem. It is a potential compliance violation.

ExposureWhat It Means
RegulatoryIn most U.S. states, a property manager who cannot reconcile the trust account on demand is at risk of license suspension or revocation.
PersonalIf a discrepancy reflects actual missing funds (the cash in the bank is genuinely less than what’s owed to tenants and owners), the legal exposure extends to the individual property manager and potentially to the PM company principals personally, depending on state law.
Owner litigationAn owner who discovers their draw was calculated against an incorrect trust balance, meaning they were over- or underpaid, has grounds for a dispute under the management agreement. This is separate from state regulatory action and can arise regardless of intent.

What an AppFolio Trust Cleanup Engagement Actually Involves

A professional trust cleanup engagement for an AppFolio file is not simply a reconciliation service. It involves:

Step 1
A forensic reconstruction of when the trust gap began and how it accumulated.
Step 2
A line-by-line review of the Trust Account Detail report against source records: bank statements, tenant ledgers, and lease files.
Step 3
Identification and documentation of each discrepancy and its correction method.
Step 4
The actual corrections made in AppFolio using the correct workflow rather than journal-entry shortcuts.
Step 5
A final reconciliation confirming zero difference between bank balance and trust liability.
Step 6
Documentation packaged for audit readiness.

Depending on the size of the portfolio and the depth of the backlog, this can take anywhere from a few days to several weeks.

What to Look for in an Outsourced Bookkeeping Partner

CapabilityWhy It Matters
Direct AppFolio trust experienceSpecifically with trust accounting and the deposit batch workflow, not just general real estate accounting
State requirement knowledgeFamiliarity with your state’s PM trust accounting requirements and what constitutes a reportable discrepancy
Documented cleanup methodologyNot just “we’ll reconcile the accounts,” but a specific process for tracing discrepancies to their source
Relevant referencesFrom PM companies that have gone through a trust cleanup specifically, not just general bookkeeping references
Fraud escalation protocolDiscovery of fraud or misappropriation during cleanup should trigger a specific escalation path, not improvisation

Questions to Ask Before Handing Over Trust Account Access

QuestionWhat a Solid Answer Looks Like
Have you done AppFolio trust cleanups before? How many?A specific number, with a reference available on request.
How do you handle discrepancies that may require owner notification?A clear process: document first, then notify the owner together with the PM company, before any retroactive adjustment.
What’s your escalation path if you find evidence of misappropriation?Defined: pause, document, notify principals, and recommend legal counsel before any correction.
Will you document every correction for audit readiness?Yes, with a full correction log keyed to each discrepancy type and period.
What do you need from us to start?A specific list: Trust Account Balance report, bank statements, tenant ledger export, and migration records if applicable.

Considering Outside Help?

If your Trust Account Balance report shows a gap you can’t immediately explain by a single, identifiable transaction, that’s the threshold at which a professional review is worth the conversation. A gap with an unknown origin is not a bookkeeping problem you should try to outmaneuver.

Reference

Frequently Asked Questions

The trust bank balance is the physical cash held in the trust bank account. The trust liability balance is what AppFolio says you owe, in aggregate, to all tenants and owners combined: tenant credits, security deposits, prepaid rent, and owner balances and reserves. The two must match to the cent at all times. Owner draws are calculated from the net owner ledger balance on the liability side, not from the bank balance.

No. There is no alert, dashboard warning, or email notification when the trust liability diverges from the bank balance, and the two numbers are not shown side by side in the default dashboard. You have to run the Trust Account Balance report and compare them, which is why it should be a standing monthly task assigned to a specific person.

Payments that are received but never batched. The payment appears on the tenant ledger, but because it is never grouped into a deposit batch, AppFolio’s trust bank ledger has no record of the deposit. Bank feed transactions matched directly without a batch, security deposits refunded outside the system, draws processed before the reconciliation closes, duplicate payments, mid-cycle property moves, and migration errors are the other common causes.

Not unless the entry traces to the actual cause. A general journal entry that forces the Trust Account Balance report to zero difference hides the error in another account; the error reappears at the next reconciliation, and state trust auditors specifically look for these entries. Every entry touching the trust bank account should trace to a tenant payment, a batch deposit, a security deposit disbursement, or an owner draw.

At the end of every month, after all batches are posted and the bank reconciliation is complete, and before any owner statements are generated. The report should show a zero difference, zero unresolved batches, and no undeposited items beyond the current day’s activity. Undeposited funds on the dashboard should be checked daily.

The same business day or the next morning is the standard at well-run PM companies. Any payment more than two business days old without a batch should trigger an exception review, and during an audit it should be treated as an error rather than a timing difference.

After. Reconcile first, disburse second. Generating owner statements before the reconciliation closes guarantees that at least some draws are processed against an unreconciled trust balance, which is a common source of over-disbursement.

Verify the opening trust balance line by line before processing any transactions: a per-tenant listing of security deposits verified against lease files, a per-owner listing of reserves and advance rents verified against management agreements, and a reconciliation of the total to the trust bank statement as of the migration date. A correct total with the wrong per-tenant composition still produces drift.

Before making corrections if the gap is larger than roughly one month’s average draw total, or if unresolved items cross periods that affect already-generated owner statements. Bring in professional help if drift spans more than three months, multiple owners are affected, the migration history is unclear, or security deposit liability doesn’t trace, or whenever the gap can’t be explained by a single, identifiable transaction.

Final Thoughts

Conclusion

AppFolio Does the Work. You Still Have to Check It.

AppFolio is genuinely well-designed for property management trust accounting. The deposit batch workflow, the trust liability architecture, and the separation between tenant ledger, trust bank, and owner ledger are not arbitrary complexity. They are the technical implementation of fiduciary and regulatory requirements that PM companies have to meet regardless of which software they use.

The problem is that this architecture requires active participation to work. AppFolio creates the structure. It doesn’t enforce it. The batch workflow can be bypassed. The bank feed can be misconfigured. The monthly reconciliation can be skipped in favor of getting owner statements out on time. Each of these shortcuts is understandable in a busy operation. Each of them contributes to the same predictable result: a trust-liability gap that grows silently until something forces a look.

The three things that separate PM companies with clean trust accounting from those who find problems at the worst possible moment are simple in concept, if not always easy in execution. Those three habits, applied consistently, prevent the large majority of the problems described in this guide.

Run the Trust Account Balance report monthly and require a zero difference before any owner statement is generated. Close every batch within two business days of the underlying payment. And never use a journal entry to fix a trust balance without first tracing the underlying cause.

Resources

Further Reading & Official Resources

    Need Help Getting Your Books Reconciled?

    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.

    Book a Free Consultation Today
    Book Free Consultation