Keep the spreadsheet if it still works. For one or two units with a tenant who pays on time and a furnace that never breaks, a well-kept sheet is a perfectly good system, and nobody should talk you out of it.
The trouble is that a spreadsheet fails quietly. It does not crash. It just stops being the whole truth, one side note at a time, until the day you need it to prove something and it can’t.
Recognize when you have outgrown the spreadsheet
Five situations tell you the file has hit its limit. One is enough.
Someone else needs the file. A spouse, a partner, a bookkeeper, a property manager covering your vacation. The moment two people edit one sheet, you get two versions, and nobody knows which is current. “Rent roll FINAL v3 (2).xlsx” is a symptom, not a filename.
A deposit dispute needs a dated record. The tenant says the carpet stain was there at move-in. Your spreadsheet has a cell that says “carpet ok.” There is no date on that cell, no photo, and no signature. That cell will not carry a small claims hearing.
A tenant asks for a ledger. They want every charge and payment since the lease started. If producing that means scrolling back through twelve monthly tabs and retyping rows into an email, the sheet was never a ledger. It was a set of monthly totals.
Tax time takes a weekend. The IRS expects you to keep the supporting documents behind every figure: deposit slips, invoices, canceled checks, account statements. If matching those to your rows takes two days every spring, the file is costing you more than software would.
A text thread is the maintenance log. When the only record of a leak is a message on your phone, you cannot show when you learned about it, who you sent, or what it cost. The LeaseRooster team compared the two options in detail in maintenance tracking: spreadsheet vs. software.
If none of these has happened yet, bookmark this page and come back when one does.
Clean the spreadsheet before you import it
Most failed imports come from spreadsheet habits that make sense to a person and none to a machine. Spend ten minutes on a copy of the file (never the original) before you do anything else.
- Unmerge every merged cell. A property name merged across four unit rows reads as one value followed by three blanks. Fill the name into every row.
- One row per unit, then one row per tenant. A row that says “Maria + Jose” is two tenants.
- Move notes out of data columns. “$1,450 (was $1,400 until June)” in a rent column is a note. Keep the number, move the history to a notes column.
- Delete sensitive columns. Social Security numbers, birth dates, and anything touching race or other protected traits come out entirely. The LeaseRooster tenants import rejects those columns, and they should not travel in a bulk file anyway.
- Pick one date format. 3/1/26, March 1, and 2026-03-01 in the same column is three formats.
If you are starting from a messy rent sheet, the rent roll template is a clean layout you can paste into first.
Move a small portfolio in about 30 minutes
This timing assumes about ten units or fewer and a spreadsheet you have already cleaned. More units add minutes, not steps.
Minutes 0 to 5: download the four templates
In LeaseRooster, go to Settings, then Integrations & Data, and start a new import. Pick properties and click Download blank template. Do the same for units, tenants, and leases. Four files, four sets of headers you do not have to guess.
Minutes 5 to 15: fill in properties and units
Give each property a name and paste in its address. Then list every unit in the units file, each with the property name spelled exactly as you just typed it. That spelling is how a unit finds its building.
Vacant units go in too. Leave them out now and you will be adding them by hand in a month.
Minutes 15 to 22: fill in tenants
Name, email, and phone for each person on a lease. Email matters more than it looks: a tenant whose email already exists in your account is matched to that person instead of added twice. If a file came out of a LeaseRooster export, delete its id column first.
Minutes 22 to 28: fill in leases
One row per lease with the unit, the tenant, the start and end dates, rent, and deposit. The unit label here has to match the units file, spelled the same way; capitalization does not matter.
Minutes 28 to 30: preview, import, and check
Upload each file in order (properties, units, tenants, leases) and click Preview import. The preview flags any bad row with the reason. No records are created until you click Import. Fix, preview again, import.
Then open two tenant profiles and read them back against your old sheet. If something looks wrong, an undo stays available for 24 hours. It is meant for an import that only added new records; do not use it on one that matched tenants or other records already in your account.
Import is on every plan. Once your tenants are in, each one has a single record with their lease, invoices, work orders, and messages on one timeline; that is what the tenant CRM is. The mechanics of the upload, including the export side on the Growth plan and up, are on the import and export page.
What to do with the old spreadsheet
Keep it. Save a final copy with the date in the filename and put it where your tax records live. It is a record of your rentals up to the day you switched, and you may need it long after you stop opening it.
This is general information, not legal advice. Rules change and local ordinances vary. Confirm current requirements with your city, county, or an attorney before you act.