What Are Custom Fields?
Custom fields let you capture additional information on client records beyond the built-in profile fields. They are defined by administrators, stored using an Entity-Attribute-Value (EAV) pattern in the client_custom_field_values table, and can appear on both the admin client form and the client-facing profile page.
Managing Custom Field Definitions
Go to Admin → Settings → Custom Fields. This page lists all defined custom fields with their type, label, and visibility settings.
Creating a Custom Field
- Click Add Field.
- Fill in the configuration (see field types below).
- Click Save.
Field Configuration Options
| Option | Description |
|---|---|
| Label | The field name shown on forms (e.g. "VAT Number", "How did you find us?") |
| Field type | The input type (see types below) |
| Required | Whether the field must be filled in before saving |
| Show on registration | Whether the field appears on the /register form |
| Visible to client | Whether the client can view and edit this field on their profile |
| Staff only | Whether the field is hidden from clients (staff can still edit it) |
| Display order | Controls the position of the field on the form |
Field Types
| Type | Input rendered | Use case |
|---|---|---|
| Text | Single-line text input | Short strings (e.g. VAT number, referral code) |
| Textarea | Multi-line text area | Longer notes or addresses |
| Select | Dropdown with defined options | Predefined choices (e.g. "How did you find us?") |
| Checkbox | Boolean toggle | Yes/No flags (e.g. "Marketing emails opt-in") |
| Date | Date picker | Date-based data (e.g. contract start date) |
For Select fields, enter the available options as a newline-separated list in the Options textarea on the field configuration form.
Where Custom Fields Appear
| Location | Condition |
|---|---|
| Admin → Clients → New Client | Always (if "Required" or if staff-visible) |
| Admin → Clients → Edit Client | Always (for staff-visible and staff-only fields) |
| Client Portal → Profile | If "Visible to client" is enabled |
| Client Portal → Registration | If "Show on registration" is enabled |
[!TIP] Fields marked Staff only are hidden from the client's profile view entirely. Use these for internal classification data the client does not need to see, such as "Fraud score" or "Account tier verified by staff".
Example Custom Fields
| Label | Type | Visible to client | Use case |
|---|---|---|---|
| VAT / Tax ID | Text | Yes | EU reverse-charge verification |
| How did you find us? | Select | Yes (on registration) | Marketing attribution |
| Reseller tier | Select | No (staff only) | Drives custom pricing decisions |
| Marketing emails | Checkbox | Yes | GDPR consent tracking |
| Contract start date | Date | No | Internal contract management |
| Preferred contact method | Select | Yes | Support team preference |
Accessing Field Values in the Admin Panel
Custom field values appear on the Custom Fields tab of the client record. Staff can edit values here at any time regardless of the field's client-visibility setting.
When exporting client data (Admin → Clients → Export), custom field values are included as additional columns in the CSV output.
Filtering by Custom Field Values
Currently, the client list supports filtering by group and tags. Custom field values are accessible in client exports and can be used with external reporting tools. Filtered views by custom field value are on the product roadmap.
Deleting a Custom Field
[!IMPORTANT] Deleting a custom field definition also deletes all stored values for that field across all client records. This action is irreversible. Export client data before deleting a field if you need to retain the values.
To delete a field, go to Admin → Settings → Custom Fields, click the Delete button next to the field, and confirm with the password confirmation modal.