Sectors
Industrial Tenant Reimbursement Modeling
Industrial reimbursement modeling converts lease language into tenant-level recovery cash flows. The model should not treat NNN, modified gross, industrial gross, or base year as enough information by themselves. Each tenant needs an explicit recovery rule, expense-pool definition, pro-rata denominator, gross-up convention, cap regime, exclusions, and true-up timing.
Also known as: Industrial CAM Recovery Modeling, Industrial Expense Recovery Modeling, Industrial Reimbursements
Updated
Use this page with Industrial Logistics Underwriting, Industrial Valuation and Probability-Weighted Underwriting, CRE Lease Structures and Expense Recovery, CRE Lease Abstracting and Audit, and CRE Formulae Reference.
Modeling Objective
For each projection period, calculate:
Tenant reimbursement cash flow
= tax recovery
+ insurance recovery
+ CAM / operating expense recovery
+ utilities / direct charges
+ admin or management fee recoveries
+ prior-period true-up cash received
- cap leakage
- exclusion leakage
- vacancy leakage
- credit / collection leakage
The underwriting goal is not merely to forecast reimbursement revenue. It is to separate actual property expenses, contractually recoverable expenses, billed recoveries, collected recoveries, and landlord leakage.
Required Input Schema
Use monthly service periods for accrual and annual buckets for reconciliation / true-up. The model should preserve the difference between a lease version, an expense line, a property-period state, and a billing ledger.
LeaseVersion = area, term, recovery regime, stop/base-year, cap terms, billing lag, renewal rules
ExpenseLine = actual amount, recoverable flag, fixed/variable flag, controllable flag, gross-up eligibility, allocation basis
PropertyPeriod = denominator area, occupied area, gross-up floor, expense pools
BillingLedger = accrued revenue, estimated billings, true-up, credits, cash collected
Property-level inputs
| Input | Modeling use |
|---|---|
| Total rentable area / NRA | denominator for pro-rata share unless leases use a different denominator |
| Tenant suites and rentable areas | tenant-level allocation |
| Occupancy by period | partial-year pro-rata and gross-up calculations |
| Expense budget by line item | taxes, insurance, CAM, utilities, management, repairs, snow, landscaping, security, HVAC, roof, pavement, admin, reserves |
| Recoverability classification by line | recoverable, non-recoverable, partially recoverable, tenant-direct, amortized recoverable capex |
| Fixed / variable flag | determines gross-up treatment |
| Controllable / uncontrollable flag | determines cap treatment |
| Expense pool grouping | taxes, insurance, CAM, utilities, tenant-specific direct charges, admin / management fees |
| Billing calendar | monthly estimates, annual reconciliation, lagged true-up collection |
Tenant-level lease inputs
| Input | Modeling use |
|---|---|
| Lease recovery type | NNN, absolute net, modified gross, base year, expense stop, gross, tenant-direct, hybrid |
| Commencement / expiration dates | partial-year billing and rollover |
| Tenant area | numerator for pro-rata share |
| Pro-rata denominator | total building NRA, occupied area, building-by-building area, phase area, parcel area, or fixed percentage |
| Recovery start date | may differ from rent commencement |
| Expense pools included | taxes, insurance, CAM, utilities, management fee, admin fee, capital amortization |
| Expense pools excluded | tenant carve-outs and landlord-only costs |
| Base year or stop | historical base amount, negotiated PSF stop, tax stop, insurance stop, CAM stop |
| Gross-up factor and scope | 90%, 95%, 100%, or none; variable lines only unless lease says otherwise |
| Cap methodology | no cap, controllable cap, cumulative cap, compounded cap, non-cumulative cap, pool-specific cap |
| Admin / management fee treatment | included in CAM, added percentage, capped, excluded, or tenant-specific |
| Audit / reconciliation rules | true-up timing, audit window, dispute and collection assumptions |
| Credit loss assumption | unpaid or disputed recovery slippage |
Expense Pool Classification
The model should classify every expense line before applying tenant formulas.
| Expense line | Typical industrial treatment | Modeling caution |
|---|---|---|
| Real estate taxes | recoverable under NNN; often excluded from controllable caps | reassessment, abatements, parcel mismatches, tenant-specific improvements |
| Property insurance | recoverable under NNN; usually uncontrollable | CAT-zone premium spikes can overwhelm old stops or capped language |
| CAM / site maintenance | recoverable under NNN and many modified-gross leases | define snow, landscaping, parking lot, lighting, trash, security, common utilities |
| Repairs and maintenance | usually recoverable if ordinary operating repair | structural, roof, slab, and capital replacements may be excluded or amortized |
| Management fee | often recoverable but capped or defined as a percentage | confirm denominator: EGI, gross revenue, CAM, controllable expenses, or fixed fee |
| Admin fee | often added to CAM or recoverable expenses | confirm whether percentage applies before or after caps |
| Utilities | tenant-direct, submetered, RUBS-like allocation, or CAM | do not double count tenant-paid utilities and landlord-billed recoveries |
| HVAC | suite-direct in many industrial/flex leases; common-system in some multi-tenant assets | lease may assign maintenance contracts directly to tenant |
| Roof / structure | landlord responsibility in ordinary NNN; tenant responsibility in absolute-net or sale-leaseback forms | reserve separately even if not recoverable |
| Capital expenditures | generally non-recoverable unless allowed and amortized | model only the allowable amortized portion, not the full capital outlay |
Core Equations
1. Pro-rata share
Tenant pro-rata share_i,t
= tenant rentable area_i,t / lease-defined denominator_i,t
The denominator is a lease input, not a universal property input. Many leases use total rentable area. Some use occupied area, a fixed percentage, phase area, building area, parcel area, or a negotiated allocation.
2. Expense pool before gross-up
Recoverable pool_p,t
= sum(expense_line_l,t x recoverable_percentage_l,p)
Where p is the pool such as taxes, insurance, CAM, utilities, or admin. Use tenant-specific pool definitions when leases differ.
For a developer-facing model, represent category inclusion with a tenant/category weight:
w_i,l = 1.0 if expense line l is fully recoverable from tenant i
w_i,l = 0.0 if expense line l is excluded or embedded in base rent for tenant i
0 < w_i,l < 1.0 for negotiated partial recoveries
3. Grossed-up variable expenses
Grossed-up variable expense_l,t
= actual variable expense_l,t / actual occupancy factor_l,t x gross-up factor_l,t
Only variable recoverable expenses should be grossed up unless the lease explicitly says otherwise. Taxes and insurance usually remain actual. A multi-tenant industrial model should retain both actual OpEx and grossed-up recovery pools so owner NOI is not confused with a fictional operating budget.
4. NNN recovery
NNN recovery_i,p,t
= tenant pro-rata share_i,t
x lease-defined recoverable pool_p,t
x tenant active fraction_i,t
For true triple-net leases, the tenant typically pays its share of taxes, insurance, and CAM from the recovery start date. For absolute-net leases, some structural, roof, parking lot, capital, or compliance costs may be shifted directly to the tenant; that should be modeled as tenant-direct responsibility or explicit recovery, not assumed from the NNN label.
5. Base-year recovery
Current recoverable PSF_i,p,t
= lease-defined current recoverable pool_i,p,t / lease-defined denominator_i,t
Base-year stop PSF_i,p
= lease-defined base-year recoverable pool_i,p / lease-defined base-year denominator_i
Base-year recovery_i,p,t
= max(0, Current recoverable PSF_i,p,t - Base-year stop PSF_i,p)
x tenant rentable area_i,t
x tenant active fraction_i,t
Base-year leases are common enough in older multi-tenant industrial, flex, and showroom / warehouse assets that a model should support them natively. The highest-risk modeling error is mixing an ungrossed base year with a grossed-up comparison year, or using a partial base year without annualizing or grossing it according to the lease.
When the lease applies stops category by category, the generalized formula is:
Billable before cap_i,t
= sum_l [
tenant active fraction_i,t
x tenant pro-rata share_i,t
x w_i,l
x max(0, adjusted expense_l,t - stop_i,l,t)
]
+ direct-billed items_i,t
For PSF stops, convert the stop into dollars before applying the formula:
stop dollars_i,l,t = stop PSF_i,l,t x tenant rentable area_i,t
For combined-pool stops, first aggregate the included expense lines into the lease-defined pool, then apply the same max(0, current - stop) logic once to the pool.
6. Expense-stop recovery
Expense-stop recovery_i,p,t
= max(0, Current recoverable PSF_i,p,t - contractual stop PSF_i,p,t)
x tenant rentable area_i,t
x tenant active fraction_i,t
An expense stop is contractual rather than historical. It may apply to all OpEx, only CAM, only taxes and insurance, or separate pools. Retail and industrial leases often use explicit PSF stops because they are easier to compare than historical base years.
7. Controllable-expense cap
Allowed controllable pool_i,t
= cap_method_i(base controllable pool_i, prior allowed pool_i,t-1, prior actual pool_i,t-1, cap rate_i, year_index_t)
Cap leakage_i,t
= max(0, tenant share of actual controllable pool_i,t - tenant share of allowed controllable pool_i,t)
The cap method must be explicit:
| Cap type | Formula concept |
|---|---|
| Cumulative simple | base controllable amount x (1 + cap rate x years since base) |
| Cumulative compounded | base controllable amount x (1 + cap rate) ^ years since base |
| Year-over-year non-cumulative | prior allowed or prior actual amount x (1 + cap rate), with no catch-up |
| Pool-specific | applies only to CAM, admin, management, or named controllable lines |
Taxes, insurance, utilities, snow removal, security, and life-safety costs are frequently excluded from controllable caps, but the lease controls.
8. Partial-year occupancy and lease timing
Tenant active fraction_i,t
= active billable days_i,t / days in period_t
Use billable days, not just occupancy at period end. Reimbursements may begin on rent commencement, possession, the first day after free rent, or another lease-defined date.
9. Estimated billings and true-up
Estimated monthly recovery_i,t
= approved annual estimate_i,t / 12
Annual true-up_i,t
= actual recoverable amount_i,t - estimated billings_i,t
Cash collected_i,t
= current-period estimated billings_i,t
+ prior-period true-up_i,t-lag
- disputes_i,t
- credit loss_i,t
For accrual NOI, the current-year actual reimbursement may be the right measure. For cash-flow modeling, timing matters: many reconciliations are collected after year-end.
Use two ledgers:
| Ledger | What it answers |
|---|---|
| Accrual ledger | What recovery revenue was earned for the service period? |
| Cash ledger | What was actually billed, credited, collected, disputed, or written off? |
This prevents double counting when monthly estimates are booked during the year and actual recoveries are reconciled later.
Blended Lease Portfolio Logic
Multi-tenant industrial assets often blend recovery structures:
- modern NNN tenants paying nearly full current taxes, insurance, and CAM
- older modified-gross tenants paying only increases above a base year or stop
- tenants with fixed CAM charges that lag actual expenses
- tenants with direct utility or HVAC obligations outside landlord billings
- tenants with controllable CAM caps but uncapped tax / insurance exposure
- vacant suites whose unrecovered expense share remains landlord leakage
The model should calculate recovery tenant by tenant and expense pool by expense pool, then aggregate:
Total recoveries_t
= sum_i sum_p billed or accrued recovery_i,p,t
Recovery ratio_t
= total recoveries_t / actual operating expenses_t
Landlord net expense_t
= actual operating expenses_t - total recoveries_t
Vacancy leakage_t
= vacant pro-rata share_t x recoverable pools_t
Lease-structure leakage_t
= actual expenses_t - recoveries_t - nonrecoverable expenses_t - vacancy leakage_t
Do not model a blended asset by applying one global recovery percentage to total OpEx unless the model is only a rough screen. For acquisition underwriting, the value is in identifying which tenant, clause, or expense pool creates leakage.
Renewal and Rollover Treatment
At expiration, the reimbursement regime should roll according to the assumed new or renewal lease form.
Expected recovery_i,t after rollover
= P_renew_i x recovery under renewal terms_i,t
+ P_vacate_i x (
downtime recovery_i,t
+ P_relet_i x recovery under new lease terms_i,t
)
Industrial renewal underwriting should pair this with Industrial Valuation and Probability-Weighted Underwriting and Tenant Credit Analysis Framework. The reimbursement assumption is part of mark-to-market economics: a below-market base-rent renewal can still improve NOI if the tenant moves from a stale base-year stop to a true NNN structure, while a rent increase can be partly offset by landlord concessions on CAM caps or exclusions.
Create a new lease version whenever the economic recovery terms change. Area expansions, contractions, new base years, new stops, cap resets, holdover terms, and renewal amendments should not overwrite the historical lease version.
Portfolio Aggregation
Portfolio-level recoveries should be blended by dollars, not by averaging percentages.
Portfolio recovery_t
= sum_property sum_tenant billed recovery_property,tenant,t
Portfolio recoverable expense_t
= sum_property sum_expense recoverable expense_property,expense,t
Portfolio recovery ratio_t
= portfolio recovery_t / portfolio recoverable expense_t
Do not apply one blended gross-up factor, stop, cap, or pro-rata denominator across heterogeneous assets. Calculate each property and lease under its own rules, then aggregate outputs.
Model Outputs
An institutional industrial reimbursement tab should produce:
| Output | Why it matters |
|---|---|
| Recoveries by tenant and pool | exposes clause-specific value and leakage |
| Recoveries PSF by tenant | identifies outliers and old stops |
| Actual OpEx vs recoverable OpEx vs billed recoveries | separates operating budget from lease economics |
| Recovery ratio | high-level reasonableness check |
| Vacancy leakage | owner cost of vacant suites |
| Cap leakage | value drag from controllable caps |
| Base-year / stop leakage | drag from stale modified-gross leases |
| Nonrecoverable expense leakage | structural owner expense burden |
| True-up receivable / payable | cash timing and audit risk |
| Tenant dispute / audit reserve | collection and timing risk |
| Reimbursement MTM on rollover | upside from converting old leases to NNN or cleaner stops |
Edge Cases
- Occupied-area denominator: A lease based on occupied area can make remaining tenants' shares rise when vacancy increases. Model exactly if allowed, and flag tenant-relations risk.
- Expense pools with different denominators: Taxes may be parcel-based, CAM may be building-based, and utilities may be meter-based.
- Tenant-specific improvements: Tax increases tied to one tenant's improvements may be excluded from the general pool or charged directly to that tenant.
- Capex amortization: If recoverable, model annual amortization over permitted useful life with permitted interest, not the full project cost.
- Free rent periods: Confirm whether reimbursements are paid during free rent. Base rent abatement does not always abate additional rent.
- Vacant suites: Do not bill vacant space to no one unless the lease denominator permits occupied-area sharing. The owner usually absorbs leakage.
- Lease year vs calendar year: Reimbursement years may follow calendar years, fiscal years, tax years, or lease years.
- Tax appeals and refunds: Model refunds as tenant credits if prior recoveries were billed; otherwise they can overstate owner NOI.
- Expense caps and admin fees: Confirm whether admin fees are included before applying caps, added after caps, or excluded.
- Insurance deductibles: Deductibles and claims may be recoverable, capped, excluded, or treated as capital / casualty items.
- Absolute-net leases: Separate direct tenant obligations from landlord-paid recoveries. A cost paid directly by the tenant should not also appear as landlord reimbursement revenue.
Implementation Checklist
- Abstract every lease into a normalized recovery schema.
- Build expense pools from line-item budgets rather than one global OpEx figure.
- Gross up only lease-defined variable recoverable expenses.
- Calculate recoveries at tenant x pool x period grain.
- Apply caps, stops, exclusions, and admin fees in the sequence required by the lease.
- Separate accrual recoveries from cash collections and true-ups.
- Track leakage explicitly rather than hiding it inside vacancy or generic OpEx growth.
- Recalculate recovery terms on renewal and rollover.
- Sensitize tax, insurance, vacancy, and controllable-CAM growth separately.
- Reconcile model recoveries to the seller's latest CAM reconciliation before IC.
Review Notes
- 2026-06-15 review: promoted as a reviewed industrial reimbursement modeling framework. Use for CAM/tax/insurance/base-year/expense-stop math and true-up logic, not as lease-specific recovery evidence without executed lease language and expense ledgers.
Sources
- Legacy Industrial Knowledge Wiki
- Office Lease Modeling Verification 2026-04-10
- Industrial Reimbursement Modeling Verification 2026-05-19