1. Inventory every source
Do not assume Yardi is the only source of information. Important records may also exist in leasing tools, document repositories, spreadsheets and accounting systems.
Assign a business owner to every source.
- Core Yardi environment
- Voyager modules
- Document repositories
- External leasing tools
- Spreadsheets
- Interfaces and exports
2. Define what belongs in the target
A migration is not a requirement to reproduce every historical structure. Decide what is operationally useful, legally required and appropriate to archive.
Use the target operating model to guide the conversion.
- Active records
- Required history
- Open accounting items
- Documents
- Legacy reference data
3. Clean before conversion
Normalize codes, statuses, identifiers and duplicate records before the final mapping is locked.
The goal is to prevent legacy inconsistencies from becoming target-system inconsistencies.
- Property IDs
- Unit IDs
- Resident records
- Vendor records
- Accounting codes
- Statuses
4. Reconcile financial information
Build a separate financial validation workstream. Reconcile meaningful balances and open items rather than relying on record counts.
Document all conversion entries and assumptions.
- Trial balances
- Receivables
- Payables
- Deposits
- Open items
- Property-level totals
5. Run realistic conversion cycles
Multiple test cycles allow the team to improve mapping, cleanup and validation. Business users should test the information they rely on every day.
The final rehearsal should closely mirror production cutover.
- Technical test
- Business validation
- Financial reconciliation
- Final rehearsal
6. Control cutover and stabilization
Define transaction cutoff, late-entry handling, final approvals and post-launch issue ownership before migration weekend.
Keep a prioritized issue log until the operation stabilizes.
- Freeze window
- Final extract
- Delta handling
- Go-live criteria
- Issue triage
- Legacy access