S3AMultifamily
underwriting

S3A / Guides

Multifamily underwriting guide

How to check a T-12 adds up before you underwrite it.

Most T-12 mistakes aren't arithmetic. They come from the layout: subtotals mixed in with line items, signs that flip, and non-operating lines sitting next to real expenses. These five checks catch them before they reach your NOI.

A trailing-12 (T-12) operating statement is the base of almost every value you put on a multifamily deal. If the NOI is off by $40,000 at a 5.5% cap rate, the value is off by about $727,000. The statement usually isn't wrong. The way it gets read into the model is.

Every example below uses the same fictional 240-unit property, so the numbers connect.

1Write down the statement's own totals first

Before you touch a single line, find the totals the statement prints itself: total rental income, total income (sometimes "effective gross income"), total operating expenses and net operating income. These are your anchors. Everything you categorize later has to add back up to them.

If the statement prints no totals at all, add the months across for each line and keep that as your control figure instead.

2Separate line items from subtotals

Property-management exports often print subtotals in the same column as the lines they add up. Sum every row and you count income twice.

Income section, as printedJan–Dec 2025
LineAnnualIs it a subtotal?
Gross potential rent3,639,000.00No
Loss to lease(73,560.00)No
Vacancy loss(182,886.00)No
Concessions(27,000.00)No
Bad debt(37,014.00)No
Non-revenue units(30,000.00)No
Total rental income3,288,540.00Yes: skip it in your sum

Illustrative property; all figures synthetic. Adding every row, subtotal included, gives 6,577,080.00, exactly double.

The fix: mark each subtotal and leave it out of your categories. Keep it, though. Step 5 uses it as a check.

3Get the signs right

Loss to lease, vacancy, concessions, bad debt and non-revenue units all reduce income. Some statements print them as negatives, some as positives under a "less" heading, and some do both in the same file. Whatever the statement does, make sure each one is subtracted in your sum. A single deduction added instead of subtracted moves income by twice its amount.

4Pull non-operating lines out of NOI

Owners' statements often run all the way down to net income. Below NOI, or worse, mixed in with the expenses, you will find lines that don't belong in an underwriting NOI:

Bottom of the statement, as printedJan–Dec 2025
Net operating income1,487,383.74
Depreciation999,996.00
Mortgage interest1,104,000.00
Net income(616,612.26)

Illustrative property; all figures synthetic. Treating depreciation and interest as operating expenses would turn a 1.49 million NOI into a loss.

Keep these lines, tagged as non-operating, so nothing on the statement disappears. Just leave them out of NOI.

5Tie out to the cent

Now add up your categorized lines and compare them with the anchors from step 1. The difference should be 0.00.

Tie-outTies out
CheckStatement saysYour sumDiff.
Total income3,593,142.003,593,142.000.00
Total operating expenses2,105,758.262,105,758.260.00
Net operating income1,487,383.741,487,383.740.00

Illustrative property; all figures synthetic.

If it doesn't tie, the cause is almost always one of these:

Three more checks worth a minute

Are there really 12 months?

Check the column headers. A "T-12" built from last year plus year-to-date needs to be stitched into one consecutive trailing twelve. A statement with quarterly or annual columns can't give you monthly trends, so annualize with care.

Does the rent roll agree with itself?

Count the unit rows and compare them with the rent roll's own summary of units, square footage and market rent. A roll that lists 236 units against a summary of 240 needs an answer before it drives your unit mix.

Do the T-12 and the rent roll tell the same story?

Occupancy on the rent roll should look roughly like the vacancy line on the T-12 for recent months. A big gap usually means a recent lease-up, a concession program or a stale document.

How S3A does this

S3A runs the tie-out on every T-12 and rent roll it reads. It categorizes each line, keeps the statement exactly as printed, adds the lines back up against the document's own totals, and only lets a deal go out on its own when they match. Anything that doesn't tie goes to a person first. You email the documents and get your own Excel model back on the thread within 24 hours. If you only need the files cleaned up, use summaries.

Try it on a deal you've already underwritten.

Send the T-12 and rent roll. Compare what comes back with your own numbers.

srikant@s3a.app