Settings — Managed Lists
The Settings ▸ Managed Lists page is where every dropdown in the HR-flavored parts of the portal gets its values. Hardware types, employment types, credential types, salary bands, matter types, practice areas — all configurable here so each tenant can model its own taxonomies.

Anatomy of the page
Section titled “Anatomy of the page”1. Page header
Section titled “1. Page header”PageHeader with the title Managed Lists and a one-line description.
2. List grid
Section titled “2. List grid”A vertical stack of cards, one per managed-list type. Each card contains:
- The list label (e.g., “Employment Types”)
- Every value as a row with reorder grip, label, slug, and row actions
- An inline + Add value button
3. Per-row actions
Section titled “3. Per-row actions”- Edit — opens an inline editor for the label
- Toggle active — archive without deleting
- Drag-handle — reorder values
There is no hard-delete on values; only archive.
List types
Section titled “List types”The platform ships with a fixed set of managed-list types. New list types require a release; new values within an existing type are configurable here.
| List type | Surface that consumes it |
|---|---|
hardware_type | Settings ▸ Assets ▸ Hardware |
software_name | Settings ▸ Assets ▸ Software (when shipped) |
credential_type | Account ▸ Credentials |
employment_type | Team profile Employment tab |
salary_band | Team profile Compensation tab |
matter_type | Matters list + matter detail |
practice_area | Matter detail metadata |
document_category | Document upload tagging |
payment_method | Trust requisition + disbursement payment-method dropdown |
Payment methods: banking-details flag and system rows
Section titled “Payment methods: banking-details flag and system rows”The payment_method list carries two extra attributes beyond label and
slug:
requiresBankingDetails— whentrue, choosing this method on a trust requisition or disbursement forces the operator to capture banking details (a saved banking method on the payee, or freeform banking details) before the requisition can be submitted. This replaces the legacy hardcoded “anything but Cheque needs details” rule.isSystem— the 14 payment methods Athenty seeds on tenant creation are flagged as system rows. System rows are locked: theirrequiresBankingDetailsflag cannot be toggled and they cannot be archived (the API rejects both with aMANAGED_LIST_ITEM_LOCKEDerror). Their label may still be edited. Tenant-added payment methods are fully editable, including the flag.
Seed defaults — required: account_to_account_transfer, credit_card,
credit_transfer, debit_card, direct_deposit,
electronic_funds_transfer, email_money_transfer, wire. Not
required: bank_draft, cash, certified_cheque, cheque,
money_order, other.
The banking-method form adapts to the chosen method: credit/debit card capture a card number + expiry, credit transfer captures a transfer note, and for these families an account number is not mandatory. Wire and EFT continue to require an account number and beneficiary name. The beneficiary name defaults to the payee/participant name; an override requires a short reason that is stored on the audit trail.
Slug stability
Section titled “Slug stability”Each value has a label (display text) and a slug (stable identifier). Labels can be edited freely; slugs are immutable post-save. This design preserves referential integrity: existing records reference values by slug, so renaming a label doesn’t break them.
To change a slug, add a new value with the desired slug, archive the old, and (optionally) bulk-reassign existing records.
Archive semantics
Section titled “Archive semantics”| State | Behaviour |
|---|---|
| Active | Available in dropdown pickers |
| Archived | Hidden from new pickers, preserved on existing records |
The platform exposes no hard-delete on managed-list values. Archive is the safe default: it preserves audit history and lets admins re-activate without losing data.
Permissions and scope
Section titled “Permissions and scope”| Role | View | Manage |
|---|---|---|
| Owner / Admin | ✓ | ✓ |
| Member | Indirect (uses values in forms) | ✗ |
| Viewer | Indirect | ✗ |
Audit logging
Section titled “Audit logging”| Action | Event |
|---|---|
| Create value | managed_list.value_created |
| Update value | managed_list.value_updated |
| Reorder values | managed_list.values_reordered |
| Archive | managed_list.value_archived |
| Reactivate | managed_list.value_reactivated |
Events surface in Settings ▸ Audit Log.
Troubleshooting
Section titled “Troubleshooting”| Symptom | Most likely cause | Fix |
|---|---|---|
| Slug uneditable | Immutable post-save | Add new value with desired slug; archive old |
| New value missing from dropdown | Form cache stale | Refresh the form |
| Archived value still on existing record | Working as designed | Reassign record before archive if cleanup is required |
| Reorder doesn’t persist | Drag-and-drop dispatch missed | Re-drag; watch for the saved toast |
| List empty | Seed didn’t run | Contact support |
Related pages
Section titled “Related pages”- Settings ▸ Assets — consumes hardware/software types
- Account ▸ Credentials — consumes credential types
- Settings ▸ Team — consumes employment + salary band types
- Settings ▸ Audit Log —
managed_list.*events