On this page
- Step 1: Read Both Documents Twice, Every Figure With Its Page
- Step 2: Tie Each Document to Its Own Totals First
- Step 3: Explain Every Dollar Between the Rent Roll and the T-12
- Step 4: Hand What Nothing Explains to a Person
- Asked Plainly, Each Model Found the Six Apartments and Missed Something Else
- Qvery's AI Agents Run This Check on Every Deal
- Frequently asked questions
Every apartment deal that reaches your acquisitions desk arrives with two documents that rarely agree. The rent roll lists each apartment, its lease and its rent on one day. The T-12 is the property's income and expenses for the last twelve months, month by month, as the seller's books recorded them.
Before anyone prices the deal, an analyst types both into the underwriting model and works out why they differ.
Some of the difference is always ordinary: empty apartments, move-in discounts, rent that starts next month. What is left is what you end up paying for.
Your offer is the property's net operating income, what it earns after operating expenses, divided by a cap rate, the yield buyers accept in that market. At a 5.5% cap rate, each dollar a year of rent that sits on the rent roll and never reaches the bank adds about $18 to the price.
Done by hand, the check is an hour or two of typing on every deal and a spreadsheet only its author can follow. AI agents now do the reading and the arithmetic, and leave the analyst the part that needs judgment.
To show the check working, we built a deal: an invented 120-unit apartment property, its rent roll as of September 30, 2026, and its T-12 from October 2025 to September 2026.
We planted the problems that turn up in real deal files and wrote the answers down before any AI read a page. This is what the check found:
Below are the four steps, then what happened when we asked AI models the plain question instead, then what Qvery's AI agents do with the check on every deal. The steps run as written on your own documents.
This checks income: the rent roll against the T-12's rental lines. Expenses, the broker's projections and the leases themselves are checks of their own.
Step 1: Read Both Documents Twice, Every Figure With Its Page
Upload the rent roll and the T-12 to an AI assistant and paste the prompt below. It asks for tables and nothing else. A model that adds things up is a model you have to check, so the adding is left to the spreadsheet.
Attached are a rent roll and a trailing twelve-month operating statement (T-12) for one apartment property. Copy them into tables. Do not add, average or calculate anything.
1. Rent roll: return every unit as one CSV row with these columns: unit, type, sqft, status, market_rent, lease_rent, concession, pet, deposit, move_in, lease_start, lease_end, page. Leave a cell empty when the document leaves it empty; never write a zero the document does not show. If a unit's row continues onto the next page, join it into one row and give both pages. Do not return page subtotal rows as units.
2. Rent roll totals: copy every printed total exactly as printed (each page subtotal and the summary page), with its page.
3. T-12: return every line as one CSV row: account, the twelve monthly amounts in order, the printed Total, page. Write negative amounts with a minus sign.
4. Then list anything you could not read, any row you were unsure about, and anything that looks wrong on the page itself.Our rent roll runs five pages, 30 apartments to a page, with a subtotal under each page and a summary at the end. One row is split by a page break, the way exported reports often are.

A correct read gives back 120 apartment rows, none of them a page subtotal, the split row joined into one, and every printed total copied exactly as printed. All three of our runs did that.
Claude Sonnet 5.5, Claude Haiku 5.5 and Gemini 3.8 Flash each returned every row and every T-12 figure we checked. Every rent, discount and deposit came back right in two of them, and in 718 of 720 cells in the third.
Then run the same prompt on the assistant from the other company and let the sheet compare the two reads, cell by cell.

Practitioners who check rent rolls for a living are blunt about what the reading is worth:
Tips from Reddit
Acquisitions people on checking a rent roll
Yes, that is one part of the job and very tedious if a large rent roll. However you only go through that process after you've been awarded a deal so it is not a meaningful percentage of the day to day.
An hour for an initial scrub and then whatever time it takes to get answers to reconcile (as in, which is correct, the lease or the rent roll)?
I feel like that's the least valuable part of analysis because a human would still have to go in and verify all that data...
Step 2: Tie Each Document to Its Own Totals First
Paste the settled read into the spreadsheet, add up every column with formulas, and set each sum beside the total the seller printed. A document that does not agree with itself cannot be compared with anything yet.

Twelve of the fifteen ties read zero. Three do not, from two causes, and each is a figure that would have gone into the model wrong:
Take the rent roll's total from its rows
The printed total is $1,830 short of the rows. Apartment 3-112 is the split row: its rent sits on page 3 under neither page's subtotal, and the summary adds the subtotals. Summed from the rows, the tie reads zero.
Rebuild the T-12's annual figures from its months
The concessions total is $3,000 smaller than its twelve months, and the year's net rental income on the page carries the same $3,000. Rebuilt from the months, both tie; the seller confirms which version the books hold.
Step 3: Explain Every Dollar Between the Rent Roll and the T-12
The two documents measure different things. The rent roll is one day: the rent each lease will charge. The T-12's rental lines are what the property billed, month by month. So set the rent roll beside the T-12's last month, September, and give every difference its own formula line.

The rent roll shows $158,350 a month; the T-12's net rental income for September is $143,015.33. Five ordinary reasons account for $6,919.67 of the gap, a sixth stays open, and each is fine once you know it is there:
- The employee apartment, $1,295. The rent roll marks it with an asterisk; the T-12 carries it as rent nobody pays, as lenders do.
- Move-in discounts, $1,815. Recent leases carry a monthly concession, and the T-12 takes it off rent.
- Four mid-September move-ins, $2,795.50. The T-12 billed them from the day they arrived; the rent roll shows a full month.
- Bad debt, $2,380. Rent written off in September, which no rent roll shows.
- Pet rent, $1,365.83 the other way. The T-12 books it inside rental income, where lenders count it as other income.
- Nine renewals starting October 1. The rent roll shows the new rent and September billed the old one, which neither document shows. That line stays open until the seller sends September's charges.
After all of it, $8,415 a month is not explained.
Step 4: Hand What Nothing Explains to a Person
An unexplained gap is a question until someone finds its rows. Ask the sheet which apartments the T-12 cannot have billed. Here, a filter for apartments that moved in during September with no deposit on hand and no discount returns six, all on one floor of one building:

Their rent is $7,970 a month. The $445 left over is the size of nine renewal increases, which the seller's September charges will confirm. The T-12 agrees about the six: its vacancy loss stayed at its summer level through September, as if six apartments were still empty.
The AI agents draft that request from the sheet's output, and a person reads it and sends it. This is the draft they wrote for our sample, unedited:
Subject: Halvercroft Apartments: items to settle on the rent roll and T-12
Hi [Broker],
Thanks for the rent roll (as of 09/30/2026) and the T-12. Both tie to their own totals except for a few items. Could you send the following?
1. Rent roll lease rent, occupied: the rows sum to $158,350 and the printed total is $156,520, a $1,830 gap. Please send the rent roll the printed total came from, or tell us which units it leaves out.
2. T-12 concessions: the monthly detail sums to $11,013 against $8,013 printed, a $3,000 gap that also carries into net rental income. Please send the general ledger detail for concessions, by month and by unit.
3. September net rental income: the T-12 shows $143,015.33, and we can account for all but $8,415 from the rent roll. Units 3-201 through 3-206 moved in 09/01/2026 with no deposit on hand and no concession listed. Please send their leases, move-in dates, and September rent ledgers, plus deposit records, so we can see how September was billed and collected on them.
4. Nine renewals start October 1. Please send the renewal leases and each unit's September rent, since neither document shows it.
5. Please send the September rent ledger by unit, tied to the T-12 September total.
Once we have these, we can close each item. Happy to walk through the numbers by phone.
Thank you,
[Analyst]Asked Plainly, Each Model Found the Six Apartments and Missed Something Else
Before running any of this, we asked each model the question an owner would ask: here are the two documents, do they reconcile, and is there anything to worry about before we price it? All three named the six apartments and asked for their leases, deposits and receipts. The models are good at this now.
What the plain question did not give us was the same answer twice:
| Model | Caught | Missed or got wrong |
|---|---|---|
| Claude Sonnet 5.5 | The six apartments and the $1,830 page break | The $3,000 concessions total; it called a 2027 lease end 2025 |
| Claude Haiku 5.5 | The six apartments and the $3,000 concessions total | The $1,830 page break; it put paying occupancy at 110 of 120 |
| Gemini 3.8 Flash | The six apartments, reconciled to the cent | Both totals |
Each answer read as finished. Sonnet wrote "The T-12's own arithmetic also adds up"; Haiku, "The rent roll is internally consistent."
An analyst holding any one of them could not tell which lines were right without doing the check anyway. So the check has to run the same way every time: the same two reads, the same ties, the same bridge, on every deal, with every figure tied to its page.
Qvery's AI Agents Run This Check on Every Deal
Qvery builds the AI agents that run these four steps for your acquisitions team, on every deal that reaches the desk, within two weeks of the day we have access to where deals arrive and to your model.

When a broker's package lands in the deal folder, the AI agents read the rent roll and the T-12 twice, with two models, and send your analyst the cells the reads disagree on, each with its page.
They tie each document to its printed totals, build the bridge in your underwriting model's input tabs, and list what nothing explains with the rows behind it.
They draft the questions for the seller. Your analyst settles the disagreements, decides what to ask and what to underwrite, and nothing reaches a broker or an offer without a person.
| They may | They never |
|---|---|
| Read the deal folder, every page | Send anything to a broker or a seller |
| Write to the model's input tabs and the analyst's list | Change the offer or the model's own formulas |
| Draft the questions for the seller | Decide what to underwrite |
Before they touch a system, we agree in writing what they may read and do, and where the documents are processed. Every read, tie and draft is logged with its page, so anyone can see months later where a number came from.
On a typical acquisitions team of four analysts, each costing about $146,800 a year at the median pay for financial analysts plus benefits, the job takes 15% of their week.
That is our assumption: an hour and a half on each of four deals a week to get the rent roll and T-12 into the model and tie them out, which comes to $88,080 a year.
With the AI agents taking 70% of it and about $400 a month to run them, it costs $31,224: $56,856 saved and 874 hours handed back a year, and every $10,000 of the build is earned back in 2.1 months. Put your own team's numbers in:
Rent Roll Check ROI Calculator
What Checking Rent Rolls Against T-12s Costs You, And What An Agent Saves
Saved Per Year
$56,856
874 hours handed back, after $4,800 a year to run it
- Hours Handed Back
- 874 hours a year
- Agent Running Cost (Estimate)
- $400 a month
- Payback Per $10,000 Of Build
- 2.1 months
On these numbers, the agent saves $56,856 a year after its own running cost, and every $10,000 of the build is earned back in 2.1 months.
The calculator counts hours, and the hours go back to the deals worth pricing, the work a team this size hires its next analyst for. The check exists for the larger number: on our sample, six apartments that existed only on the rent roll were worth about $1.7 million of price.
Bring us three or four past deals, with their rent rolls, T-12s and the model you priced them in. We learn how your analysts check a deal today and agree what the AI agents may read and do.
Two weeks after we have access, they run on the next deal that lands, and every week after that we show you the hours they handed back and the gaps they found.
Frequently asked questions
Why doesn't the rent roll match the T-12?
The rent roll is one day's leases; the T-12 is what the property billed over a year. They differ for ordinary reasons: empty apartments, move-in discounts, employee apartments, bad debt, mid-month move-ins, renewals not yet in effect and income on the wrong line. A bridge gives each its line, and what is left is the question for the seller.
Should we underwrite the rent roll or the T-12?
Neither on its own. Lenders that buy apartment loans compare the last three months of collections with the property's full potential rent when they set vacancy, and expect any gap between the operating statement and the rent roll to be investigated and written up. Underwrite current leases where the T-12's recent months support them, and carry anything it never billed as empty until the seller proves otherwise.
Can the AI agents read scanned rent rolls and every property management system's export?
Our sample was clean digital PDFs: the reads got every money figure right and misread some dates. Scans and odd layouts raise the error rate, so the check reads every document twice with two different models. A misread shows up as a disagreement, and a figure neither read can make out goes to a person, never guessed. We build the AI agents around the formats your sellers send.
Who checks the AI's work?
Your analyst, on a short list instead of the whole file: the cells where the two reads disagree, the totals that fail to tie, and the dollars nothing explains. Every figure carries the page it came from, so checking one takes seconds.
What happens to the seller's documents?
The AI agents read only the deal folder you point them at, under the confidentiality terms you signed with the seller. Before anything runs, we agree in writing what they may read and do and where the documents are processed, every action is logged, and Qvery AI OÜ, an EU company, signs a data processing agreement with you.
Does it work on office or retail rent rolls?
Our sample was an apartment property. Office and retail rent rolls carry rent steps, expense reimbursements and lease terms that need the leases themselves, so the bridge has more lines, but the four steps are the same.
Can the AI agents fill in our underwriting model?
Yes. They write into the model's input tabs, the same cells your analysts key today, and the model's own formulas stay as you built them.
Does it also check expenses and the broker's projections?
Not in this check. Expenses against the T-12's history and the broker's projected rents against the rents in place are separate checks, and they follow the same pattern once the first one has earned its place.
Can we run the same check on our own properties every month?
Yes. The property manager's monthly rent roll against that month's income statement is the same comparison, and running it monthly catches a missing apartment or a mistyped total before it reaches an owner report.
Can the AI agents catch a seller who pads the rent roll?
They catch what cannot be true of both documents at once: apartments the T-12 never billed, totals that do not add up, a rent roll that claims more than the property collects. They cannot prove why. The leases, the deposit records and the bank statements settle that, and asking for them is your analyst's call, with the AI agents' list as the reason to ask.
What if the seller sends the rent roll as a spreadsheet?
Then the reading step is easier and the rest is the same. The AI agents still tie the file to its own totals, build the bridge to the T-12 and list what nothing explains, because a spreadsheet can be just as wrong as a PDF.
How long does the check take once it runs on its own?
On our sample each read of both documents took between two and six minutes, and the ties, the bridge and the list are formulas that update as the reads land. What is left is your analyst's time on the short list, which is the part that was always worth paying for.