How do you get data out of AppFolio?
There are three realistic routes and we pick between them on the first call. The API, where your plan tier includes it, is the cleanest. Scheduled reports delivered on a recurring basis and landed in a folder your Microsoft tenant controls are the common fallback. And if AppFolio data already feeds a warehouse, we read it there. What does not exist is a database you can point Power BI at — AppFolio is cloud-hosted, and any vendor promising a one-click database link is overselling it.
Access is a contract question as much as a technical one. Programmatic access is an entitlement tied to your subscription tier rather than something every account can enable, so it is worth checking your current plan — the terms live on AppFolio's own site (opens in new tab) and with your account team. We confirm it before designing around it, because a build scoped for an API you turn out not to have is wasted money.
Routes out of AppFolio, and what each one means for your dashboard
| Route |
What it depends on |
Refresh |
Best fit |
| AppFolio API |
Your plan tier including programmatic access, plus credentials |
Scheduled, straight from the source |
Portfolios wanting the fullest object coverage and least moving parts |
| Scheduled export to a folder |
Recurring AppFolio report delivery landing in SharePoint or OneDrive |
Scheduled, one cycle behind the export |
Accounts without API access — still fully automatic |
| Existing warehouse or lake |
AppFolio data already being loaded by you or a vendor |
Whatever cadence the pipeline already runs at |
Teams with a data platform who need the reporting layer only |
| Manual download |
Someone exporting each cycle by hand |
Only when a person remembers |
Proof-of-concept only — we move you off it |
| Direct database connection |
Not available — AppFolio is a hosted cloud platform |
— |
Not an option; treat any vendor offering it with caution |
Whichever route we land on, refresh is configured, monitored, and repaired by us. Microsoft's documented data refresh limits (opens in new tab) apply — Power BI Pro supports up to eight scheduled refreshes per day, with more frequent options on higher tiers — and where a source sits on your own network we configure Microsoft's on-premises data gateway (opens in new tab) as well.
Where does AppFolio's own reporting stop?
AppFolio's report builder is genuinely capable inside its lane: it answers a question about a property, as of a date, on the objects it knows. The ceiling is comparison and history. Rank forty properties on one page, trend delinquency across six quarters, measure turn time against last year, or join AppFolio numbers to a budget that lives elsewhere, and you are exporting to Excel — which is where most operators' month-end actually goes.
Two limits do most of the damage. First, point-in-time reporting: today's aging is available, last April's is only available if someone saved the export. Second, single-question scope: each report answers on its own, so an owner pack becomes a stack of them, pasted together and reformatted every cycle. A Power BI model fixes both by keeping history and putting the questions on one page. The broader operational KPI picture across any platform is covered on our Power BI for property management page; this one stays on AppFolio-specific access and objects.
Which AppFolio reports do we rebuild?
The ones that are hardest to assemble in one place, and that change decisions when they are trended rather than snapshotted. Unit turns and days-to-ready, delinquency aging by bucket and property, renewals and lease expirations, maintenance spend and work-order backlog, collections against billed charges, and owner draws and distributions alongside NOI per property. Each is filterable by portfolio, region, property, or period and drillable to the underlying record.
AppFolio reporting capabilities and the Power BI dashboard version we build
| What you need to see |
Typical AppFolio reporting |
Power BI dashboard version |
| Occupancy & vacancy |
Current status per property or portfolio |
Every property ranked side by side, with occupancy trended by month |
| Unit turns |
Turn steps and make-ready tasks tracked per unit |
Days-to-ready and lost-rent days trended and compared across properties |
| Delinquency aging |
Aging as of today; history means keeping old exports |
Aging buckets by tenant and property with quarter-over-quarter movement |
| Collections vs billed |
Billed charges and receipts read from separate reports |
Collected against billed by charge code and property, month by month |
| Renewals & expirations |
Expiring-lease lists pulled per property |
Expiration exposure by month with renewal rate trended per portfolio |
| Maintenance & work orders |
Work-order lists and current-state counts |
Backlog, completion time and spend by category, vendor and property |
| Owner draws & distributions |
Owner statements produced and distributed each cycle |
Draws and reserves against collections and NOI, per owner and entity |
| Owner reporting pack |
Assembled from several reports and emailed as files |
One always-current report, filtered per owner by row-level security |
Shaping units, leases, ledgers and work orders into a model that answers portfolio questions quickly is the same discipline covered on our Power BI data modeling & DAX page — the measures matter as much as the connection, because “occupancy” and “delinquent” have to mean what your business means by them.
Is a template pack cheaper than a custom build?
Cheaper to buy, usually dearer to own. A pack assumes standard property, unit and charge codes and a standard chart of accounts. Yours are rarely standard — acquired portfolios, legacy codes, owner-specific arrangements — so the mapping work still happens, except it happens inside your team, along with the refresh setup and every breakage after that.
The honest comparison is total cost over a year, not licence price. A custom build costs more on day one and includes the mapping, the refresh, the validation against AppFolio's own totals, and the maintenance from hours you have already banked. A pack is the better answer if your codes really are standard and you have someone in-house who wants to own it; if you are reading this because nobody in-house has the time, the pack is a purchase that becomes a project.
What does the build cost?
You buy prepaid Flex hours that never expire: Starter $2,500, Growth $4,600, or Power $8,000, with hourly rates from $100 on the largest block. A first build covering occupancy, delinquency aging, turns and owner reporting typically fits inside one block. There is no project minimum and no retainer — refill only when you are ready for more.
Before any work starts you get a scope and hours estimate, and hours deduct only for builds you approve. That keeps a first engagement small and testable rather than open-ended, which matters here because the data-access route still has to be confirmed against your AppFolio plan. If you are building a budget internally, our guide to Power BI dashboard development cost breaks down what drives the number, and how prepaid Flex hours work covers the model in full.
How fast can you build it, and what happens after?
Once you approve the scope estimate, most builds ship in 3–5 business days, senior-led from start to finish. We publish to your workspace, set scheduled refresh, configure row-level security if owners or regional managers need their own slice, and hand over the report and credentials. You own everything.
After go-live the work is maintenance, and it comes out of the same banked hours: refresh failures, an export that changes shape, a new property or charge code, a measure that needs to follow a change in how you account for something. That is the part a connector tool or a template pack leaves with you, and it is the reason most in-house AppFolio reporting projects quietly decay after the person who built them moves on.
Who is this build for?
Residential and mixed portfolio operators running AppFolio without an in-house BI team — typically a few hundred units and up, where cross-property comparison and owner reporting are a real monthly chore but a dedicated data hire is hard to justify. Owners, operations leads and portfolio accountants are the people who usually get in touch.
If your portfolio runs on a different platform, start elsewhere: our Yardi Voyager Power BI dashboard page covers Voyager's data-access routes and reporting, and commercial portfolios on MRI — where lease abstraction, CAM recovery and multi-entity ledgers drive the reporting — are covered on our MRI Software Power BI dashboard build. Smaller residential portfolios and HOA managers running Buildium have a different first problem — extraction has to land in a warehouse before Power BI reads it — which our Buildium Power BI dashboard page works through route by route. Larger multifamily portfolios standardised on RealPage — OneSite, AIM, or RealPage BI — are covered on our RealPage Power BI dashboard page. If your questions span several systems and funds at once, Power BI for real estate is the wider view. Contact is form-only — send your request and we'll reply with a scope estimate.