# Rent Roll to Excel: Converting a Scanned Rent Roll

- Author: Schema Law (https://www.schemalaw.com/)
- Published: 2026-05-31T13:08:07Z
- Updated: 2026-10-11T19:22:20Z
- Category: Practice areas
- Canonical: https://www.schemalaw.com/blog/rent-roll-to-excel

> Get a scanned rent roll to Excel: convert the pages, repair unit and date columns, prove the totals against the printed ones, and audit rows against leases.

To get a scanned rent roll into Excel, run the PDF through OCR that detects tables, export a workbook, stack the page sheets into one, and turn the rent, deposit and date cells into real numbers and dates. Then prove the result: your column sums must match the totals printed at the foot of the rent roll.

A rent roll looks like the easiest table a real estate lawyer will ever convert. It is a plain grid with one row per unit. It still goes wrong in predictable ways, and since the document exists to be relied on for its numbers, the checks matter more than the conversion.

Unit rows help a sale or a loan file only when the lease dates and the security deposit match the scan. After you export, find the start date, the end date, and the deposit amount on each row. Compare those cells with the page before you total them for a closing workbook.

## What is a rent roll and who asks a lawyer for one?

A rent roll is a property's list of rentable units as of a stated date, with each unit's tenant, lease dates, rent and deposit. A lawyer is asked to review one whenever someone is about to rely on a building's income: a buyer, a lender, a receiver, an appraiser, or a spouse or heir with a claim on the property.

The columns differ from one management system to the next, but most rent rolls carry some version of these:

| Column | What it holds | Residential or commercial |
| --- | --- | --- |
| Unit or suite | The space identifier | Both |
| Tenant | Name on the lease, or "VACANT" | Both |
| Square feet | Rentable area | Mostly commercial |
| Lease start and end | Term dates | Both |
| Move-in date | When the tenant took possession | Mostly residential |
| Market rent | What the owner thinks the unit could fetch | Mostly residential |
| Contract rent | What the lease requires each month | Both |
| Other charges | Parking, pet fees, storage, common area charges | Both |
| Security deposit | Amount held | Both |
| Balance due | What the tenant owes as of the report date | Both |

The situations in which one lands on a lawyer's desk:

- **A purchase.** The seller attaches a rent roll to the contract or delivers it in due diligence, often with a statement that it is accurate. The buyer's side tests it.
- **A loan.** The borrower supplies one and may be asked to certify it.
- **Tenant estoppel certificates.** Each tenant confirms its own lease terms, and someone compares those answers with the rent roll.
- **Receivership, foreclosure and bankruptcy.** Whoever takes control of the building needs to know who pays what.
- **Divorce and probate.** Income property has to be disclosed and valued.
- **A dispute with a property manager** over what was collected.

When the rent roll comes from the other side, it comes as a PDF. If that PDF was exported straight from management software, it has real text in it. If it was printed, signed or initialed, and scanned, it is a picture.

## Converting a scanned rent roll to an Excel workbook

Convert a scanned rent roll by checking whether it has a text layer, uploading it to an OCR tool that finds tables, reviewing the parsed pages, exporting Excel, and combining the page sheets into one table. Do the cleanup in a copy and keep the raw export untouched.

1. **Test for text first.** Open the rent roll PDF and try to select one tenant's name. If you can, and it pastes correctly, the file is not a scan. You may still want a tool that understands tables to get it into Excel, but recognition errors will not be your problem.
2. **Look at the orientation.** Rent rolls are wide and usually print with the long edge of the paper across the top. If the pages were scanned sideways, rotate them before uploading.
3. **Note the report date and the page count.** "As of 08/31/2026, page 1 of 7." You will need both.
4. **Upload.** Schema Law accepts a PDF, PNG or JPEG of up to 20 MB in the browser. Excel is among the export formats on every plan. The free plan takes one document a day of up to three pages, enough to see how a page of your rent roll parses.
5. **Check a parsed page against the scan.** Pick the densest page. Count the columns on the scan and in the result. Confirm that one unit is one row.
6. **Export the workbook.** Each table found on a page arrives on its own sheet, named with a running number and its page, and the text outside the tables goes on a sheet called `Text`. The property name, report date and any footnotes will be there.
7. **Stack the sheets.** Copy each page's rows, in page order, onto one sheet. Add two columns as you go: the source page, and a row number in the original order.
8. **Convert the cells.** Exported cells hold text. Rents and deposits need to become numbers, and lease dates need to become dates, before anything will sum or sort.

How table detection works, and what the export contains, is laid out in the guide to [scanned PDF to Excel](https://www.schemalaw.com/blog/scanned-pdf-to-excel). This post stays with what is particular to rent rolls.

### Keep the original order

The row number in step 7 looks fussy and is not. You will sort this sheet by expiry date, by rent and by tenant. The only way back to the order of the printed report, which is the order of the scan you will be checking against, is a column that remembers it.

## Why do rent roll columns break at unit numbers and dates?

Rent roll columns break at unit numbers and dates because those are narrow columns of short codes packed close together, and a table reader decides where one column ends by the white space between them. Then Excel adds its own trouble by treating unit numbers and partial dates as something they are not.

### Unit numbers

| What happens | Example | Fix |
| --- | --- | --- |
| Unit merges with the tenant name | `204 Brightwater Dental` in one cell | Split the column at the first space |
| Leading zeros vanish | `0104` becomes `104` | Format the column as text before pasting, then retype from the scan |
| Excel reads the unit as a date | `3-12` becomes 12 March | Format as text first. A cell already converted has to be retyped. |
| Letters and digits are confused | `1O1` for `101`, `B8` for `88` | Sort the column. Misreads fall out of sequence. |
| A unit with a suffix splits in two | `12 A` across two cells | Rejoin, and check the columns to its right did not shift |

For the first problem, Excel has a built-in tool. Microsoft's instructions for [splitting text into different columns with the Convert Text to Columns Wizard](https://support.microsoft.com/en-us/office/split-text-into-different-columns-with-the-convert-text-to-columns-wizard-30b14928-5550-41f5-97ca-7a3e9c363ed7) are to select the column, choose Data and then Text to Columns, pick Delimited, and choose the delimiter. A space works for unit numbers, but it will also split a tenant name at every space, so insert enough blank columns to the right first, or use a formula that splits only at the first space.

Sorting is the fastest proofreading there is for unit numbers. A building's units follow a pattern: 101 to 112, 201 to 212. Sort a copy by unit and the cell that reads `2O7` or `27` shows up out of place at once.

### Dates

Lease dates cause three kinds of trouble.

- **Two dates share a cell.** Start and end print close together, and the reader takes them as one column: `06/01/24 05/31/27`. Split at the space.
- **Two-digit years.** `05/31/27` will convert, but look at what Excel made of a lease that began in `98` or ends in `31`. Confirm the century on any long ground lease.
- **Words in a date column.** `MTM` for month-to-month, `VACANT`, `HOLDOVER`, or a blank. These are information, not errors. Move them to a status column and leave the date cell empty, so date sorting works.

A stray slash read as a 1, or a 1 read as a slash, turns `01/15/26` into `0111526` or `0/15/26`. Filter the date columns for cells that are still text after conversion. Those are your misreads.

### Rows that wrap or break

A long tenant name wraps to a second line inside its cell on the printed page, and the export may give that second line its own row, empty except for the name fragment. Merge it upward. Commercial rent rolls also print several lines per tenant, one for base rent and others for each additional charge, with the tenant name only on the first. Fill the name and suite down, or you will have charge rows that belong to nobody once the sheet is sorted.

## Do the rent roll totals still add up after conversion?

The rent roll totals add up after conversion only if every amount was read correctly and no row was lost or doubled, and you find out by summing your columns and comparing them with the totals the rent roll prints. Run that comparison before you use a single figure.

Look for a total line at the end of the rent roll and for a summary block. Use all of it.

| Check | Compare | A mismatch means |
| --- | --- | --- |
| Unit count | Your count of unit rows against the printed total units | A row was dropped, split or duplicated |
| Occupied and vacant | Your count of each against the summary | A `VACANT` label was misread, or a status is wrong |
| Contract rent | Sum of your column against the printed total | A misread amount, or a subtotal row counted as a unit |
| Square feet | Sum against the printed total | Same, in a column people forget to check |
| Deposits | Sum against the printed total | Same |
| Occupancy percentage | Occupied units divided by total units, against the printed rate | Check whether the report computes it by units or by area |

Before summing, take out the rows that are not units. Page subtotals, building subtotals and the grand total all look like data rows after export. Move them to a separate sheet. They are your answer key.

A worked example with invented figures. The rent roll for a fictional 48-unit building, Alder Court, prints total monthly contract rent of 71,385.00. Your converted column sums to 71,985.00, which is 600.00 too much. The difference is a multiple of 100, which points to one wrong digit in the hundreds place. Since the sum is too high, a rent was read higher than it is. You compare the hundreds digits down the column with the scan and find unit 207: printed 1,250.00, read as 1,850.00. A 2 became an 8. Correct it, and the column ties.

If the report prints page subtotals, check each page separately. A page that ties needs no further search, and the error is confined to the page that does not.

Tying to the printed total proves the conversion. It proves nothing about the rent roll. A rent roll can add up perfectly and still be wrong about what the leases say, which is the next check.

## Checking a rent roll against the leases behind it

Check a rent roll against the leases by adding lease-side columns beside each converted row and filling them from the signed documents: tenant name, premises, dates, rent, deposit. Every difference between the two sides is a question for whoever prepared the rent roll.

### Audit columns

Add these to the right of the converted data, one set per row:

| From the rent roll | From the lease | Difference |
| --- | --- | --- |
| Tenant | Tenant as named in the lease, and any assignee | Match or not |
| Unit | Premises as described | Match or not |
| Lease end | Expiration date, and option terms | Days |
| Contract rent | Rent for the current period under the rent schedule | Dollars |
| Deposit | Deposit clause, and any letter of credit | Dollars |
| | Lease file name and page | |

The leases will be scans too. Converting them to searchable PDFs lets you jump to "Base Rent", "Term", "Security Deposit" and "Option" in each one. Search is not kind to amendments, though: the current rent may sit in a third amendment that replaced the schedule in the lease. Work from the latest document backward. The post on [converting a commercial lease PDF to Word](https://www.schemalaw.com/blog/commercial-lease-pdf-to-word) covers the lease conversion and the rent schedule tables inside it.

### What the differences tend to be

- **The rent stepped up and the rent roll did not.** The lease schedule shows an increase last quarter. The rent roll shows the old figure, or the reverse.
- **Free rent or a concession.** The rent roll shows contract rent while the tenant is paying nothing for three more months.
- **The term ended.** A row shows a lease end date in the past and no status. The tenant may be holding over, or may have renewed in a document you have not been given.
- **Names differ.** The rent roll uses a trade name and the lease names a company. Record both.
- **A lease is missing.** A row on the rent roll has no lease in the data room. Ask for it.
- **A lease has no row.** A lease in the data room has no row on the rent roll. Ask about that too.

For a large building you may not read every lease. If you sample, write down how you chose: every tenant above a rent threshold, every lease expiring within two years, and a number of the rest. What a discrepancy means for the deal, and what the contract entitles your client to do about it, is legal judgment that depends on the documents and the jurisdiction. The spreadsheet's job is to make the list complete.

After closing, the checked rent roll belongs with the rest of the transaction record. The post on [OCR for real estate closing documents](https://www.schemalaw.com/blog/ocr-real-estate-closing-documents) describes how to keep the whole package searchable.

## Rent rolls that run over many pages or several properties

A long rent roll, or a set covering several properties, should end up as one table with a property column and a report date column on every row. Combine pages in order, strip the repeated headers and subtotals, and prove each property against its own printed total before merging it with the others.

### Many pages

Each page of a long rent roll repeats the column headings and may end with a subtotal. Stack the page sheets, then:

1. Delete every repeated header row except the first.
2. Move subtotal and total rows to the answer-key sheet.
3. Look at the last row of each page and the first row of the next. A tenant whose charge lines straddle a page break will have been cut in two.
4. Confirm the column count is the same on every page. If page 4 has one column fewer than page 3, two columns merged there, and everything to the right is one cell off.

Count the pages you intend to convert against your plan. In Schema Law the Solo plan allows up to 250 pages in one document and 1,000 a month, which covers most single properties. The [pricing page](https://www.schemalaw.com/pricing) lists the limits for larger portfolios.

### Several properties

A portfolio brings rent rolls from different managers in different layouts. Do not force them together early. Convert and prove each one separately, then map each to a common set of columns on a master sheet: property, report date, unit, tenant, square feet, lease start, lease end, monthly rent, deposit, source file and page.

Things to settle while mapping:

- **Monthly or annual.** Some commercial rent rolls state rent per year, or per square foot per year. Convert to one basis and note the rule.
- **Different report dates.** A rent roll as of June 30 and another as of August 31 do not describe the same moment. Keep the date on every row.
- **What "rent" includes.** One report folds parking and fees into the rent column. Another lists them apart.

### Two rent rolls for the same property

You may hold two versions for one building: the one attached to the contract and the updated one delivered before closing. With both converted and unit numbers cleaned, a lookup on the unit column lines them up. List the units where the tenant, the rent or the lease end changed between the two dates. That short list is the summary of what changed.

## Try it on a real document

Upload a scanned PDF and export it as Word, a searchable PDF or plain text on the free plan. Your documents are never used to train an AI model. [Start free](https://www.schemalaw.com/api/auth/google)
