Switching property management software is the closest thing the industry has to a hostage situation. Your tenant ledger, your lease documents, your vendor records, your maintenance history, and a decade of financial transactions are all locked inside a vendor's system that has no business reason to make them easy to retrieve.
AppFolio is not the worst offender on this front, but it is not friendly either. This guide walks through what you can actually export, how, and what to do about the gaps. It is written for the small-to-mid PM who has decided to leave and is staring at a "Request Data Export" form that is more vague than it should be.
Step 1: Decide what data you actually need to take with you
Most operators panic and try to export everything. Resist. The data you need to take with you to operate the next system is much smaller than the data sitting in AppFolio. Triage:
- Active tenant data: current tenants, current leases, current ledger balances. Non-negotiable.
- Recent financials (last 24 months): rent collections, expenses, owner statements. Non-negotiable for tax continuity.
- Property and owner records: addresses, ownership entities, tax IDs, contact info. Non-negotiable.
- Active maintenance tickets and vendor records: required.
- Lease PDFs and signed addenda: required (these are legal documents).
- Historical archived tenants and old leases: nice to have. Pull only if the export is easy.
- Year-old maintenance photos and inspection reports: nice to have. Often not worth the friction.
If you triage the export against "what would I need if I had to defend an eviction or respond to an audit," the list is finite. Build that list before you touch the AppFolio export interface.
Step 2: What AppFolio gives you natively
AppFolio's native export tools cover the structured-data side reasonably well. The standard reports you can pull as CSV or Excel:
- Tenant Roster Report (active tenants, contact info, lease dates)
- Rent Roll (active leases, rent amount, deposit)
- Tenant Ledger Report (transaction history per tenant; export per tenant or batch)
- Trial Balance and General Ledger (financial export)
- Owner Statements (PDF per owner per period)
- Vendor List with payment history
- Property Master List
Most of these are accessible through Reports → Export to Excel/CSV. None of them require a sales call. Pull them all in one batch and store the originals. Treat the original CSVs as your master copy in case the destination system mangles something.
Step 3: What AppFolio makes painful
The data AppFolio does not give you cleanly is the unstructured side: the documents.
Lease PDFs and signed addenda
There is no bulk lease PDF export. You either download every lease individually from each tenant's profile, or you submit a data export request and wait. Some operators have resorted to writing custom Python scrapers using the AppFolio session cookies. That is a real thing people do; it works; it is also a lot of work.
Stored documents (notices, inspection reports, photos)
Same problem. Documents are tied to tenant or property records and download one at a time through the UI. There is no "give me a zip of every document" button.
Maintenance ticket history with attachments
The text of the tickets exports cleanly. The attached photos and vendor invoices are a separate manual download per ticket.
Step 4: Practical extraction sequence
The order I recommend, optimized for time-to-leave:
- Pull all CSVs and reports first (one afternoon). You now have the structured backbone of your operation in flat files.
- Submit AppFolio's data export request if your contract entitles you to one. Read the contract; some tiers do not. The response time is two to six weeks in my experience.
- While that is pending, manually download active lease PDFs for any current tenant. These are the documents you cannot operate without. Skip archived tenants for now.
- Manually download recent owner statements (last 12 months, PDF per owner per month). Your owners will want continuity.
- Stand up the new system in parallel. Do not cut over until you have at least your active leases and current ledgers loaded into the new platform and verified.
- Handle archived/historical documents last. Some of it you will end up not migrating. That is fine. Keep the AppFolio account read-only for 90 days after migration as a safety net if you can.
Step 5: How to load the data into a modern system
Here is where the destination platform matters as much as the source. Two patterns:
Old-school manual remapping
Take the AppFolio CSVs, open them in Excel, manually rename columns to match the destination platform's import template, paste in. Plan for two to four full days of someone's time, plus reconciliation. This is what most platforms still expect.
AI-assisted ingestion (the path I recommend if your new platform supports it)
Modern platforms with vision-capable AI can ingest the raw CSVs and the lease PDFs directly, extract every relevant field, and present a review form for you to approve before anything is written to the database. KeyTurn does this. You drop a lease PDF in, the model reads it, and the property + owner + tenants + lease record all materialize in seconds with 90%+ confidence on every field. The same flow handles your AppFolio CSVs. What used to be a four-day data entry job becomes an afternoon of clicking "Confirm" on review forms.
Read more about how that flow works on the KeyTurn home page, or jump straight to the closed beta if you are switching now and want help.
Migrating from AppFolio? We can probably help.
KeyTurn was built specifically for the operators AppFolio walked away from: small to mid-sized PM companies and independent landlords. The Marley AI assistant handles data ingestion from your AppFolio export so you do not have to remap CSVs by hand.
Request beta access