Custom Fields for Units & Users
Giving every community a home for the data it used to keep in a spreadsheet.
A community ERP with a blind spot.
ADDA is a community-management ERP used by residential associations. Admins (Syndics) run units, owners, tenants, dues and reports in it. But every community also tracks things ADDA never asked for, a swimming pool, roller shutters, parking slots, a resident’s blood group. This project gave that data a home.
- →Discovery with PM: PRD review, ARM parity audit, spreadsheet analysis
- →User stories, business rules and edge cases
- →Flows, wireframes and hi-fi UI in the ADDA system
- →Prototype reviews, dev handoff and design QA
Communities have no way to capture community-specific data against a unit or a user inside ADDA.
“A Syndic who needs to know which units have a swimming pool, a roller shutter or an assigned parking slot has to keep that list outside ADDA and reconcile it by hand.”
The data exists either way, it just lives in a private spreadsheet nobody else can see, search or trust. That costs admin time every day, and in an emergency it can cost far more.
Five frustrations, one root cause.
What success looks like.
- →Record data on the unit or resident it belongs to
- →See it while working, no switching to a sheet
- →Pull the whole community’s data in one report
- →Close the ACM-vs-ARM capability gap
- →Lay the first tab of a Setup area that can grow
- →Cut manual, error-prone admin work
Written from the admin’s chair.
As an Admin, I want to define up to 5 custom unit fields under Setup, so that I can track what my community needs without an external sheet.
As an Admin, I want to define up to 5 custom user fields, so that I hold resident attributes like blood group inside ADDA.
As an Admin, I want to see custom information on the unit I’m viewing, so that I can answer questions without leaving ADDA.
As a Moderator, I want to pull custom fields in reports, so that I can share a community-wide list in one click.
As an Admin, I want to be warned before deleting a field, so that I never lose captured data by accident.
What we learned.
Who it’s for.
Syndic · Admin
Runs the community in ADDA and answers every question about units.
- →Wants answers in one place
- →Hates re-checking spreadsheets
- →Needs to hand over cleanly
Resident
The person whose unit and personal data get recorded.
- →Expects their data kept safe
- →Owner and tenant keep their own values
Moderator
Pulls community-wide lists for decisions and emergencies.
- →Needs exportable reports
- →Can see sensitive user fields
Where it fits in ADDA.
- →5 unit + 5 user fields per community
- →Configured per community, nothing inherited
- →Never mandatory, never blocks creation
- →Only Admin / Syndic can reach Setup
- →User fields stored per person (owner ≠ tenant)
- →Reports show only configured columns
The hard parts.
How I got there.
Six decisions, mapped to the pains.
Edge cases, handled.
Add is disabled at 5 of 5, with a tooltip.
Inline error; unique per section, case-insensitive.
Rejected, at least two needed.
Type locks; renaming keeps every value.
Shows blank on existing units, no errors.
Each keeps their own user-field values.
Never sees user custom-field columns.
Empty states in Setup; reports unchanged.
Impact and what’s next.
- →Follow the spreadsheet, it’s the real roadmap
- →Flexibility needs guardrails to stay trustworthy
- →Put data where the work already happens
- →Search and filter units by custom field
- →More Setup tabs for Units & Users config
- →Bulk import from existing spreadsheets