> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.swellsystem.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# Custom Fields System

# Custom Fields System

Extend any module with custom data fields specific to your business needs.

## What is the Custom Fields System?

The Custom Fields system lets you add custom data fields to most modules:
- **CRM**: Contacts, companies, leads
- **Finance**: Invoices, products
- **Projects**: Projects, tasks
- **Scheduling**: Event types, bookings
- **And More**: Most modules support custom fields

## Why Use Custom Fields?

**Benefits:**
- **Industry-Specific**: Add fields relevant to your industry
- **Complete Data**: Capture all information you need
- **Better Organization**: Filter and sort by custom data
- **Flexibility**: Adapt system to your business

## Creating Custom Fields

### Access Custom Fields

1. Go to **Settings** → **Custom Fields**
2. **Select Module**: Choose which module (Contacts, Invoices, etc.)
3. **View Fields**: See existing custom fields
4. **Add Field**: Create new field

### Field Configuration

**Basic Settings:**
- **Field Name**: Label shown in forms
- **Field Type**: Text, number, date, dropdown, etc.
- **Slug**: Internal identifier (auto-generated)
- **Required**: Make field mandatory
- **Default Value**: Pre-fill value (optional)
- **Help Text**: Instructions for users

**Field Types:**
- **Text**: Single line text
- **Textarea**: Multi-line text
- **Number**: Numeric value
- **Date**: Date picker
- **Time**: Time picker
- **DateTime**: Date and time
- **Dropdown**: Select from options
- **Multi-Select**: Select multiple options
- **Checkbox**: Yes/No toggle
- **Radio**: Single choice from options
- **File**: Upload attachment
- **URL**: Website link
- **Email**: Email address
- **Phone**: Phone number

## Field Options

### Dropdown Options

For dropdown/select fields:

1. **Select "Dropdown"**: Choose field type
2. **Add Options**: Enter option values
3. **One Per Line**: Each option on new line
4. **Save Options**: Options saved
5. **Used in Forms**: Options appear in dropdown

### Validation Rules

Add validation:
- **Required**: Field must be filled
- **Min/Max Length**: Text length limits
- **Min/Max Value**: Number range limits
- **Pattern**: Regex pattern matching
- **Unique**: Value must be unique

## Using Custom Fields

### In Forms

Custom fields automatically appear:
- **Create Forms**: When creating records
- **Edit Forms**: When editing records
- **Organized**: Grouped in custom fields section
- **Validated**: Validation rules enforced

### In Lists

Display custom fields:
1. **Configure Display**: Set which fields to show
2. **Add Columns**: Add custom field columns
3. **Sort/Filter**: Sort and filter by custom fields
4. **Export**: Include in data exports

### In Filters

Filter by custom fields:
1. **Open Filters**: Module filter panel
2. **Find Custom Field**: Custom field in filter list
3. **Set Filter**: Choose filter value
4. **Apply**: Filter results

## Field Groups

Organize fields into groups:

1. **Create Group**: Name the group
2. **Assign Fields**: Add fields to group
3. **Display**: Fields grouped in forms
4. **Collapsible**: Groups can be collapsible

**Common Groups:**
- "Billing Information"
- "Industry Details"
- "Internal Notes"
- "Custom Data"

## Best Practices

1. **Plan First**: Think about what data you need
2. **Use Clear Names**: Descriptive field names
3. **Group Related**: Organize into logical groups
4. **Set Defaults**: Use default values when helpful
5. **Make Required**: Mark important fields as required
6. **Use Dropdowns**: For standardized data
7. **Don't Overdo It**: Only add fields you'll use
8. **Document Fields**: Add help text explaining fields

## Common Use Cases

### Industry-Specific Data

**Healthcare:**
- Medical License Number
- Specialty
- Insurance Accepted
- Patient Capacity

**Real Estate:**
- License Number
- MLS ID
- Property Types
- Commission Rate

**Legal:**
- Bar Number
- Practice Areas
- Court Admissions
- Specializations

### Business-Specific Data

**Account Information:**
- Account Manager
- Account Tier
- Contract Value
- Renewal Date

**Internal Tracking:**
- Internal Notes
- Priority Level
- Source Code
- Campaign ID

## Managing Custom Fields

### Editing Fields

1. Go to **Settings** → **Custom Fields**
2. Find field
3. Click **"Edit"**
4. Make changes
5. Save

**Note**: Changing field type may affect existing data.

### Deleting Fields

1. Find field
2. Click **"Delete"**
3. Confirm deletion
4. Field removed

**Warning**: Deleting removes all field values. Cannot be recovered.

### Reordering Fields

1. Go to custom fields settings
2. Drag fields to reorder
3. Save
4. Order reflects in forms

## Field Permissions

Control who can see/edit:
- **View**: Who can see field
- **Edit**: Who can edit field
- **Required For**: Which roles must fill field

## Troubleshooting

**Custom field not showing?**
- Verify field is active
- Check field assigned to correct module
- Refresh page
- Check form view

**Can't save custom field value?**
- Check validation rules
- Verify data format matches type
- Check required fields
- Try refreshing page

**Field type change issues?**
- Changing type may lose data
- Backup data before changing
- Test with one record first
- Contact support if needed

For more help, see [Common Issues](https://help.swellsystem.com/en/article/common-issues-solutions-1i0z5vq/).

## Next Steps

- [Managing Contacts](https://help.swellsystem.com/en/article/managing-contacts-mzfqpe/) - Use custom fields in contacts
- [Creating Invoices](https://help.swellsystem.com/en/article/creating-invoices-e045z0/) - Use custom fields in invoices
- [Creating Projects](https://help.swellsystem.com/en/article/creating-projects-1ejrx65/) - Use custom fields in projects
