Appearance
Custom Fields
The Custom Fields page lets you define additional fields for any entity in the system. This allows you to capture data specific to your organisation without modifying the core application.
Navigation: Administration → Fields → {Entity} Field Controller
What Are Custom Fields?
Custom fields are user-defined data fields that extend the standard fields on an entity. For example, if the standard client form captures name, email, and phone, you can add custom fields for:
- National ID number
- Occupation
- Monthly income
- Number of dependents
- Any other data specific to your business needs
Supported Entities
Custom fields can be added to the following entities:
| Entity | Description |
|---|---|
| Clients | Individual client records |
| Groups | Client groups |
| Loan Accounts | Loan account records |
| Deposit Accounts | Deposit account records |
| Credit Arrangements | Credit arrangement records |
| Guarantors | Guarantor records |
| Assets | Fixed asset records |
| HR | Employee and HR records |
| Shares | Share account records |
| Deposit Products | Deposit product definitions |
| Transactions (by Channel) | Transaction records filtered by channel |
| Transactions (by Type) | Transaction records filtered by type |
| Users | User profile records |
Field Types
When creating a custom field, you choose from these field types:
| Type | Description | Example |
|---|---|---|
| Text | Single-line text input | National ID number |
| Text Area | Multi-line text input | Notes, comments |
| Number | Numeric input | Monthly income |
| Date | Date picker | Date of birth |
| Dropdown | Single selection from a list | Marital status |
| Checkbox | Boolean yes/no | Has insurance? |
| Radio | Single selection from radio buttons | Gender |
| Multi-Select | Multiple selections from a list | Languages spoken |
Creating a Custom Field
- Navigate to the entity's field controller page (e.g., Fields → Clients Field Controller)
- Click Create Custom Field
- Fill in the form:
| Field | Description | Required |
|---|---|---|
| Field Name | The label displayed on the form | Yes |
| Field Key | System identifier (auto-generated from name) | Auto |
| Field Type | The input type (text, number, dropdown, etc.) | Yes |
| Required | Whether this field is mandatory | No |
| Default Value | A pre-filled default value | No |
| Options | For dropdown/radio/multi-select — the list of choices | Conditional |
| Validation Rules | Any validation constraints (min/max length, regex pattern) | No |
| Display Order | The position of this field relative to other custom fields | No |
- Submit the form
How Custom Fields Appear
Custom fields appear automatically on:
- Create forms — When creating a new record of the entity type
- Edit forms — When editing an existing record
- Detail views — When viewing record details
- Data tables — As additional columns (when configured to show)
Custom field values are stored in a dedicated custom_field_values JSON column on the entity record, keeping them separate from core fields.
TIP
Custom fields integrate seamlessly with the form engine. When you open a create or edit form, custom fields for that entity are automatically loaded and displayed in a dedicated section.
Managing Custom Fields
- Edit — Change the label, type, validation, or options of an existing field
- Delete — Remove a custom field (existing data for that field will be preserved in the database but no longer displayed)
- Reorder — Change the display order of fields
WARNING
Changing a field's type (e.g., from Text to Number) after data has been collected may cause display issues for existing records. Consider creating a new field instead.
