What your property management system does not report
A property management system knows everything about revenue and almost nothing about cost. That gap is why most storage budgets get built twice.
A storage property management system is an excellent record of what came in. Rent roll, move-ins, move-outs, occupancy by type, delinquency aging, concessions — it is all there, current, and reconcilable.
Then you try to build a budget, and you discover it knows essentially nothing about what went out.
The four documents that live elsewhere
Every operating expense line in a storage pro forma comes from outside the PMS:
- The property profit-and-loss statement — payroll, repairs and maintenance, utilities, marketing, administrative costs, and the management fee.
- The tax bill — real estate taxes, which are usually the largest single line and the one most likely to reset after a sale or reassessment.
- The insurance declaration page — property and liability premiums, which have moved sharply enough in recent years that last year’s figure is not a safe default.
- The debt schedule — rate, amortization, and maturity, without which the model produces NOI and stops short of anything an owner can act on.
None of these arrive on a monthly cadence, none of them come from the same system, and in most portfolios none of them are held by the same person who runs the stores.
Why this produces two budgets
The revenue side gets built by operations, from data they own and trust. The expense side gets built by accounting or ownership, from documents operations never sees. The two are then reconciled in a meeting, and the reconciliation is where most of the errors enter — because it is the only step performed by hand under time pressure.
The budget is not hard because the math is hard. It is hard because the inputs live in four places and only one of them updates itself.
What to do about it
Treat operating expenses as explicit assumptions rather than as data, and make the model say so. A placeholder derived from a per-square-foot rule of thumb is fine as a starting point — it is not fine if the interface presents it with the same authority as the rent roll.
Two practices make the difference. First, keep a canonical list of source documents attached to the model, so the person building it can see at a glance what has been supplied and what is still a guess. Second, keep occupancy and rate as separate levers.
That second point matters more than it sounds. If one control moves both, you can produce a revenue number but you cannot explain it. Keeping them apart is what lets an operator say "the lift is occupancy, not rate" — and defend it to an owner who is entitled to ask.
This is how LumaIQ works, not just how we write.
Asset management software for self-storage operators. Rate increases, delinquency and lien, expense control, and owner reporting across every property you run.