A T12 (trailing twelve months) is a financial statement that shows a property's actual income and expenses over the most recent 12-month period. It is the single most important document for determining a property's real operating performance, as opposed to pro forma projections or broker estimates.
Download the free T12 template
Professional Excel template with monthly columns, NOI formulas, and expense categories pre-built.
What Is a T12 Operating Statement?
A T12 is a profit-and-loss statement covering the most recent 12 consecutive months of a property's operations. It shows actual collected income, actual paid expenses, and the resulting net operating income (NOI) for each month.
The T12 is typically prepared by the property's accountant, bookkeeper, or property management company. During acquisitions, the seller provides it as part of the due diligence package, usually alongside the rent roll and offering memorandum.
Why does the T12 matter more than the pro forma? The pro forma is a projection of what the seller or broker believes the property will do in the future. The T12 is a record of what the property actually did. As a general rule in underwriting: trust actuals over assumptions.
Lenders rely heavily on T12 data to size debt. Both Fannie Mae and Freddie Mac agency programs require a trailing operating statement to calculate DSCR (debt service coverage ratio) for loan underwriting.
What's Included in a T12?
A T12 has two main sections: income and expenses. Each line item is shown for every month, with an annual total column. Here is what to expect in each section.
| Line Item | Description | What to Check |
|---|---|---|
| Income | ||
| Gross Rental Income | Total rent collected from all units | Should reconcile with rent roll x 12 (minus vacancy) |
| Vacancy / Credit Loss | Income lost to vacant units and unpaid rent | Compare to physical vacancy on the rent roll |
| Concessions | Move-in specials, free rent periods, discounts | High concessions may signal soft demand |
| Other Income | Laundry, parking, pet rent, late fees, RUBS, application fees | Verify each source is sustainable and recurring |
| Effective Gross Income (EGI) | Gross income minus vacancy and concessions, plus other income | This is the top-line revenue that drives valuation |
| Expenses | ||
| Property Taxes | Annual real estate tax, often paid in 1-2 large installments | Will likely be reassessed at purchase price. Model new tax. |
| Insurance | Property, liability, and umbrella coverage | Get fresh quotes. Insurance costs have risen sharply since 2023. |
| Utilities | Water, electric, gas, sewer, trash | Look for monthly spikes. One month at 2x normal is a red flag. |
| Repairs & Maintenance | Routine repairs, unit turns, landscaping, snow removal | Separate routine from one-time capital items. |
| Management Fee | Third-party management cost, typically 4-8% of EGI | If self-managed, impute a market-rate management fee. |
| Payroll | On-site staff, maintenance, leasing agents | Watch for owner salaries disguised as payroll. |
| Admin / Marketing | Office supplies, software, advertising, legal, accounting | Look for personal expenses buried in these categories. |
| Net Operating Income (NOI) | EGI minus total operating expenses | The number that drives valuation. Verify it manually. |
NOI excludes debt service, capital expenditures, depreciation, and income tax. These are all below-the-line items that vary by buyer and financing structure. NOI represents the property's unlevered operating performance.
T12 vs T3 Annualized vs T6 Annualized
The T12 is the standard, but you will encounter shorter trailing periods and need to know when each is appropriate. Here is how they compare.
| Metric | T12 | T6 Annualized | T3 Annualized |
|---|---|---|---|
| Data period | Full 12 months | Last 6 months x 2 | Last 3 months x 4 |
| Seasonal accuracy | Captures full seasonal cycle | May miss half the cycle | Highly seasonal distortion risk |
| Recency | Includes older data (12 months back) | Moderately current | Most current snapshot |
| Best used when | Default for all underwriting | Seller only provides 6 months | Recent major change (reno, rate push, management shift) |
| Lender acceptance | Required by most lenders | May be accepted with explanation | Rarely accepted as primary basis |
A useful question to ask when reviewing short trailing periods: "Why is it running at T3 instead of a T12?" If the seller cannot provide 12 months of data, find out why. Common reasons include a recent acquisition (new owner does not have prior data), a bookkeeping transition, or an attempt to highlight a recent improvement while hiding weaker earlier months.
Annual NOI (T3) = Last 3 Months NOI x 4
Annual NOI (T6) = Last 6 Months NOI x 2
Variance = (T3 Annualized NOI - T12 NOI) / T12 NOI x 100
When T3 annualized is significantly higher than T12, it typically means recent performance has improved. When T3 is significantly lower, it may signal deterioration. Either way, the gap tells a story that deserves investigation.
How to Read a T12 in 5 Steps
Reading a T12 is not just scanning the bottom-line NOI. Follow these five steps to catch the details that change your underwriting conclusions.
Step 1: Check for Month-to-Month Consistency
Scan each line item across all 12 months. Look for spikes or drops that deviate more than 20-30% from the average month. A utility bill that jumps from $10,000 to $22,000 in a single month could be a leak, a billing error, or a true-up payment. Each anomaly needs an explanation.
Step 2: Compare Income to the Rent Roll
Take the rent roll's total monthly scheduled rent and multiply by 12. This gives you annual gross potential rent. Now compare it to the T12's gross rental income line. The T12 figure will be lower because it reflects actual collections. If the gap is more than 5-8%, you need to understand the specific causes: vacancy, concessions, bad debt, or data errors.
Step 3: Identify One-Time or Non-Recurring Items
Look for expenses that happened once and will not repeat. Roof repairs, legal settlements, insurance claims, appliance replacements for multiple units at once. These inflate the trailing expense total but do not represent ongoing operating costs. Separate them from recurring expenses to calculate a normalized NOI.
Step 4: Exclude Personal Expenses
Owner-operated properties routinely include personal expenses in the P&L. As experienced underwriters know: "We do NOT count personal expenditures from owner P&Ls." Common offenders include the owner's cell phone, personal vehicle lease, health insurance, family member salaries, and personal travel. Remove these to calculate what the property produces under standard management.
Step 5: Calculate Trailing NOI and Compare to Broker's Stated NOI
Calculate NOI yourself from the T12 data. Then compare your figure to the NOI stated in the offering memorandum or broker flyer. If they differ, find out why. Brokers often present a "pro forma NOI" or "adjusted NOI" that adds back owner expenses and assumes market rents, but they may not disclose every adjustment. Your T12-based NOI is the truth; the broker's number is a marketing figure.
T12 NOI = T12 EGI - T12 Operating Expenses
Adjusted NOI = T12 NOI + Personal Expenses + One-Time Items
Gap = Broker NOI - Your Adjusted NOI
If the gap is positive (broker's NOI is higher than yours), the broker is likely making assumptions you have not validated. Common culprits: assuming higher occupancy, projecting rent increases, or excluding expenses you would include.
Common T12 Problems
Every experienced underwriter has encountered these issues. Knowing what to look for saves time and prevents costly mistakes.
Incomplete data (fewer than 12 months)
"Sometimes we only get 6 months." When the trailing period is incomplete, annualizing amplifies any seasonal distortion. If you must work with less than 12 months, disclose the limitation and flag the risk in your investment memo. Request the missing months directly from the seller's accountant.
Personal expenses mixed in
Owner-operated properties are notorious for commingling personal expenses: cell phones, car payments, health insurance, family member salaries, personal travel. These inflate expenses and depress reported NOI. The adjusted NOI (after removing personal items) is often 5-15% higher than the reported figure.
One-time items inflating expenses
Watch for single-month expense spikes: "one month utilities spike from $10K to $22K." That $12K variance could be a true-up bill, a repair misclassified as an operating expense, or a genuine anomaly. If it is non-recurring, back it out of your normalized expense assumption.
Cash vs accrual accounting differences
Some owners report on a cash basis (recording income when received), while others use accrual (recording income when earned). Cash-basis T12s can show lumpy revenue if tenants pay late or prepay. Property taxes may appear as large quarterly payments instead of smooth monthly accruals. Ask upfront which method was used.
Inconsistent categorization across properties
One seller puts landscaping under "repairs and maintenance." Another puts it under "contract services." A third has a dedicated "grounds" line item. When comparing T12s across multiple acquisition candidates, you must normalize categories manually. This is one of the most time-consuming steps in multi-deal underwriting.
T12 vs Rent Roll vs Pro Forma
These three documents form the foundation of every CRE acquisition. Understanding what each does and does not tell you is critical for accurate underwriting.
| Dimension | T12 | Rent Roll | Pro Forma |
|---|---|---|---|
| What it shows | Actual income and expenses over 12 months | Current tenants, lease terms, and scheduled rent | Projected income, expenses, and returns |
| Time period | Trailing 12 months (historical) | Point-in-time snapshot (today) | Future projection (1-10 years) |
| Who creates it | Property accountant or management company | Property manager or PM software export | Broker (seller's version) or buyer (your version) |
| Best for | Establishing actual NOI baseline | Verifying current income and occupancy | Modeling returns under your assumptions |
| Key limitation | Backward-looking; may not reflect recent changes | No expense data; shows potential, not actual | Based on assumptions that may not materialize |
The T12 tells you what happened. The rent roll tells you what is happening right now. The pro forma tells you what you believe will happen. You need all three, and you need to reconcile them against each other.
How to Reconcile a T12 with a Rent Roll
Reconciliation is where underwriting gets real. The rent roll shows what the property should be collecting. The T12 shows what it actually collected. The gap between the two reveals vacancy loss, bad debt, concessions, and collection problems.
Annual Potential = Rent Roll Monthly Income x 12
Collection Gap = Annual Potential - T12 Gross Rental Income
Collection Gap = Vacancy Loss + Concessions + Bad Debt + Data Errors
Here is what each component of the gap typically represents:
- Vacancy loss: Units that were empty during part of the trailing period. Cross-reference with the rent roll to identify units that turned over.
- Concessions: Free months, reduced rent, or waived fees offered to attract tenants. Check if concessions are still active or have burned off.
- Bad debt: Rent that was invoiced but never collected. This is real money lost. Ask for an aged receivables report to see how much rent is outstanding.
- Data errors: Sometimes the rent roll and T12 are simply out of sync because they were generated on different dates or from different systems.
A healthy collection gap is 3-7% for stabilized properties. If the gap exceeds 10%, something is wrong, and it is worth investigating before making an offer. The CBRE operating expense benchmarks provide useful reference points for expected vacancy and collection loss rates by market.
How Primer Handles T12 Extraction
T12s arrive in every format imaginable: Yardi exports, QuickBooks printouts, broker-reformatted PDFs, scanned handwritten ledgers. Primer extracts the income and expense data from any source, normalizes expense categories across properties, reconciles against rent rolls automatically, and maps every line item into your underwriting model. Every extracted number is cited back to the source document, page, and cell.
Book a demo