How to Read a Rent Roll: A Column-by-Column Guide
A rent roll is the single most important income document in a commercial real estate deal — and one of the easiest to misread. Here's what every column means, the red flags to catch, and how lenders and buyers actually use it.
What a rent roll is (and what it isn't)
A rent roll is a unit-by-unit snapshot of a property's leases as of a specific date. For a multifamily property, that means one row per apartment; for office, retail, or industrial, one row per suite or tenant. Each row shows who occupies the space, what they pay, and the key lease terms.
Two things a rent roll is not:
- It is not a record of collections. The rent roll shows what tenants are charged, not what they actually paid. Collections live in the operating statement — see rent roll vs. T12 for how the two documents fit together.
- It is not stable over time. A rent roll dated three months ago can differ materially from today's. Always check the as-of date first; an undated rent roll is a red flag on its own.
The columns, one by one
Layouts vary by property management system — Yardi, RealPage, AppFolio, and Buildium each print the report differently — but nearly every rent roll contains some combination of these fields:
| Column | What it means | What to watch for |
|---|---|---|
| Unit / Suite | The unit identifier. Multifamily uses apartment numbers; commercial uses suite numbers. | Duplicate unit numbers, or gaps versus the stated unit count. |
| Unit type / Floor plan | Bedroom/bath configuration (e.g. 2BR/2BA) or space type for commercial. | Rents that vary wildly within the same floor plan without explanation. |
| Tenant name | The lessee of record. Commercial rent rolls show the business entity. | "Model," "office," or employee units counted as occupied; related-party tenants at above-market rents. |
| Status | Occupied, vacant, notice (tenant has given notice), or down/offline (not rentable). | Down units quietly excluded from the vacancy calculation. |
| Square feet | Rentable area of the unit or suite. | SF that doesn't sum to the stated total — common when subtotal rows get mixed into the data. |
| Market rent | Management's estimate of what the unit would lease for if vacant today. | This is an assertion, not a fact. Compare it against recent actual leases in the same rent roll. |
| Actual / lease rent | The contractual monthly rent the tenant currently pays. | The number underwriting actually rests on. The gap to market rent is loss-to-lease. |
| Other charges | Recurring non-rent charges: CAM, utilities (RUBS), pet rent, parking, storage. | Systems like Yardi stack these as separate lines under each unit — easy to double-count when re-keying. |
| Deposit | Security deposit held. | Deposits materially below one month's rent across the board can signal move-in specials. |
| Lease start / end | The current lease term. | End dates before start dates (data entry errors), and expiration concentration — many leases rolling in the same quarter. |
| Move-in date | When the tenant originally took occupancy. | A surge of move-ins in the 60–90 days before a sale can indicate the seller filled units on concessions to dress up occupancy. |
| Balance / delinquency | Unpaid amounts owed by the tenant. | Occupied units with large balances are economically vacant — they count in physical occupancy but produce no income. |
Occupancy: physical vs. economic
The headline occupancy number on a rent roll is almost always physical occupancy — occupied units divided by total units. The number that matters for income is economic occupancy: rent actually being collected divided by gross potential rent.
The two diverge whenever tenants are on concessions, carrying delinquent balances, or paying far below market. A property advertised at 95% occupied can easily be collecting 85% of its potential rent. Compute both before trusting either.
Red flags worth a second look
- Totals that don't tie out. Sum the rent column yourself and compare it to the stated total at the bottom of the report. If they don't match, either the report is broken or rows are missing — and everything downstream is suspect. (This check is exactly what automated reconciliation does on every document.)
- Large loss-to-lease. If actual rents sit far below market rents, either there's genuine upside — or the "market rent" column is aspirational. Test it against the newest leases signed at the property.
- Month-to-month stacking. A large share of tenants on expired leases rolling month-to-month means income that can evaporate in 30 days, and often signals deferred management attention.
- Lease expiration concentration. For commercial properties especially: if 40% of the rentable SF rolls in one year, the stable-looking rent roll is anything but.
- Concessions hiding in the numbers. Free months are sometimes netted into the rent column and sometimes not. A rent roll that shows face rents while tenants received two months free overstates income by 15%+ in year one.
- Delinquency ignored. Occupied units with three months of unpaid balance are eviction candidates, not income.
- Recent move-in surge. Many move-ins right before a marketing period, often paired with deposits below norm, suggests occupancy was bought with specials.
How lenders and buyers use the rent roll
Lenders
The rent roll is the starting point for sizing a loan. Underwriters recalculate gross potential rent from the unit rows, apply a vacancy factor (the greater of actual or a market minimum, commonly 5%), and carry the result into the net operating income that drives debt service coverage and loan proceeds. Agency lenders (Fannie Mae / Freddie Mac) require a certified rent roll, and the loan documents typically obligate the borrower to deliver updated rent rolls periodically through the loan term.
Buyers
In acquisition due diligence, the rent roll gets audited rather than accepted. A lease file audit samples units (or covers all of them) to confirm the rent roll matches the signed leases. On commercial deals, tenant estoppel certificates ask each tenant to confirm their rent, term, and any landlord defaults — directly testing the rent roll's claims. Buyers also reconcile the rent roll against the trailing-12 operating statement: annualized rent-roll income should be in the neighborhood of the T12's collected rent, and gaps need explaining.
Appraisers and brokers
The income approach to value starts from the rent roll: in-place rents versus market rents determine whether the appraiser underwrites upside, and the unit mix drives the comparable set.
Reading it faster
Most of the work in reading a rent roll is mechanical: getting the PDF into one clean row per unit so you can sort, sum, and compare. If the rent roll arrived as a PDF or a scan, you can convert it to Excel with the totals automatically verified against the document — the same checks described above, done deterministically. It's free to try, three documents a day, no signup.
Building a rent roll instead of reading one? Download the free Excel rent roll template — one row per unit, self-computing totals.
FAQ
What is a rent roll?
A snapshot of every rentable unit at a property as of a specific date: occupant, lease terms, rent charged, and usually square footage, deposits, and move-in dates. It's the primary document lenders and buyers use to verify income.
What's the difference between market rent and actual rent?
Actual rent is what the tenant contractually pays today; market rent is management's estimate of what the unit would fetch if re-leased now. The portfolio-wide gap is loss-to-lease (or gain-to-lease).
What's the difference between physical and economic occupancy?
Physical occupancy counts bodies in units; economic occupancy counts dollars collected against gross potential rent. Concessions, delinquency, and below-market leases push economic occupancy below physical.
Why do lenders ask for a certified rent roll?
Certification — a signature attesting the rent roll is true and correct as of its date — creates accountability, because the lender sizes the loan on those numbers.
How do I convert a rent roll PDF into a spreadsheet?
Re-key it manually, or use an extraction tool that outputs one row per unit and verifies extracted totals against the document's stated totals so misreads get flagged instead of flowing into your model.