Microsoft Dynamics Solutions Blog

How Do You Effectively Use Business Central Extensions?

Written by Alanna Friedberg | Apr 29, 2025 2:00:00 PM

Dynamics 365 Business Central provides you with a powerful ERP system out of the box. You can utilize extensions to transform it into a comprehensive solution that can handle multiple business needs. Users can integrate tools and functionalities directly from the Extensions Management page and the Microsoft AppSource marketplace. The right mix of Business Central extensions allows your organization to streamline operations, obtain meaningful insights through data analytics, and set up seamless workflows throughout the company. 

Microsoft Business Central Extensions 

Development teams can build a custom Business Central Codeunit extension using Application Language (AL), an object-oriented language used to create and extend applications within Business Central. 

Business Central Report Extension

This extension allows developers to modify existing reports without altering the original format. You can efficiently adapt standard reports to meet unique business requirements while ensuring they are safe for future upgrades. Developers can perform actions like:

  • Adding new fields
  • Changing labels
  • Incorporating logic into triggers
  • Adding new layouts to Word or RDLC files

Report extensions typically contain the following key components:

  • Dataset modifications: Lets you add new fields or columns to a report dataset. This is generally used to display custom fields from tables like Sales Header, in Business Central.
  • Triggers: You can insert business logic by creating triggers with names like AddAfterGetRecord or OnPreDataItem.
  • Layout additions: You can attach custom layouts to a report, enabling your company to create personalized document templates, such as order confirmations. 

Below are some use cases for which you may want to use a report extension.

1. Build Customized Sales Invoices

Your company might want to update its logos or terms and conditions. There may also be a need to add an additional field. Examples include notes intended for customers or internal references for employees. Developers can use report extensions to modify a dataset to include custom information, then attach it to a Word or RDLC layout that reflects the organization’s branding and formatting preferences. 

2. Add Information to Financial Reports

A business may decide to include additional data columns in its financial reports, like account schedules. This may involve updating the reports to include extra columns that highlight KPIs, managerial accounting, or figures from specific departments. 

3. Meet Compliance Regulations

Many businesses must comply with specific regulations regarding the format of their invoices or tax reporting. With report extensions, companies can modify reports to accommodate local data required for government-mandated invoice details, as well as include QR codes or language-specific labels. 

Business Central Page Extension

The page extension in Business Central enables you to modify existing pages, including cards, lists, and documents. You can add fields, new actions, or additional controls to tailor a user interface to suit individual business workflows and data requirements. One benefit of using page extensions is that they remain compatible with future Business Central upgrades. 

Some of the key features of page extensions include:

  • Layout customization: Developers can add fields to existing groups or page sections, remove unneeded fields, or rearrange the current field order.
  • Event handling: You can use AL code to add new business logic that reacts to system events or user inputs.
  • User Experience Enhancements: Enhance the user experience by creating a cleaner, more intuitive interface through adjustments to visibility settings, the addition of tooltips to guide users, and updates to key application areas. 

Let’s explore some common use cases for the Business Central page extension.

1. Adding Custom Fields

You can display custom fields from a table. If your business wants to add a specific delivery window to the customer table, you can use a page extension to add the field to the Customer Card Page. Users can review and update the information without needing to navigate to a custom page. 

2. Streamlining UI

A company may want the interface to reflect different fields depending on a user’s role. Page extensions let you hide or remove fields that don’t apply to a user. A sales representative would see different controls compared to a customer service representative. 

3. Adding Quick Actions

If you want to add a button to a Customer List page called 'Send Reminder Email,' you can do so with a page extension. The button could be used to send reminders to customers who are late on their payments or for other purposes. 

BUSINESS CENTRAL PAGE EXTENSION

Permission sets define the operations users are allowed to perform on different Business Central Objects. Extending permission sets lets you add or remove specific permissions without the need to recreate them or make manual modifications through the user interface. 

The Business Central Permission Set feature enables developers to update existing permission sets using AL language. This makes it easier to manage access control, ensuring users have the proper permissions to view pages, tables, reports, or other actions. 

The key elements of a permission set extension include:

  • AL object definition: Object type used to target an existing permission set.
  • Add and Remove Blocks: You define permissions using add or remove blocks. They specify the object type, like page or report, as well as the permission level.
  • Upgrade safety: This ensures compatibility of permission set extensions with future updates. 

Below are examples of instances where you might want to enact a permission set extension. 

1. Give Users Access to Custom Objects

If you have an extension designed to introduce a new custom module, you can use it to set permissions and provide users with appropriate access. This allows you to set up custom permissions for roles like accounting or IT. 

2. Create Secure Role-Based Access

You can use a permission set to tailor permissions for various departments. For example, finance department members can have full access to a new calculation table. Other users would be blocked from accessing the information, thereby protecting it. 

3. Streamline Deployments and Automation

You can eliminate the need to manually configure permissions for user groups and environments by utilizing permission set extensions to embed access policies directly in AL code. This is helpful when deploying solutions to multiple tenants. You maintain consistency and reduce the potential for human error.