How does automatic common area redistribution work when tenants change?
When you enable "Auto-distribute common area" on a building, the platform automatically recalculates each tenant's share of common area costs whenever the tenant composition changes — no manual intervention required.
How to enable it
Go to Buildings → edit your building → toggle "Auto-distribute common area" on. This sets auto_distribute_common_area = true on the building record.
What triggers automatic redistribution
The Occupancy Worker runs every hour and checks all tenant-local assignments. When it detects a status change:
- A tenant's move_in_date arrives → occupancy_status changes from "scheduled" to "active"
- A tenant's move_out_date arrives → occupancy_status changes from "active" to "moved_out"
For every building affected by a status change, if auto_distribute_common_area is enabled, the system calls the auto-distribution function.
What the auto-distribution does
- Finds the building's active allocation matrix
- Finds the "Common Areas" cost type (matched case-insensitively)
- Gets all currently active tenants and their effective areas
- Calculates each tenant's percentage: (tenant area ÷ total active area) × 100
- Updates the allocation factors for the "Common Areas" cost type
- Leaves locked factors untouched — only unlocked factors are recalculated
Example — tenant moves out
Before: Tenant A (600 m², 60%), Tenant B (400 m², 40%)
Tenant B moves out on March 1st.
After auto-redistribution: Tenant A (600 m², 100%) — they absorb all common area costs.
Example — new tenant moves in
Before: Tenant A (600 m², 100%)
Tenant C moves in on April 1st, rents 200 m².
After: Tenant A (600 m², 75%), Tenant C (200 m², 25%)
Important notes
- Only the "Common Areas" cost type is auto-redistributed. Other cost types (electricity, heating, water) retain their existing allocation factors unless you recalculate them manually or via the auto-calculate button.
- If no active allocation matrix exists for the building, the auto-distribution does nothing.
- You can always override by locking a tenant's factor (is_locked = true). Locked factors are never changed by auto-distribution.
Where to verify: Cost Allocation → select building → look at the "Common Areas" row to see current percentages.