Skip to content
PropOSby Strixa

The property operating system

Beta · upcoming

Occupancy is a fact,
not a field

A unit is occupied if a live lease covers it today. Nothing else. PropOS derives occupancy, rent roll and lease status from the leases underneath them, so the number on the dashboard cannot drift away from the paperwork it came from.

PropOS is in beta. Properties, units, tenants, leases and the owner dashboard work end to end today. The rent ledger, maintenance requests, the tenant portal and the AI layer are in build — this page says which is which.

Occupancy fields to update
0

Occupancy fields to update

Isolation layers per query
2

Isolation layers per query

Days of renewal warning
60

Days of renewal warning

Portfolio · Bole

PropOS

Live

Occupancy

92%

34 of 37 units

Rent roll

412k

ETB · from active leases

Expiring

5

2 inside a week

Vacant

3

ETB 31k not earning

  • Bole Terrace · 3B9 days
  • Kazanchis Court · 2C26 days
  • Bole Terrace · 1AETB 11k
  • Kazanchis Court · 4Aout
  • Gerji Rise · 5CETB 9k
  • Gerji Rise · 2B8 mo

Recomputed from your rows · just now

next check in 240s

What it does

Three loops, running under the portfolio

Properties, units, tenants and leases in one record — with occupancy and rent roll derived from the leases themselves, never typed in.

Occupancy you cannot mistype

There is no occupied/vacant field to update, because there is no field. A unit is occupied if an active lease covers today's date, and the rent roll totals the leases that are actually live.

  • Occupancy derived from leases, never stored
  • Rent roll totalled from lease terms
  • Vacant units priced at the rent they are not earning

Leases that refuse to overlap

Two leases cannot cover one unit at the same time — the system rejects it rather than trusting whoever typed last. Early termination is recorded, not deleted, so the history survives.

  • Overlapping leases refused at the point of entry
  • Early termination recorded against the lease
  • Renewals surfaced sixty days ahead

Alerts by arithmetic

A landlord acting on “this lease ends in nine days” needs that calculated, not generated. Every alert here is a threshold over your own portfolio, computed as you look.

  • Lease expiring inside 30 days, critical inside 7
  • Vacancy above a quarter of a property
  • Units out of service and earning nothing
An apartment building stairwell in morning light, keys and a lease folder on the landing

Designed for people answerable to an owner, a tenant and a lease.

A unit is occupied if a live lease covers it today. There is no status field to forget, so there is nothing to reconcile.

Derived occupancy

Computed, never stored

Next

Put PropOS in front of your team