Skip to the content
RentRoll Engine
Guide

Rent roll to underwriting model: mapping columns into Excel or ARGUS-style tools

Loading a rent roll into an Excel or ARGUS-style underwriting model means mapping each column to a model input: unit or suite, tenant, area, in-place rent, lease start and end. Rows must be one per unit, dates real dates and rent on one basis, and the loaded totals must tie to the roll before any cash flow runs.

Updated 28 October 2026. ARGUS is a trademark of its owner and RentRoll Engine is independent of it. Field names differ by product, version and firm.

01

What a model needs from the roll

A cash flow model needs structured tenant data: a unique key per space, the area, the rent and its basis, the term and any rules that change rent. A rent roll PDF holds none of that in a form a model can read, so the first job is turning the printout into a table with one row per unit and a fixed set of columns.

The second job is separating what the roll states from what the model must assume. The roll states in-place rent, area and dates. Market rent, escalations, recoveries, renewal probability, downtime and capital costs come from leases, appraisals or the underwriter's assumptions.

Keep a fixed layout

Use the same columns in the same order for every property. A formula, Power Query step or import map written once then keeps working, and a column in the wrong place is obvious.

02

Loading a rent roll into a model in six steps

  1. Fix the layout

    One row per unit or suite, vacant ones included, with the same columns every time.

  2. Clean the types

    Dates as real dates, rent and area as numbers with no symbols, and status as a fixed set of values.

  3. Normalize the rent basis

    Monthly rent times twelve for annual. Say whether the rent is base rent only.

  4. Map the columns

    Match each column to a model field using the table below. Leave unmapped columns visible and do not delete them.

  5. Add the assumptions

    Market rent, rent growth, downtime, renewal probability and costs come from outside the roll. Label them as assumptions.

  6. Check before the cash flow

    Compare the model's unit count, area and annual rent with the roll's totals. Then reconcile first-year income to the T-12.

03

Mapping the ten CSV columns to model inputs

The columns are the ones RentRoll Engine writes. The last row lists what the roll rarely supplies.

Rent roll CSV columns, the model input each feeds and what to watch for
CSV columnModel inputWatch for
unit Unit or suite ID, the row keyMust be unique. Duplicates are flagged
tenant Tenant nameBlank on vacant units
status Occupied or vacant flagDecides which rows earn rent
sqft Rentable areaKeep it on vacant units. Tie it to the property total
monthly_rent Current monthly rent, times twelve for annualThe printed rent column. An annual column was divided by 12
lease_start Lease commencementA real date once loaded, not text
lease_end Lease expirationBlank means month-to-month. Give it a model rule
deposit Security depositA liability, not income
notes Free textCarry concessions and options here or in your own column
flags Review listClear every flag before the load
Not in the CSV Market rent, escalations, recoveries, options, TI and LCTake them from leases or assumptions
04

What goes wrong

Pasting a PDF table straight in

Merged cells, subtotal lines, repeated headings and a totals row come along. The model reads them as tenants.

Dates that become text or swap day and month

A model cannot compute remaining term from text, and 04/05/2027 can be April 5 or May 4. Convert to real dates and check the ends of the range.

Totals inside the data

A totals row inside the data range is summed along with the units. Keep totals in cells outside the table.

Dropping vacant units

Vacant rows carry the area and the lease-up the model has to project. Without them occupancy and the denominator are wrong.

Loading unresolved flags

Duplicate units, vacant units with rent and status conflicts load as ordinary rows. Clear them first.

05

How RentRoll Engine helps

RentRoll Engine writes the same ten columns in the same order from any rent roll PDF it can read: ISO dates, plain decimals, annual rent divided by 12, vacant units kept with their area and flags on rows that needed a judgement. It checks rent and area against the printed totals before you download. It does not load models. Free: 1 file per day, up to 10 pages, no account. Files over 10 pages are converted up to page 10 on the free allowance; a page code converts the whole file, up to 150 pages. See pricing.

07

Questions about loading a rent roll into a model

How do I import a rent roll into an Excel model?

Convert it to a table with one row per unit, then use Data, From Text/CSV for a CSV file, or paste values. Map the columns to the model's inputs and check the loaded totals against the roll.

Can I import a rent roll into ARGUS?

ARGUS-style tools typically accept tenant and lease data through tables or import templates, and the required fields depend on the product and version. Check your vendor's documentation for the exact layout.

What does an underwriting model need from a rent roll?

At minimum: unit or suite, tenant, area, current rent, lease start and end, and status. Commercial models also need rent steps, recoveries, options and the lease type.

Why must dates be real dates?

A model that reads dates as text cannot compute remaining term, expiry buckets or escalation timing. ISO format (YYYY-MM-DD) avoids confusion between day-first and month-first.

How do I treat month-to-month tenants in a model?

The roll shows no end date, so the model needs a rule: assume they roll at a stated date, or treat the space as expiring at the start of the projection. State the assumption.

What should I check after loading?

Units, area and annual rent against the roll's totals, occupancy against the roll, and first-year income against the T-12. Any variance is a question to answer before the model is used.