Schema LawSign in with Google

Rent Roll to Excel: Converting a Scanned Rent Roll

By Schema LawPublished Updated

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:

ColumnWhat it holdsResidential or commercial
Unit or suiteThe space identifierBoth
TenantName on the lease, or "VACANT"Both
Square feetRentable areaMostly commercial
Lease start and endTerm datesBoth
Move-in dateWhen the tenant took possessionMostly residential
Market rentWhat the owner thinks the unit could fetchMostly residential
Contract rentWhat the lease requires each monthBoth
Other chargesParking, pet fees, storage, common area chargesBoth
Security depositAmount heldBoth
Balance dueWhat the tenant owes as of the report dateBoth

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. 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 happensExampleFix
Unit merges with the tenant name204 Brightwater Dental in one cellSplit the column at the first space
Leading zeros vanish0104 becomes 104Format the column as text before pasting, then retype from the scan
Excel reads the unit as a date3-12 becomes 12 MarchFormat as text first. A cell already converted has to be retyped.
Letters and digits are confused1O1 for 101, B8 for 88Sort the column. Misreads fall out of sequence.
A unit with a suffix splits in two12 A across two cellsRejoin, 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 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.

CheckCompareA mismatch means
Unit countYour count of unit rows against the printed total unitsA row was dropped, split or duplicated
Occupied and vacantYour count of each against the summaryA VACANT label was misread, or a status is wrong
Contract rentSum of your column against the printed totalA misread amount, or a subtotal row counted as a unit
Square feetSum against the printed totalSame, in a column people forget to check
DepositsSum against the printed totalSame
Occupancy percentageOccupied units divided by total units, against the printed rateCheck 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 rollFrom the leaseDifference
TenantTenant as named in the lease, and any assigneeMatch or not
UnitPremises as describedMatch or not
Lease endExpiration date, and option termsDays
Contract rentRent for the current period under the rent scheduleDollars
DepositDeposit clause, and any letter of creditDollars
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 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 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 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.

All posts in Practice areas