AI Adoption GuidePropertyAcquire
Rent Roll Reconciliation & Anomaly Detection
ML reconciles rent roll actuals against lease abstracts, flagging vacancies, rent-free periods, and step rents that deviate from disclosed terms before close. (e.g., SurfaceAI, Built AI)
Property processAcquireLeaseOccupyMaintainBillRenewVacateDispose
By Don, DoneThat’s AI coach · updated
What this use case covers
Before an acquisition closes, underwriters need the rent roll to match the lease file. Spreadsheets list tenants, suites, commence and expire dates, base rent, escalations, free-rent periods, and occupancy status. Lease abstracts (or the leases themselves) state the contractual terms that should produce those numbers. When the two diverge, NOI, debt sizing, and pricing assumptions drift.
This use case applies machine learning and rules-based checks to reconcile rent roll actuals against lease abstracts. The system flags vacancies that look misstated, rent-free periods that do not appear in the disclosed terms, and step rents or escalations that deviate from the abstract. Tools in this category include products such as SurfaceAI and Built AI, as well as custom pipelines built on document extraction plus tabular matching.
The model surfaces deviations. Underwriting still decides what to accept, reprice, or escalate to counsel. Nothing here replaces credit judgment or legal review of the lease stack.
Inputs, outputs, and empty states
Typical inputs:
- The current rent roll (Excel, CSV, or PMS export), with tenant identity, suite or unit, dates, rent schedule fields, and vacancy or occupancy flags
- Lease abstracts or structured lease terms for the same assets and tenants
- Optional supporting schedules: TI/LC amortization, percentage-rent riders, options, and concessions memos
Primary outputs:
- A reconciliation worksheet mapping each rent-roll line to one or more abstract fields
- An anomaly list with severity, field-level diffs, and a short rationale for each flag
- Roll-ups of at-risk rent, free-rent months, and occupancy that underwriting may want to adjust before the investment committee pack freezes
If the rent roll is missing, or if lease abstracts (or equivalent structured lease terms) are not available for the assets under review, the pipeline produces empty output: no reconciliation table, no anomaly list, and no roll-ups. Partial coverage is allowed only when both a rent-roll row and a matching abstract exist for that tenant or suite; unmatched rows stay in a separate “needs source” queue rather than inventing terms.
How reconciliation typically works
- Normalize identities. Tenant names, DBAs, and suite labels rarely match character-for-character across files. Entity resolution merges obvious aliases and leaves ambiguous matches for a human to confirm.
- Align periods. Rent rolls often show “as of” or trailing actuals; abstracts describe contractual schedules. The engine projects contractual rent for the underwriting as-of date and for the hold-period forecast window used in the model.
- Compare fields. Base rent, start/end dates, free-rent and abatement windows, step dates and amounts, escalations, and vacancy or dark status are compared within tolerance bands set by the deal team (for example, rounding and known billing lag).
- Score and explain. Each deviation gets a confidence score and a plain-language reason (“abstract shows 3 months free rent starting month 1; rent roll shows full rent from commence”).
- Route for decision. High-severity flags go to the underwriter of record; medium flags may batch into a diligence Q&A list for the seller or broker.
Human-in-the-loop is mandatory at match confirmation and at final disposition. The model does not auto-correct the rent roll or auto-adjust NOI. Underwriters accept, reject, or defer each flag and record the basis for the file.
Anomaly patterns underwriters care about before close
Vacancy and occupancy misstatement. A suite marked occupied on the rent roll with no active lease, or vacant on the roll while the abstract shows an unexpired term, changes both income and lease-up assumptions. Flags should call out dark tenants, holdover without documentation, and units counted twice across floors or buildings.
Rent-free and abatement gaps. Free-rent months, early occupancy concessions, and abatements that appear in only one source are common deal risks. The reconcile should state the contractual window versus what the roll is billing or projecting, including whether free rent has already been consumed.
Step rents and escalations. Steps that fire on the wrong anniversary, CPI or fixed bumps missing from the roll, or rolls that already bake in a future step as current rent will distort trailing and forward NOI. Compare both the schedule and the “current rent” field used in underwriting templates.
Date and term drift. Commence, rent-start, and expire dates that disagree by more than the agreed tolerance affect option windows, rollover risk, and WALT. Short remaining term with no renewal documentation should surface even when rent dollars match today.
Identity and suite collisions. Same tenant on two suites with one lease, or one suite with two tenants without a clear sublease abstract, usually needs a person to untangle before cash-flow is trusted.
None of these patterns require fabricated percentages. Severity comes from dollar impact on in-place and forward rent, not from a marketing benchmark.
Where this sits in acquire-stage workflow
Rent roll reconciliation sits after documents are collected and abstracts are drafted or extracted, and before final underwriting and memo lock. It pairs naturally with broader diligence extraction and risk flagging, and its clean rent and occupancy view feeds investment memo numbers and IC Q&A.
Upstream, off-market or brokered deals still need a complete lease file; sourcing quality does not remove the reconcile step. Downstream, accepted flags should flow into diligence trackers, pricing sensitivity cases, and any memo section that cites in-place NOI or occupancy.
Practical operating notes:
- Freeze a versioned rent roll and abstract package for the reconcile run so later seller updates are diffed, not silently overwritten
- Keep seller Q&A tied to flag IDs so responses map back to specific deviations
- Re-run after major file drops; do not assume a clean first pass stays clean through exclusivity
Limits and underwriting judgment
Models struggle with poorly scanned leases, incomplete abstracts, percentage-rent and co-tenancy clauses that are not in the roll schema, and multi-asset portfolios where suite numbering schemes collide. Tolerance bands that are too tight create noise; bands that are too loose miss material steps and free rent.
Empty or one-sided inputs must fail closed: no rent roll or no abstracts means empty output, not a green light. Ambiguous matches stay unresolved until a person confirms identity. Legal interpretation of ambiguous lease language stays with counsel; the system only compares structured fields it was given.
The earnable outcome is quality of underwriting inputs before close: fewer silent mismatches between disclosed lease terms and the rent roll that drives pricing, with underwriters still owning every accept or challenge decision.
Is this worth automating for you?
Whether this pays back depends on how much time it takes your team today. Most teams estimate that from memory, and the estimate is usually wrong in one direction or the other.
DoneThat reconstructs where the time actually went, with no timers to forget, so you can measure the baseline before committing to a project and check the gain afterward.
Measure the baseline first