What’s planned for Business Central 2023 Wave 1

Microsoft has just released the list of what we can expect from Business Central 2023 Wave 1. As usual, I will go over the list and give you my take on all the improvements. Check out the video:

https://youtu.be/Q7xfuOlHmEI

Microsoft has just released their plans for Business Central 2023 Wave 1, scheduled for April 1st. In this overview, Erik walks through the entire list of planned features and improvements, sharing his perspectives on what’s exciting, what’s overdue, and what might need more work. From Power Platform integration to AL development improvements, localization changes, and user experience enhancements, there’s a lot to unpack.

Adopt Faster with Microsoft Power Platform

Business Events to Notify and Trigger External Systems

One of the first features that caught Erik’s eye is the ability to use business events to notify and trigger external systems. The example Microsoft provides involves a “quote to cash” scenario where actions performed in Business Central can trigger events in external systems.

This has been a frequent request, especially in the context of creating APIs and event-based integrations. Up until now, the only real solution was to create an event table — whenever something happened, you’d write a record into the table so external systems could subscribe to new records. This new capability is a much more elegant solution.

Dynamic Environment and Company Support in Power Apps

Another notable improvement is the support for dynamic environment and company selection in popular Power Platform connectors. This has been a big ask from the community. Currently, if you build something that runs against a sandbox, switching everything over to production requires editing configurations in many places. Dynamic environment and company support should make this significantly easier.

Application Improvements

Set Up and Sync Master Data Across Companies

Business Central (and its predecessors NAV and Navision) has always supported multiple companies, but there’s never been a good native way to sync data between them. The typical use case involves organizations with 10 different companies covering different states or regions, but in reality they share the same items, the same G/L accounts, the same customers, and the same dimension values.

Until now, maintaining that data required either manual effort or a third-party app. It sounds like the new sync functionality may be inspired by the sync engine that handles the integration with Dynamics 365 CRM, but we’ll have to wait and see.

Intercompany Improvements

Business Central’s intercompany functionality has been around for a long time, but it was originally designed for a scenario where each company had its own accounting department. The workflow involved outboxes and inboxes — someone in Company A would send an intercompany transaction, and someone in Company B would receive it in their inbox and process it.

In reality, Erik has never seen that setup. What he consistently sees is the same accounting department handling all companies. The concept of sending something and then having to receive it yourself doesn’t work well — you’re essentially sending it to yourself, so why should you spend time accepting it? Users universally want to post in Company A and have it automatically get posted in Company B without additional manual steps.

The planned improvements include adding more document types, account types, and bank support, as well as improving end-to-end flows so that duplicate data doesn’t require manual attention.

Other Application Updates

  • Preview item journals before posting — We already have preview posting for general journals, so extending this to item journals is a welcome addition.
  • Shopify connector becomes extensible — When Microsoft originally added the Shopify connector, they made most objects non-extendable, essentially creating a black box. Their reasoning was that they might change things and didn’t want partners depending on unstable code. The fact that they’re now opening it up suggests they’re confident in the current design.

Country and Regional Localization

Swedish Localization Delivered as an Extension

This is a significant development. A similar change happened a couple of years ago with the Danish localization, though that was simpler since Business Central started as a Danish product and the difference between the worldwide (W1) version and Danish was minimal.

The ultimate vision — the “pipe dream” as Erik calls it — is for all localizations to be extensions that can be loaded onto the same database. Imagine being able to run one company with Swedish localization, another with Canadian, and another with Italian, all on the same tenant. While there are compatibility challenges that make this difficult, each localization converted to an extension is an important step in that direction.

Currently, Microsoft maintains separate base apps for each country — a base app for Sweden, another variation for other countries — creating what Erik describes as “some sort of unhealthy relationship” between the W1 base and country-specific versions. By turning localizations into extensions, Sweden would run on top of a true W1 with just the added customizations.

130+ Countries and Regions

Business Central Online is expanding to 130+ countries and regions, including some very specific territories like the Isle of Man and Jersey. Most of these new countries will likely receive the W1 version, though some territories might receive their parent country’s localization (e.g., Isle of Man possibly getting the UK version). With over 200 countries in the world, there’s still some way to go, but the coverage is expanding rapidly.

Development

AL Explorer and AL Home

The AL Explorer is a new feature in the Visual Studio Code AL extension that provides object navigation capabilities. This is similar in concept to existing community extensions — if you’ve seen Erik’s videos, he frequently uses the AceTYL extension to navigate objects. The AL Explorer will let you navigate your solution by objects rather than by files, go directly to source code, and bookmark frequently used objects for easy filtering.

AL Home is a startup page that shows relevant information when you open VS Code. Erik admits he tends to turn these kinds of pages off, but it’s a nice addition for those who use them.

Debugger Session Attachment

Back in the C/AL development days, developers could attach the debugger to a specific session or to the next session. That capability was lost in the transition to AL, and now it’s being restored. In a launch configuration, you can specify that you want to attach to a specific session ID that’s currently running, or attach to the next session from a specific user by specifying a user ID. This has been a clear gap, and it’s good to see it addressed.

Optimized Runtime Package Generation

Currently, generating runtime packages for app sharing is a painful process. If you support multiple versions (say, version 19 and up), you need to generate a separate runtime package for every single version. Erik describes his current workflow: a big script that spins up a container with version 19.0, imports the apps, exports them as runtime packages, then fires up a container with 19.1 and repeats the process, then 19.2, 19.3, and so on.

The new approach focuses on providing the ability to generate runtime packages with alc.exe (the AL compiler) instead of requiring a service tier. It won’t introduce a new cloud service for partners to manage — instead, it defines a standardized format for sharing runtime packages. The question remains whether you’ll still need the right set of symbols for each target version.

Add Action to Error Messages

This is an exciting AL language improvement. Developers will be able to add an action to an error info object, allowing users to take corrective action directly from error messages. For example, if you get an error saying “the lines are locked because the document has been released,” the error message could include a “Reopen Order” action right there.

There are some interesting questions about how this will work in practice — if you get an error in the middle of validation and then click the action, you presumably still need to restart the original action manually. But the user experience improvement is clear.

Control Database Locking Behavior

A new ReadIsolation attribute on records gives developers more granular control over database locking behavior. Previously, the runtime engine decided how to approach the database, with only limited options (like read uncommitted on reports). Now you can specify per-record:

  • Default — the current behavior
  • Read Uncommitted — access data that hasn’t been committed yet
  • Update Lock — ensures reads stay consistent for the life of the current transaction

This is more granular than the existing LockTable command, which has very specific behavior. Erik notes that a previous project where he was building inter-thread communication using read uncommitted would have been much simpler with this feature.

AL-Go for GitHub

Microsoft’s target for AL-Go for GitHub is to have “100 percent of the functionality needed by 90 percent of our partners.” Erik finds the very specific numbers amusing but sees it as a positive direction. Many of the issues from early versions have been resolved, and the Simple Object Designer now supports committing to an AL-Go controlled repository.

AppSource Preview Mode

Until now, the “preview” in AppSource was essentially a pointless display of the app listing with no way to actually test the app. The new capability allows publishers to put an app in preview mode and share a link with a custom flight code. Customers who opt into the preview can install and test the app in their environment and provide feedback. This would be particularly valuable for apps like the Simple Object Designer, where power users build complex solutions and early testing feedback is invaluable.

Governance and Administration

Auto-Updating Apps

Currently, apps only get updated by Microsoft during major updates (twice a year). The new App Management settings in the Admin Center will allow administrators to keep apps updated automatically, with an “update all” option as well. Erik considers this overdue — the app ecosystem has grown rapidly, possibly faster than even Microsoft expected.

Transfer Environments Between Azure AD Tenants

Moving a Business Central environment between Azure AD tenants has previously required contacting Microsoft support. Now it will be available as a self-service option. This is particularly relevant for business acquisitions where a company needs to move their Business Central to the acquiring company’s tenant.

User Experience Improvements

Add Existing Fields to Pages

One of the features of the Simple Object Designer is the ability to add any field to a page. It appears Microsoft has been inspired by this approach — users will now be able to add existing fields to pages through personalization. There are open questions about how this will work (whether admin privileges are required, whether read-only fields are handled appropriately), but it’s an interesting development.

Drag and Drop File Upload

The file upload dialog has been enhanced with a drag and drop area. However, you still need to click the upload button first and then drag the file onto the dialog. Erik notes this seems like an incomplete solution — his SharePoint Connector app, for example, allows users to drag files directly onto a FactBox without any intermediate dialog.

Keyboard Accessibility

Keyboard navigation for actions and navigation menus is being improved. Business Central has had accessibility challenges, particularly for users who have difficulty operating a mouse. Better keyboard support is an important improvement.

Modern Action Bar on All Pages

In 2022 Wave 2, the modern action bar was introduced on the 180 most-used pages. Now it’s being extended to all application pages.

Actionable Error Messages in Select Areas

Tying back to the developer feature for adding actions to error messages, Microsoft is implementing this in select application areas. The example shows an error like “The lines are locked because this has been released” with a “Reopen order” button directly in the error message.

Personalize Document Line Action Bars

The action bar above document lines (on sub-pages) has been somewhat rigid and hard to customize. Now users will be able to personalize it, similar to how they personalize other parts of the interface.

Readable Hyperlinks

Business Central is improving how links are generated and displayed. When you copy a link to a Business Central page and paste it into a rich text editor (Teams, Outlook, etc.), it will display a meaningful hyperlink with a proper title that’s consistent regardless of how or where you copy the link.

Improved Tooltips

Tooltips are getting a refresh with support for rich text formatting including bold and italic text, making them easier to read and understand. This likely involves changes on both the platform and development sides.

Summary

Business Central 2023 Wave 1 brings a broad set of improvements across the platform. The standout features include business events for Power Platform integration, master data sync across companies, intercompany improvements, Swedish localization as an extension (moving toward the vision of all localizations as extensions), AL Explorer in VS Code, actionable error messages, granular database locking control, and AppSource preview mode. While the application-side changes may feel less dramatic, the development and platform improvements are substantial. This list is expected to grow as Microsoft finalizes the release — keep an eye on the official release plans page for updates.