What’s planned for Business Central 2025 Wave 1, aka BC26

It’s that time of the year again. Microsoft has lifted the veil for what’s coming in Business Central 2025 Wave 1 in April. As usual, I’ll take you through most of the list and discuss what’s hot. Check out the video:

https://youtu.be/MV0XjmV_izU


In this video, Erik walks through the official Microsoft release plan for Business Central 2025 Wave 1 (also known as BC26, runtime 15.0), and then digs into the Visual Studio Code pre-release AL extension to uncover additional features that didn’t make it onto the official list. The result is a comprehensive overview of what’s coming — from application improvements and Copilot features to exciting developer tooling updates.

Understanding the Release Naming

Before diving in, it’s worth clarifying the naming: this release goes by several names — Business Central 2025 Wave 1, BC version 26, or runtime 15. The official label is “2025 Wave 1.” Remember that a “wave” doesn’t mean everything ships on April 1st. It describes what will roll out over the following six months. In fact, some features from the previous wave are still being dripped into production environments.

Application Improvements

The first section of the release plan covers application features:

  • Integrate Field Service with Service Management — In a previous release, we got Field Service integration with the Projects module (formerly Jobs). Now it extends to the Service module, which makes a lot of sense.
  • View item availability in Field Service work orders — A natural extension of the Field Service integration.
  • Analyze subscription billing data with Power BI reports — Since the subscription billing module arrived in BC25, Power BI reporting on that data is a logical next step.
  • Post foreign currency adjustments to unrealized gain and loss accounts — When adjusting currency exchange rates for bank accounts, you can now choose to post adjustments to realized and unrealized gain/loss accounts. This option is available on the bank account card’s posting FastTab.

Copilot and AI

Erik noted that this section seems surprisingly short, suggesting Microsoft may be holding back announcements:

  • Chat with Copilot to learn how to use installed add-on apps — Copilot may look at the URLs supplied with apps to learn about partner extensions. This could position the built-in chat as a competitor to Sensor Q, which already knows about apps.
  • Summarize with Copilot — A new summary FactBox displayed on cards and document pages (such as sales orders, items, and custom pages) that summarizes the record by displaying the top three most impactful insights. Erik considers this a good use of current AI technology.
  • Use Sales Order Agent to automate sales order taking — This was already shown previously and is in a very closed beta. It spans both the current and next wave.
  • Suggest gas emissions in sustainability journals with Copilot — Relevant for regions where the sustainability module is in use.
  • Enhance purchase order line matching with Copilot — The e-document feature plays a key role in automating invoice processing, and Copilot can improve the mapping and matching of vendor invoices to purchase orders. Erik considers this a great Copilot use case.

Country and Regional

  • Use PEPPOL (ANZ format) in Australia/New Zealand — A targeted regional improvement.
  • Define allowed languages per environment — Currently, users can add languages freely, which can result in a half-translated Business Central experience. Administrators can now use a new “Allowed Languages” page to define which languages appear when users select their language, avoiding the awkward half-and-half scenario.

Development

This is the section many developers care most about. While the official list is limited, the pre-release AL extension reveals much more (covered in the next section).

  • Move tables and fields with data across extensions — Previously available only for first-party Microsoft extensions (and on-premises), this release opens the capability to partners. This is a huge deal for cleaning up legacy scenarios where an old extension still holds table data from a previous partner or project.
  • Troubleshoot client apps and add-ins with telemetry — Client add-ins (JavaScript) have been a black box. Now the Business Central client emits a telemetry event when an exception occurs in a client add-in.
  • Mock outbound HTTP client web service calls during testing — Testing connected services has always been painful. You can now create an HTTP client handler function that intercepts the parameters of a call and returns whatever you want, eliminating the need to set up the entire service chain for tests.
  • View build metadata in Extension Management page — See when an app was compiled and other build metadata directly in the application.
  • Embed Power BI content in web client with a new page type — A lightweight container for embedding Power BI reports inside your app, with a slim UI and navigation between report pages.

E-Commerce

This section is actually one of the longest, with substantial updates to the Shopify integration and the e-document module. Erik appreciates that Microsoft continues to invest in these areas rather than abandoning them after the initial release — a pattern he’s seen too often with other Microsoft products like Paint 3D or the Windows video editor.

Governance and Administration

  • Add support for multi-subnet failover — An on-premises feature for customers running databases with high availability, enabling faster failover between sites.
  • View app compatibility with future versions in Admin Center — Compatibility notification information (previously only sent via email) is now captured in the Admin Center.
  • Update sandbox environments to preview versions — Currently, preview versions are very isolated. Now you can preview the upgrade on your own sandbox with your own data, rather than only getting the Cronus demo company. Erik is particularly excited about this one.
  • Automated environment management with Power Platform connector — Create BC environments from the Power Platform using the Business Central Admin Center API connector.

Reporting and Data Analysis

  • Use enhanced analysis for manufacturing — More built-in analytics capabilities.
  • Access report and request metadata in Word layouts — Similar to Excel layouts, you can now access report and request metadata without encoding it in the report dataset.
  • Enhanced financial reporting capabilities — The old Account Schedules module (now renamed to Financial Reporting) continues to get love: hide empty rows, Excel templating, scheduled report runs, and a new month-to-date column type. Erik notes he’s now in an “arms race” with Microsoft since his own Advanced Financial Reporting app adds similar functionality.

Supply Chain Management

  • Enhanced customer document layouts for service management
  • Additional columns on various pages
  • Block items and variants from production output
  • Avoid document number errors when posting journal/project journals
  • Handle production output with warehouse put-away
  • Streamlined product design tools in manufacturing — Despite the exciting name, this is more about quality-of-life improvements: multi-select when adding items to production BOMs, go to actual production BOM version from item card, and manage document attachments in manufacturing.

User Experience

  • Preview PDF attachments directly in the web client — Something many developers (including Erik) have built custom solutions for. Long overdue as a built-in feature.
  • Optimize screen real estate on the web — Default narrow mode improvements, optimized sizing and animation of the FactBox pane, and an option to resize the FactBox pane (and remember the choice). Erik notes that BC currently wastes a lot of screen real estate, especially on the sides.

Hidden Gems: What the Pre-Release AL Extension Reveals

By switching the AL extension in Visual Studio Code to pre-release mode (targeting runtime 15.0 and application 26.0.0.0), Erik uncovered several features not listed in the official release plan:

New Page Type: UserControlHost

A new page type called UserControlHost that renders only a single user control, with the layout optimized by the client to maximize available space. Here’s an example from the source code:

page 50100 "test"
{
    PageType = UserControlHost;
    layout
    {
        area(Content)
        {
            usercontrol(web; WebPageViewer)
            {
                trigger ControlAddInReady(CallbackUrl: Text)
                begin
                    this.CurrPage.web.Navigate('https://www.hougaard.com');
                end;
            }
        }
    }
}

This is a much-needed addition for scenarios where you want a full-screen user control without the usual page chrome.

Multi-Line Strings

An @ sign in front of the opening single quote creates a multi-line string. The exact line feed character definition (CR+LF vs. LF only) remains to be confirmed.

Continue Statement

From runtime version 15, you can use the continue keyword in loops to skip to the next iteration — similar to how CurrReport.Skip works in reports, but for general loop constructs like for loops.

File Preview Support

New methods to open and view a file on the client (e.g., ViewFromStream). This is the underlying functionality for the PDF preview feature mentioned in the official list.

New JSON Access Methods

Improved API for accessing JSON data without always reading through a JSON token. Methods like getting a key directly as text, decimal, date, etc. are now built in — something virtually every AL developer has built helper functions for. Erik notes a missed opportunity: types like Date Formula and GUID are still not included.

The same improvements apply to JSON objects and JSON arrays.

YAML Support

JSON objects now support reading from and writing to YAML format via ReadFromYaml (string or stream) and writing out as YAML.

New VS Code Command: New Project from Template

A new command al.newProjectFrom makes it possible to start a new project from a template.

Increment String Method Overload

A new overload for the IncStr method supports an arbitrary positive increment, allowing you to increment number series by more than one position in one go (e.g., “I need 10 numbers”).

New VS Code Actions from the Web Client

Two new actions on the Extension Management page let you generate a launch configuration in your local AL project to match the environment, and select installed extensions to download as dependencies.

Reporting Improvements

  • Added obsolete state, obsolete reason, and obsolete tag to report layouts
  • Excel layout multiple data sheets support for report layouts
  • Add new Excel data sheet when adding root level elements

The app.json Configuration

Notice the runtime and application version targeting for BC26:

{
  "id": "a200c67e-58ec-4b14-84c9-4f3a621ca557",
  "name": "WhatsNewInBC26",
  "publisher": "Default Publisher",
  "version": "1.0.0.0",
  "platform": "1.0.0.0",
  "application": "26.0.0.0",
  "idRanges": [
    {
      "from": 50100,
      "to": 50149
    }
  ],
  "runtime": "15.0",
  "features": [
    "NoImplicitWith"
  ]
}

Summary

BC26 brings a solid set of improvements across the board. The application side gets continued love for manufacturing, financial reporting, and service management. Copilot features feel underwhelming on paper, but Erik suspects Microsoft is holding back announcements. The real excitement for developers lies in features not yet on the official list: the UserControlHost page type, multi-line strings, the continue statement, improved JSON access methods, YAML support, the ability to move tables across partner extensions, and HTTP mocking for tests. Keep an eye on the release plan page as it gets updated, and expect more Copilot announcements before the April 1st release date.