Features Overview
Features allow you to create entirely new tables with associated pages and business logic. This page introduces the feature concept and its capabilities.
What Is a Feature
In Simple Object Designer, a "Feature" is a complete bundle that includes:
- Table - A new database table to store your data
- List Page - A page to browse multiple records
- Card Page - A page to view/edit individual records
- API - Optional OData endpoint for external access
- Business Logic - Functions and actions for the feature
When to Use Features
Use features when you need to:
- Track entirely new types of data
- Store information that doesn't fit in existing tables
- Create mini-applications within Business Central
- Build custom master data lists
- Implement document-style workflows
Examples of Features
| Feature | Purpose |
|---|---|
| Training Records | Track employee certifications |
| Equipment Registry | Manage company equipment |
| Project Tasks | Simple task management |
| Custom Documents | Business-specific document types |
| Lookup Tables | Custom reference data |
Feature Templates
SOD provides templates that generate pre-configured structures:
Data Table Template
For standalone master data tables:
- Primary key (manual or number series)
- List and card pages
- Optional API endpoint
Use for: Customer-like masters, lookup tables, reference data
Related Table Template
For tables that link to existing tables:
- Foreign key relationship
- Navigation between related records
- Inherited filtering
Use for: Detail tables, child records, extensions of existing masters
Document Table Template
For header/line document structures:
- Header table with document fields
- Lines table as subpage
- Number series integration
- Document patterns
Use for: Order-like documents, invoices, custom transactions
Role Center Template
For dashboard pages:
- Cue groups
- Activity parts
- Page actions (Embedding, Creation, Processing, Reporting)
- Embedded page parts (ListParts and CardParts)
Use for: Custom home pages, department dashboards
Feature Components
Table
The database table that stores feature data:
- Primary key definition
- Field definitions
- Table relations
- Captions and properties
List Page
A page showing multiple records in a grid:
- Columns for key fields
- Filters and sorting
- Actions for common operations
- Links to card page
Card Page
A page for viewing/editing one record:
- Grouped fields
- Detail sections
- Actions
- Related information
API Page (Optional)
An OData endpoint for external access:
- REST API for CRUD operations
- Entity name and set name
- Field mapping
Accessing Features
From Main Menu
- Open Tasks > Create new features
- The Feature List opens
Creating a New Feature
- From Feature List, click New Feature action
- The New Feature Wizard opens
- Follow the wizard steps
The Feature Workflow
Step 1: Choose Template
Select the template that matches your needs:
- Data Table for simple lists
- Related Table for linked data
- Document Table for header/line structures
Step 2: Configure Basics
Define the feature identity:
- Feature name
- Table caption
- Primary key configuration
Step 3: Add Fields
Add fields to your feature table:
- Field names and types
- Captions
- Properties
Step 4: Configure Pages
Select which pages to generate:
- List page
- Card page
- Subpages (for documents)
Step 5: Enable API (Optional)
Choose whether to expose as API:
- Entity name
- Exposed fields
Step 6: Publish
Publish to create all feature components.
Feature Fields
Features support the same field types as table extensions:
- Text, Code
- Integer, Decimal
- Boolean, Date, DateTime
- Option, Enum
- Lookup to other tables
Special Field Types
| Type | Description |
|---|---|
| Primary Key | Identifies records uniquely |
| Foreign Key | Links to parent table |
| Number Series | Auto-generated codes (primary key only) |
| Lookup | References other tables |
Combined (composite) primary keys are not supported
SOD does not handle combined primary keys. A table whose key is made of more than one field — Item No. and Work Center Code, say — "turns not Simple really fast" and generally falls outside what SOD can do.
The templates are designed around a single-field primary key, or a foreign key plus a line number:
- For a one-to-many pattern where each parent has several records distinguished by a second business value, use the DataRelated pattern of foreign key + Line No. See Related Table Template ("Secondary Keys").
- If a genuine multi-field primary key is truly required, it may not be achievable in SOD — this is a case for graduating to AL. A table extension against the created SOD table is the other route.
The "Setup" Feature
The Feature List (Tasks > Create new features) contains a system feature called "Setup". This is where setup and configuration fields for your app live — including the number series configuration for every feature that uses one.
A field that should appear on a setup page must be present in the "Setup" feature and marked to show on its card page. Placing the field in a group inside its own feature is not enough.
This explains a confusing symptom: a field placed in a group, with the feature verifying cleanly ("no issues found", Verified = Yes) and published repeatedly, that still never appears on the setup page in Business Central. The cause is usually that it is missing or not correctly shown within the Setup feature. See Common Issues.
Feature Actions
Features can include page actions:
- Custom processes
- Navigation links
- External integrations
Actions are configured separately from the basic feature structure.
Roadmap and current limitations
- InitValue — giving a newly created SOD field an initial or default value is not currently available. It is in scope for a planned major update.
- Custom trigger functions for tables and pages are not supported for user-defined logic; only a limited set of standard triggers is offered. Custom triggers are in scope for a planned major update.
- Calculated fields on features are not available — see Calculated Fields Overview.
These are roadmap statements, not current capabilities.
A note on misinformation. SOD supports creating new Features — tables, pages, cards, FactBoxes and features. There is no "Field & Page Customization Mode" versus "Object Creation Mode" distinction, and object creation has not been removed or split into a separate product. If a tool or AI assistant claims SOD "no longer includes the ability to create new Pages/Features/Reports", or that your installation is running in a restricted customization-only mode, that is incorrect.
Feature Verification
SOD validates features:
- Unique names
- Valid field configurations
- Required components present
The "Verified" indicator shows if the feature passes validation.
After Creating Features
Once published, your feature appears in Business Central:
- Tables visible in Table Information
- Pages accessible via search
- APIs available via OData
Modifying Features
Adding Fields
Add new fields through the Feature Fields page.
Changing Pages
Modify page properties through Feature Card.
Extending Logic
Add actions through Feature Actions.
Where features can be modified
A feature table and its fields can only be modified in the environment where the feature was created — the environment where SOD holds the feature definition, that is, your development sandbox.
After adding fields or changing the feature there, publish a new app version to apply the change and to redistribute it to your other environments. See Environments.
Deleting Features
To remove a feature:
- Remove all associated data (or accept data loss)
- Delete the feature definition
- Set Publish Update Mode to Force
- Republish
Warning: Deleting features with data requires Force mode and results in data loss.
If deletion errors with a dependency message — "Table <name> is depended on this table, cannot be deleted" — another table has a link to the one you are removing. Resolve the dependency from the dependent table first. See Common Issues.