Accounts
Manage contacts, companies, venues, and user accounts in the CRM.
Overview
Accounts is the universal entity in Signals — contacts, companies, venues, and user accounts are all stored as accounts differentiated by their account_type. This unified approach allows shared contact details, custom fields, and relationships across all entity types.
| Type | Description |
|---|---|
| Contact | Individual people (clients, crew, suppliers) |
| Company | Companies, businesses, trusts |
| Venue | Physical locations for events |
| User | System users with login credentials |
Accounts List
Route: /accounts
Browse all accounts with search, type filtering, archive filtering, sorting, and bulk operations. The list is powered by the reusable DataTable component.
- Search — filter by name (debounced, case-insensitive)
- Type filter — chip buttons to show All, Companys, Venues, or Contacts with counts
- Archive filter — chip buttons to show Active, Archived, or All accounts
- Column sorting — click column headers to sort by Name, Type, Status, or Created date
- Column filtering — inline filters on Name (text), Type (select), and Status (select)
- Column toggle — show or hide individual columns via the toolbar toggle button
- Export — export the current filtered result set to CSV via the toolbar
- Pagination — 12 accounts per page (configurable: 12, 24, 48)
- Row selection — checkbox selection with shift-click range support
- Bulk actions — archive selected accounts, or merge when exactly 2 are selected
| Column | Description |
|---|---|
| Avatar | Account initials avatar |
| Name | Clickable link to account detail page |
| Type | Account type badge |
| Primary Email | First primary email, or first available |
| Primary Phone | First primary phone, or first available |
| Status | Active or Inactive badge |
| Tags | Associated tags |
| Created | Creation date |
Row Actions
Each row has a dropdown menu with the following actions:
- View — open the account detail page
- Edit — open the account edit form
- Archive — soft-delete the account with a confirmation modal (can be restored later)
- Restore — available when viewing archived accounts; restores the account to active
Bulk Actions
Select multiple accounts using checkboxes, then use the bulk action bar:
- Archive Selected — archives all selected accounts with a confirmation modal
- Merge — appears only when exactly 2 accounts are selected; opens the merge modal
Merge Modal
Selecting exactly 2 accounts and clicking Merge opens a merge modal. Choose which account to keep as the primary record; the secondary account's relationships, contact details, custom fields, and other associations are transferred to the primary, then the secondary is archived. Both accounts must have the same account_type.
Adding Accounts
The toolbar Add Account button opens a dropdown to create an Company, Contact, or Venue.
Account Detail
Route: /accounts/{account}
The detail page shows a header with the account's name, type badge, and status badge, followed by tab navigation for managing related data.
Overview Tab
The overview tab displays a 3-column layout with:
- Left — description, quick actions panel, key contacts or companies panel, account details summary
- Centre — stat cards (CLV, active orders, YTD revenue, outstanding balance), AI recommendations, activity timeline
- Right — customer health score gauge, health factor progress bars
Tabs
| Tab | Route | Description |
|---|---|---|
| Overview | /accounts/{account} |
Summary stats, timeline, key contacts |
| Information | /accounts/{account}/information |
Addresses, emails, phones, and links |
| Contacts | /accounts/{account}/account-contacts |
Linked contacts or companies |
| Activities | /accounts/{account}/activities |
CRM activities regarding this account |
| Rentals | /accounts/{account}/rentals |
Rental and sales rentals |
| Movements | /accounts/{account}/movements |
Stock movement history |
| Invoices | /accounts/{account}/invoices |
Invoices linked to this account |
| Files | /accounts/{account}/files |
Attachments and documents |
Note: Additional tabs for custom fields and relationships are accessible as sub-pages via the Information tab routes.
Creating & Editing Accounts
Routes: /accounts/create, /accounts/{account}/edit
| Field | Description | Required |
|---|---|---|
| Name | Account's name | Yes |
| Account Type | Contact, Company, Venue, or User | Yes |
| Active | Whether the account is active | No (default: true) |
| Description | Free-text description | No |
| Locale | Language/region code (e.g. en-GB) | No |
| Default Currency | ISO 4217 currency code | No |
| Company Tax type | tax typeification for billing | No |
Contact Details
Each account can have multiple addresses, emails, phones, and links. These are polymorphic — the same system is shared across accounts, warehouses, and future entities.
Addresses
Each address can have a label (e.g. "Head Office"), street, city, county, postcode, country, type (from the AddressType list), and a primary flag. Only one address can be primary per account.
Emails
Each email has an address, type (from the EmailType list), and a primary flag.
Phones
Each phone has a number, type (from the PhoneType list), and a primary flag.
Links
Each link has a URL, optional display name, and type (from the LinkType list).
Relationships
Contacts can be linked to companies (and vice versa) with a relationship type label (e.g. "employee", "contractor") and an optional primary flag. The relationships tab shows all linked accounts and allows adding new relationships.
Custom Fields
Custom fields configured for the "Account" module appear on the Custom Fields tab, grouped by their custom field group. Fields display their current value or "No value set" for empty fields.
Merge
Two accounts of the same type can be merged into one. The primary (surviving) account retains all its own data; the secondary account's relationships, contact details, custom field values, and other associations are transferred to the primary, then the secondary is archived. Merge is available from the bulk action bar (select exactly 2 accounts) and via the API.
Anonymise
A account's personally identifiable information can be erased to comply with data removal requests. Anonymisation replaces the account's name and description with anonymised placeholders, removes the icon, and deletes all linked emails, phones, addresses, and links. This operation is irreversible. Available via the API only; a user cannot anonymise their own account record.
Permissions
| Permission | Description |
|---|---|
accounts.view |
View account details |
accounts.create |
Create new accounts |
accounts.edit |
Edit existing accounts |
accounts.delete |
Delete, archive, merge, and anonymise accounts |