AppFolio generates more data than most property management teams ever look at. The problem isn't a lack of information. It's knowing which reports to pull, how often, what to look for, and when to act.
Most PM companies pull reports reactively — usually after something has already gone wrong. A resident complains. An owner asks a question. A maintenance request blows past the 7-day mark and now there's a leak.
The PM companies that consistently outperform aren't smarter or better-staffed. They've just built a weekly reporting cadence that catches problems before they cost anything.
This guide covers the seven AppFolio reports we recommend every PM company pull every week, plus how to configure AppFolio so the reports stay accurate and actionable.
The whole routine takes about 30 minutes. Acting on what you find is where most teams fall short.
Before you pull a single report
Set these up once and every report becomes more useful.
1. Turn on lease expiration alerts
Where: Settings > Notifications > Lease Expirations
Set alerts for 90, 60, and 30 days. Without these, your team is reacting to expirations instead of planning for them. Renewal conversations should start at 90 days, not 30.
2. Enable work order aging notifications
Where: Settings > Notifications > Work Orders
Set an alert when a work order has been open for more than 3 days without an update. This surfaces stalled jobs before they become resident complaints.
3. Set your delinquency report filter defaults
Save a default filter in the Delinquency Report showing all balances over $0, sorted by amount descending. This becomes your morning collection call list every day.
4. Verify your vendor insurance fields are populated
Where: People > Vendors > each vendor profile
Insurance certificate expiration dates have to be entered manually. If they're blank, the Vendor Report can't flag anything. This is the single most common setup miss we see.
5. Confirm AppFolio is your system of record for all communication
All resident emails, texts, and letters should be sent through AppFolio so they log automatically. If your team is texting from personal phones, nothing is being captured — and you have no audit trail when something goes sideways.
The 7 reports
Pull these every week in this order. Roughly 30 minutes total.
1. Vacancy Report
Where: Leasing tab
Pull cadence: Daily ideally, weekly minimum (Monday morning)
What it shows: Every vacant unit, days on market, unit type, and asking rent across your portfolio.
What to do with it: Sort by days vacant. Any unit over 10 days gets a pricing review that day. Under 10 days, confirm a showing is scheduled. If a listing has no leads at all, the listing itself needs to be refreshed or repriced.
Action trigger: If a unit has been vacant more than 10 days with no applications, reduce asking rent by 3-5% OR refresh the listing photos and description before Friday.
Watch out for: Vacancy reports that only get pulled on Fridays. The Vacancy Report changes daily. Pulling it once a week means you're always five days behind on the metric that costs you the most.
2. Guest Cards Report
Where: Leasing tab — filter: this week
Pull cadence: Weekly
What it shows: Every leasing inquiry received, when it came in, and how quickly it was responded to.
What to do with it: Check response timestamps against inquiry time. Sort by inquiry date. Review every lead that did not convert to a showing and identify the drop-off point: no response, no showing scheduled, or no application sent.
Action trigger: If any lead went more than 1 hour without a response, address it with whoever handles leasing that day. Consistent late responses mean a process change is needed, not just a coaching conversation.
Watch out for: Treating slow response times as a coaching problem when they're usually a workload problem. A leasing agent juggling 12 inquiries and a half-dozen showings can't respond in under an hour without help. The fix is usually structural, not motivational.
3. Lease Expiration Report
Where: Leasing tab — filter: next 90 days
Pull cadence: Weekly
What it shows: Every lease expiring in the next 30, 60, and 90 days with tenant name, unit, and current rent.
What to do with it: Separate the list into three buckets — 30 days out (urgent), 60 days out (active outreach needed), 90 days out (initial contact). Map each expiring lease to a renewal offer status. Any 60-day expiration with no offer sent is already late.
Action trigger: If a lease is expiring in 30 days with no signed renewal, contact the tenant today by phone — not email. Text as a follow-up. If no response in 48 hours, notify the owner and begin marketing the unit immediately.
Watch out for: Renewal offers that go out via email and then sit unanswered for weeks. Email is fine as a delivery method; phone is required as the follow-up. The renewals you lose are almost always the ones you tried to close in writing.
4. Work Orders Report
Where: Maintenance tab — filter: open
Pull cadence: Weekly
What it shows: Every open work order, assigned vendor, current status, date created, and last update.
What to do with it: Sort by oldest open date. For anything open more than 3 days, confirm the vendor has a scheduled completion date. For anything open more than 5 days with no vendor update, call the vendor directly before end of day.
Action trigger: If a work order is open more than 5 days with no vendor response, reassign to a backup vendor immediately and notify the resident of the change. Do not wait another day for a vendor who has gone quiet.
Watch out for: Reassigning vendors without notifying residents. The communication gap during a vendor handoff is where complaints turn into negative reviews.
5. Delinquency Report
Where: Accounting tab
Pull cadence: Daily ideally, weekly minimum
What it shows: Every tenant with an outstanding balance, the amount owed, and how many days past due.
What to do with it: Pull every morning, not just on Fridays. Sort by balance amount. Contact every delinquent tenant by phone or text before 10am. Divide total delinquent balance by your gross potential rent to track your delinquency rate week over week.
Action trigger: If a tenant misses a payment plan commitment, escalate to the property manager the same day. A missed plan commitment is the first signal of an eviction situation.
Watch out for: Delinquency reports pulled only on Fridays. Same issue as the Vacancy Report — you're a week behind on the metric that costs you the most. Daily is the standard.
6. Lease Activity Report
Where: Leasing tab — filter: this week
Pull cadence: Weekly
What it shows: All leasing actions taken this week — applications received, leases sent, leases signed, and move-ins completed.
What to do with it: Use this to confirm the leasing pipeline is moving and not stalling at any single step. A spike in applications with no leases sent means something is breaking in the screening or execution step.
Action trigger: If an application has been approved for more than 48 hours with no lease sent, find out why immediately. An approved applicant who has not received a lease is a prospect who is still shopping.
Watch out for: Looking at this as a pipeline report only. The Lease Activity Report is also your team's leasing productivity dashboard. If application-to-lease conversion drops below 70%, something has changed in the process and needs investigation.
7. Vendor Report
Where: Maintenance tab — vendor profiles
Pull cadence: Weekly
What it shows: All active vendors including insurance certificate expiration dates, trade type, and contact information.
What to do with it: Filter for certificates expiring within 30 days. Contact those vendors immediately and request renewal certificates before you assign them any new work. Don't wait until a certificate is expired to act.
Action trigger: If a vendor's certificate has already expired, do not dispatch them until a current certificate is on file. If they are the only vendor for a critical trade, notify the property manager and begin identifying a backup immediately.
Watch out for: Treating insurance certificate management as an administrative task rather than a risk management task. A dispatched vendor with expired insurance is a liability gap you don't want to discover after the incident.
What separates teams that pull these reports from teams that act on them
Pulling the reports takes 30 minutes. The action triggers above are where most teams fall short. Three patterns we see consistently in PM companies that get the most value out of these reports:
Pull reports 1 and 5 daily, the rest weekly
The Vacancy Report and Delinquency Report change daily. Pulling them only on Fridays means you're always five days behind on the metrics that cost you the most. The other five reports can be Monday pulls.
Name your reports consistently so you can compare week over week
If you export reports to share with owners or for internal tracking, use the same naming format every week — for example, “VacancyReport_2026-05-12.xlsx.” Week-over-week comparison is where the real insight comes from, not any single week in isolation.
Use the action triggers as your daily task list
The action triggers above aren't suggestions. They're the specific moments when doing nothing has a measurable cost. Build them into your team's daily routine, not just your weekly review.
How Revaya handles these reports for our clients
Every Revaya APM is trained on AppFolio before day one. Part of that training is this exact reporting cadence — what to pull, what to flag, what to escalate.
Our clients don't have to spend 30 minutes a week pulling these reports. Their Revaya team member does it, surfaces what needs attention, and acts on it. The property manager gets a Monday-morning summary instead of a stack of reports to dig through.
If your team is buried in operations and these reports keep slipping, that's exactly the gap we built Revaya to fill.
Want a printable version of this guide? Download the PDF for your team.
Curious what this would look like for your portfolio? Book a 20-minute discovery call.





.png)

%20(1).png)



