Stack HommeSTACK HOMMEPOWER BI & DATA ANALYTICS CONSULTANCY

HOME / BLOG / ARTICLE

Reporting

NOI, Net Income and Cash

Net operating income up 41%, net income at minus $5.3M, cash down $294K — all three correct, all describing one portfolio. Here is why they diverge.

SHStack Homme TeamOctober 27, 2026 · 9 min read
NOI, Net Income and Cash

Net operating income up 41%. Net income at minus $5.3M. Cash down $294,000 while income rose nearly a quarter. All three are correct, all three describe the same portfolio over the same period, and an owner who only sees one of them is going to make a decision the other two would have stopped.

This isn't an accounting curiosity, and it isn't really an accounting problem. Any accountant can explain why the three numbers diverge in about five minutes. What they cannot do is stop them diverging next month, because the three figures live in three systems that disagree about what a property is, when a month ends, and which level of detail is worth keeping.

That is a data modelling problem wearing accounting clothes, which is why it survives being explained. Below is the accounting part, and then the part that actually has to be built.

Where the three numbers come from

Take a three-property self-storage portfolio with $5.79M of income over the period. Here is what each statement says about it.

MeasureValueWhat it is telling you
Net operating income$2.36MHow the properties trade. Income minus operating costs, at a 40.8% margin
Net income−$5.30MWhat the business earned on paper, after $7.61M of depreciation and interest
Cash position$1.02MWhat is actually in the bank. Down $294K since January

None of these is the real one. They answer different questions, and the gap between them is not an error to be reconciled away. It is information.


What sits below the NOI line

NOI stops before depreciation, interest, tax and amortisation. That is deliberate. It exists to describe how a property performs as a property, stripped of how it was financed and how the asset is being written down for accounting purposes. Two identical facilities, one bought with cash and one with debt, should produce the same NOI. That is the whole point of the measure.

In this portfolio, $7.61M of depreciation and interest sits below that line. So the same assets that generated $2.36M of operating profit produced a $5.30M accounting loss.

Both numbers are honest. NOI says the properties are working. Net income says that after the cost of the capital used to build and buy them, and after writing down their value on a schedule set years ago, the business has not yet turned a profit on paper.

For a stabilised portfolio those two usually move in the same direction. For one still filling up, they frequently don't, which brings us to the part that catches people out.


Lease-up pulls them apart

Depreciation starts when an asset is placed in service, not when it reaches target occupancy. The day a facility opens with 20% of its units let, it begins carrying the depreciation of a full building.

So during lease-up:

  • NOI climbs steeply, because each new tenant adds revenue against a cost base that is already largely fixed
  • Net income stays deeply negative, because full-building depreciation and full-facility interest are running against partial income
  • The two diverge further the better lease-up goes, which is a genuinely counterintuitive result

A board paper showing net income during lease-up will look like a disaster. A board paper showing only NOI will look like everything is fine. Both are misleading on their own, and which one gets presented usually depends on who assembled the pack.


Cash follows neither

The third story is the one that actually determines whether you can make payroll, and it answers to a different set of rules again.

In this portfolio, income rose 23.8% and cash fell by $294,000. Two movements explain almost all of it:

MovementAmountWhy it does not show up in income
Invested in assets−$3.16MCapital spent on assets not yet in service, so it appears on the balance sheet rather than the P&L
Loan draws+$3.17MFinancing in, which is not income and appears nowhere in NOI

That $3.16M is the line that causes the most confusion in these reports. It is cash out of the door. It contributes nothing to NOI until the asset opens. It does not appear on the profit and loss statement at all. And on an occupancy report it is invisible, because the units don't exist yet.

So an owner reading the operating summary sees a portfolio performing well. An owner reading the P&L sees a loss. An owner reading the bank balance sees it falling. Nobody is wrong, and nobody has the full picture.

The budget makes a fourth story

Most portfolios also run a budget, and that introduces a problem that is less conceptual and more practical.

The budget is usually a spreadsheet, built in a planning session, with line items somebody invented. The general ledger has its own chart of accounts, set by the accountant. The two rarely map cleanly. “Repairs and maintenance” in the budget might be three or four GL accounts, or half of one.

Until someone decides which accounts roll into which budget line, a variance figure means very little. You are comparing two things that count different stuff.

In this portfolio the trailing twelve months came in at $2.49M of income, 0.5% over budget, against $1.42M of expenses, 4.0% over. NOI landed 3.8% under budget. That last number is the useful one, and it only exists because somebody sat down and agreed the mapping first.

What each number is actually for

NOI is for operating decisions and for valuation. Which property is performing, what a facility is worth at a given cap rate, whether a manager is doing their job.

Net income is for tax, for statutory filing, and for anyone looking at the business as a whole rather than as a collection of properties.

Cash is for survival, timing and funding. It is the only one of the three that tells you whether you can pay for something next month.

Asking which is the real number is the wrong question. Asking which question you are trying to answer is the right one.

Why nobody has built this already

Every figure in this article already exists somewhere in the business. The general ledger has the accounting view. The property management system has occupancy and rent. The loan schedule has the draws. Nothing is missing, which makes it reasonable to assume the combined report is a morning's work in Excel.

It isn't, and the reasons are worth naming, because they are the actual job.

The three systems keep data at different grain

The general ledger posts monthly, by account, by legal entity. The property system updates daily, by unit, by site. The loan schedule moves on events, whenever a draw happens. Putting them on one page means choosing a grain, usually property by month, and then deciding what happens to everything finer than that. Daily occupancy has to be averaged or taken at a point in time, and those two choices give different answers.

There is no key they share

The ledger knows entities and cost centres. The property system knows sites and units. The budget knows whatever the planning session called things. A property is not an entity: one entity can hold three properties, and one property can end up split across two entities after a refinance. Until there is a property dimension that all three systems are mapped to, NOI by property is not a query. It is a reconciliation somebody performs by hand.

They close on different days

The ledger is final ten days after month end. Occupancy is current to yesterday. Put the two side by side without stating what each is as of, and you get a report that is wrong in a way no one reading it can detect.

Those are three modelling decisions, not three formulas. Each has to be made once, written down, and then enforced every time the report refreshes. That is the layer that is missing, and it is why the thing in between the operating summary and the accounts does not get built by either of the people producing them.

What a combined report looks like

The fix is not a better P&L. It is putting the operating view and the accounting view on the same page, at property level, so the combined position can be seen and then explained.

  1. One page that reconciles the three. NOI at the top, the items below the line itemised, net income at the bottom. Not two reports from two people, one page with a visible bridge between them.
  2. Cash on its own page, not as a footnote. Operating, investing and financing separated, so capital going into assets not yet in service is visible as its own line rather than buried.
  3. Everything available at property level. Portfolio totals are for the board. Property-level detail is what lets you explain them: which site carries the margin, where the budget slipped, what is holding cash.
  4. Budget mapped to the GL before any variance is reported. One conversation, usually a day, and it has to happen before the first variance figure is believable.
  5. Lease-up tracked against plan, separately. During lease-up this is the number that predicts the other three.

None of that requires new data, and none of it requires a new system. It requires the grain, the property key and the as-of dates to be settled once, and then a model that holds them. That is usually a day of decisions and a mapping table, followed by a build that does not have to be repeated every month.


The uncomfortable part

In our experience the reason these three numbers stay separate is rarely technical.

The accountant produces the statutory view because that is what they are engaged to produce. The operator produces the occupancy and income summary because that is what they manage against. Both are doing their job correctly. Neither is asked to produce the thing in between, because the thing in between does not belong to either of them.

So the owner receives two correct documents a month, reconciles them in their head, and makes decisions on the version they happen to trust more that week. It works until it doesn't, and it stops working fastest during lease-up, when all three numbers are moving in different directions at once.

That is not a reporting problem, exactly. It is an ownership problem that shows up as a reporting problem. But unlike most ownership problems, this one has a tractable fix: one report, built once, that holds all three.


Figures throughout are from a storage portfolio report built on synthetic data modelled on real engagements. Same structure, same KPIs, same questions.

Working on something similar?

Book a free 30-minute call and we'll look at your data together.

Book a call
All articles