Modern ERP systems require flexibility, speed, and user-centric workflows. As organizations scale, users increasingly work with large volumes of data, sales orders, purchase invoices, master data, warehouse entries, and financial transactions. Improving efficiency at the UI level can significantly impact organizational productivity. That’s where multiselection in Microsoft Dynamics 365 Business Central becomes a transformative capability, not just a UI enhancement.
Whether you’re a Business Central developer, solution architect, or functional consultant, understanding and implementing multiselection correctly helps you streamline processes, improve data handling, and build smarter, more automated extensions. In cloud-first architectures, these capabilities also integrate seamlessly with Power BI, Dataverse, and Microsoft Fabric, making multiselection part of a broader analytics and automation strategy.
What is Multiselection?
Multiselection for fields in Business Central is a feature that allows users to select multiple items from a list, rather than just one. This is particularly useful when working with large lists of data, as it allows users to quickly and easily select multiple items at once.
Multi-selection for fields can also be used in various scenarios, such as filtering data, applying specific actions to multiple records, and creating reports.
In addition, you can also use multi-select fields to filter data, allowing users to quickly and easily select multiple items to filter on. This can be particularly useful when working with large lists of data.
It’s also possible to customize the functionality of multi-select fields by using C/AL code. This way, you can create custom actions, such as applying specific actions to multiple records, that will be available only for multi-select fields.
Multiselection improves data accessibility, eliminates manual repetition, and enables bulk actions—a common requirement in industries like manufacturing, retail, logistics, and finance. In cloud-hosted Business Central environments, where thousands of records are accessed every day, the ability to select and act on multiple rows drastically reduces user fatigue and accelerates operational workflows.
From a UI/UX standpoint, multiselection aligns Business Central with modern ERP expectations. This capability also aligns with Microsoft’s ongoing updates to improve page extensibility, lookup experiences, and dataset filtering via AL extensions.
Why Multiselection is a Game-Changer in Business Central
In Microsoft Dynamics 365 Business Central, multi-selection fields streamline workflows for users managing large datasets across finance, sales, purchasing, and warehouse operations.
Instead of clicking through single entries one by one, users can select multiple records simultaneously to perform collective actions such as:
* Posting multiple documents (e.g., Sales Orders or Purchase Invoices)
* Updating master data fields in bulk
* Filtering reports or dashboards by multiple categories or locations
This not only improves user productivity but also reduces data entry time and ensures process consistency across teams.
From a developer’s standpoint, multiselection introduces new flexibility for AL programming and page extensions. Developers can use the CurrPage. SetSelectionFilter() method or custom Codeunits to capture and process multiple records with a single action trigger.
Advanced Functional & Developer Insights
Multiselection isn’t just a productivity booster; it’s a technical foundation for scalable customizations.
1. Functional Impact
Multiselection empowers functional consultants to design:
* batch processing pages
* master data management tools
* bulk approval workflows
* mass updates for retail pricing, warehouse bins, or cost centers
It enables holistic process optimization across modules.
2. Developer Impact
Developers gain the ability to:
* extend List pages for multi-record actions
* implement Codeunits for batch operations
* enforce business rules across multiple selected rows
* trigger background tasks with job queues
* integrate selection sets into Power Automate flows
This makes multiselection essential for high-performance extensions and ISV apps.
There are two ways to write Multiselection.
* With Codeunit
* Without Codeunit
Codeunit vs. Non-Codeunit Approach
In Business Central AL development, there are two main approaches to enable multiselection functionality on fields or pages:
With Codeunit (Custom Logic Approach) – Using AL or legacy C/AL codeunits gives developers the ability to control logic execution across multiple selected records. You can dynamically write business rules, validations, and transaction logic for each selected record.
Without Codeunit (Declarative or Simpler Approach) – Ideal for basic scenarios where you simply need to capture multiple selections without additional logic. You can achieve this by referring to table fields directly in the List and Card pages.
Both approaches have their merits:
The Codeunit method is perfect for automation-heavy workflows (e.g., batch processing or applying discounts across multiple customers).
The Non-Codeunit method is useful for straightforward UI-level multiselects (e.g., filtering or quick data lookups).
Choosing the Right Approach
1. Use Codeunit-Based Multiselection When You Need:
* bulk posting
* multi-record validation
* complex transaction logic
* approvals or workflows
* automated background activity
* integration with external APIs
* Fabric or Power BI data preparation flows
2. Use Non-Codeunit Multiselection When You Need:
* lightweight UI filtering
* multiple lookups
* data segmentation
* simple selection collections
By aligning multiselection strategy with business goals, developers build future-proof, maintainable AL solutions.
Example for Multiselecting
* Create a table for the institute.
* Create a List page and Card page For Institute.
* In Institute, fields will be Id, Name, and Description.
* Create a Table, List page, and Card page for DEMO (In the Demo page for institute Name multi-selecting will apply).
* In the Demo, page creates the field Id, Institute Name(Multiselecting from the Institute List page).
With Codeunit
Institute Table
As wanted, a multiselection from Institute List Page will write this code on Institute List Page.
Demo Table
In the Demo Page, as we want Multiselection for the Institute name, writing this code on the Demo Card page
Codeunit for Multiselection
The second way to do a Multiselection is without a Codeunit, and without writing any code in the Institute name
Will be Referring to the same table shown above for Institute Table
-Institute List Page
Demo Card Page
Architectural Structure for Better Multi-Select Workflows
While the example demonstrates the functional pattern, enterprise extensions often require:
Lookup Page Customization
* Adding filters to improve search
* Index optimization for large datasets
* Conditional visibility of fields
* Saving filtered sets for later
Page Actions for Multi-Record Processing
Adding AL actions like:
action(ProcessSelectedInstitutes)
{
ApplicationArea = All;
Caption = ‘Process Selected’;
trigger OnAction();
begin
CurrPage.SetSelectionFilter(InstituteRec);
Codeunit.Run(50100, InstituteRec);
end;
}
User Feedback Mechanisms
* notifications
* dialog confirmations
* error handling for partial failures
* logs via Telemetry or Application Insights
Integration with Power Automate
Multi-selected records can trigger:
* approval flows
* email alerts
* API calls
* Dataverse updates
This makes multiselection a key cross-platform automation strategy.
Without Codeunit — Simplified Multiselecting
For simpler use cases, you can achieve multiselection directly using AL page properties without creating a Codeunit.
In the Demo Card Page, define a field that refers to the Institute List.
When the user clicks on the field, the Institute List opens, allowing multiple selections through checkboxes.
This method relies on:
The Lookup property of a field.
The MultiSelect = true property in the page definition.
Example:
field(2; “Institute Name”; Text)
{
ApplicationArea = All;
TableRelation = Institute.Name;
MultiSelect = true;
}
This makes it possible to pick multiple institutes directly from the lookup without extra code.
UX Considerations for Multi-Select Lookups
When using non-Codeunit multiselection:
Ensure your Lookup Page uses SourceTableView to avoid overwhelming users
Add tooltips indicating multi-selection behavior
Validate that the selected items follow business rules
Store selected values optimally (e.g., using comma-separated lists or related tables)
For complex relationships, using separate junction tables is a cleaner and more scalable approach.
Best Practices for Implementing Multiselection
Optimize Performance: If multiselection is used in large datasets (10,000+ records), ensure filters are applied and pages are indexed.
Use AL Instead of C/AL: For modern extensions (v20+), use AL syntax and avoid C/AL. Microsoft is deprecating C/AL in favor of AL and VS Code extensions.
Enhance User Experience: Provide clear tooltips and confirm actions when multiple selections affect data integrity.
Validation: Use OnValidate() triggers or confirmation dialogs before applying mass updates.
Business Logic Separation: Keep your Codeunit logic modular. It helps in reusability and better testability within AL extensions.
Why Every Business Central Developer Should Master Multiselection
Multi-selection for fields in Business Central is a useful feature that allows users to select multiple items from a list, rather than just one, making it easier to work with copious amounts of data. It allows developers to customize the functionality of multi-select fields by using C/AL code, providing more flexibility.
Multi-selection is not just a UI convenience; it’s a productivity enabler for end users and a development accelerator for engineers.
For Business Central consultants, multiselect functionality unlocks:
Bulk posting of financial documents
Batch approvals in workflows
Group filtering in reports and Power BI dashboards
Seamless integration with Microsoft Fabric and Dataverse
As data volumes grow, multi-selection enables business users to act on multiple records with a single action, reducing clicks, improving throughput, and delivering tangible ROI.
Emerging Trends & the Future of Multiselection in BC
As Microsoft expands Business Central with AI-driven capabilities, multi-selection will become more intelligent. Expect:
AI-suggested bulk actions
Rule-based multi-select processing
Fabric-connected analytics on selected datasets
Cross-tenant configuration replication
Mastering multiselection prepares developers and consultants for these upcoming enhancements.
Addend Analytics: Your Partner for Business Central Customizations
At Addend Analytics, we help organizations maximize their Microsoft Business Central investment by building tailored extensions and automations, including advanced multi-select fields, Power BI integration, and AI-driven data reporting.
Our certified consultants and developers specialize in:
Business Central AL development and customization
Integration with Power BI, Azure SQL, and Microsoft Fabric
Migrating from NAV/C-AL to modern AL extensions
Building automation workflows that improve operational efficiency
Ready to enhance your Business Central environment with customized, multi-select-ready solutions?
Contact Addend Analytics today for a free consultation.
Ready to Build High-Performance, Multi-Select–Enabled Business Central Extensions?
Addend Analytics helps companies design scalable, efficient, and AI-ready Business Central solutions using AL, Power Platform, Azure SQL, and Microsoft Fabric.
Book Your Free Business Central Architecture Review Today (Add a contact and discover how multiselection and automation can reduce effort, accelerate workflows, and deliver measurable ROI.