How to Import Lease Data into Yardi Voyager
Jun 23, 2026
PDF, JPG, PNG, BMP, HEIC, TIFF
Upload a document to extract
Drop files here or click to upload
Up to 50 files
Uploading...
To import lease data into Yardi Voyager, abstract each lease into a structured file, map your fields to Voyager's CommercialRE Lease Import template, match every unit code to the unit master, and load the file through Administration then Data Import. The two things that make rows reject are unit codes that do not match and a rent schedule that is missing a row for each step.
Getting leases into Yardi Voyager is less about Yardi and more about the data you hand it. Voyager will take a clean import file in minutes, but it is unforgiving about format: one mismatched unit code or a date in the wrong style and that row bounces. This guide covers how to prepare the data, what the import expects, and the mistakes that cause a batch to fail, whether you are migrating a freshly acquired portfolio or onboarding a single new lease.
Start with a structured lease abstract, not the PDF
Voyager imports data, not documents. So the first step is turning each lease into a structured abstract: parties, premises and unit, commencement and expiration, the base rent schedule, escalations, CAM treatment, options, and the security deposit. If you are abstracting by hand, work from a consistent commercial lease abstract template so every lease lines up to the same columns. If you have a stack to get through, abstracting them with software and exporting to a spreadsheet is far faster than retyping each lease; our Yardi lease abstraction page shows how the export maps to the import, and bulk lease upload covers running a whole portfolio at once.
Use the CommercialRE Lease Import
In most Voyager Commercial configurations the load runs through Administration, then Data Import, using the CommercialRE Lease Import. It accepts a flat CSV or XML whose column headers must match Yardi's current template exactly. Download the template from your own Voyager instance rather than reusing an old one, because the expected columns change between releases and an extra or renamed header will throw the file out before it loads a single lease. Imports run on a schedule, so expect a short batch delay, often one to four hours, rather than an instant result.
Match every unit code to the unit master
This is the single biggest cause of failed rows. Voyager ties each lease to a unit by its exact unit code as configured in the property's unit master. If your abstract has the suite the way the lease writes it, say Suite 300, and Voyager stores that unit as STE-300, the row fails. Before you build the import file, pull the unit list from Voyager and pre-match your abstract's suites against it, fixing the codes in your file to match Yardi rather than the other way around. For a multi-property load, do this property by property so a duplicated suite number in two buildings does not attach to the wrong unit.
Build the full rent schedule, one row per step
Voyager's rent schedule stores the stepped rent across the entire term, which is what drives future billing automatically. It is not the same as a single current-rent figure. A lease with annual increases needs a separate rent schedule record for each period: a 10-year lease that steps up every year should produce 10 rows, each with its own start date, end date, and amount. Miss the later steps and Voyager will keep billing the first-year rate. Build the schedule from the rent table in your abstract, and double-check the final step against the lease so the expiration-year rent is right.
Get the dates and amounts in the format Voyager expects
Use the date format your import template specifies, which for US Voyager instances is commonly MM/DD/YYYY; a date in a different style is a frequent reason a row rejects, so confirm it against the template before you load. Strip currency symbols and commas from rent and area figures, keep rentable square footage as a plain number, and make sure commencement, rent commencement, and expiration are all populated, since a blank required date will stop the row. Load a small test batch of three to five leases first, confirm they posted correctly in Voyager, then run the full file.
After the import: keep the numbers reconciled
Once the leases are in Voyager, the recurring work shifts to keeping billing and recoveries accurate. CAM and operating-expense reconciliation means tying each property's actual costs back to what tenants owe, which usually means pulling figures off a pile of vendor bills. If those arrive as PDFs, running them through a tool that can convert vendor invoices to Excel turns that month-end chore into a quick paste into your reconciliation workbook. Capital and maintenance spend is easier to defend at audit when it is tracked as real purchase orders against each property rather than loose approvals. And the lease events that drive Voyager critical dates, renewal notices, estoppel requests, and CAM true-up letters, tend to land in an inbox first; piping those through an email parser that extracts the details to a spreadsheet keeps them from slipping past a deadline.
Frequently asked questions
How do I import leases into Yardi Voyager?
Abstract each lease into a structured file, map the fields to Voyager's CommercialRE Lease Import template, match unit codes to the unit master, and load the CSV through Administration then Data Import. Test a few leases first, confirm they posted, then run the full batch.
What format does Yardi Voyager need for a lease import?
A flat CSV or XML whose column headers match the current CommercialRE Lease Import template exactly, with dates in the format the template specifies, commonly MM/DD/YYYY for US instances, and numeric fields stripped of currency symbols and commas.
Why does my Yardi lease import keep failing?
The two most common causes are unit codes that do not match the unit master and a rent schedule missing a row for one or more steps. Renamed or extra column headers, blank required dates, and wrong date formats also reject rows. Loading a small test batch first surfaces these before a full run.
Can I automate lease abstraction for a Yardi import?
Yes. AI lease abstraction software reads each lease and outputs the fields in a structured, exportable form in minutes, which you map once to the Voyager template and reuse for every load. See our lease abstraction software overview for how the abstraction and export work.