Business Central Virtual Table for Microsoft Dataverse Admin Reference

PREVIEW: This feature is in preview.


This functionality requires version 17 or later of Business Central online while service update 189 is required for Microsoft Dataverse. The release information for Microsoft Dataverse is published on the latest version availability page.

This article provides step-by-step instructions on how to set up and configure virtual tables for Business Central in Microsoft Dataverse.

Getting the solution

First get the Business Central Virtual Entity solution from AppSource.

The following solutions are installed in Microsoft Dataverse once the Business Central virtual tables are installed from AppSource.

  • Dynamics365Company - This adds the cdm_company table, which is referenced by all Business Central virtual tables. All communication to Business Central requires the company ID in the request.
  • MicrosoftBusinessCentralVESupport - This provides the core support for the Business Central virtual table feature.
  • MicrosoftBusinessCentralERPCatalog - This provides a list of available tables, including ones based on custom APIs, in a Business Central instance.
  • MicrosoftBusinessCentralVEAnchor - This serves as a container, holding information needed for AppSource.
  • MicrosoftBusinessCentralERPVE - Virtual tables generated for Business Central will be contained in this solution. Tables are added automatically at runtime once they're made visible in the MicrosoftBusinessCentralERPCatalog.

Authentication and authorization

After the solutions are installed in the Microsoft Dataverse environment, connection can be set up to a Business Central environment. Both environments have to be in the same tenant.

The next step in the process is to provide Microsoft Dataverse with the Business Central environment and company to connect to. The following steps walk through this part of the process.

  1. In Business Central, go to the page 'AAD Applications' and toggle the app 'Dynamics 365 Business Central for Virtual tables' to Enabled. This will allow Microsoft Dataverse to communicate with Business Central.

  2. In Microsoft Dataverse, go to the table Business Central Virtual Data Source Configuration.

  3. Select and edit the data source named “Business Central”.

  4. On the Business Central Virtual Data Source Configuration, set the environment name. Unless changed, Business Central tenants will have a default environment called 'production'.

  5. Save changes before setting Default Company. Else, company can't be set in the next step.

  6. Set the Default Company value.

  7. Save the changes.

Making virtual tables visible

Due to the large number of OData enabled tables available in Business Central, by default, the tables are not available as virtual tables in Microsoft Dataverse. The following steps allow for enabling tables to be virtual, as needed.

  1. In Microsoft Dataverse, go to Data -> Tables and search for Available Business Central table. Make sure to search for All and not just Default.

  2. Choose Data in the horizontal menu to view the available data.

  3. Locate and edit the table that you want to enable. The list also contains tables based on custom APIs.

  4. Set Visible to Checked and save. This will generate the virtual table in the MicrosoftBusinessCentralERPVE solution.

Selected table will appear in all of the appropriate menus, including Data -> Tables, and in advanced find dialog box.

Refreshing virtual table metadata

The virtual table metadata can be force-refreshed when it's expected for the table metadata in Business Central to have changed. This can be done by setting Refresh to Checked and saving. This will sync the latest table definition from Business Central to Microsoft Dataverse and update the virtual table.

Referencing virtual tables

The virtual tables are all generated in the MicrosoftBusinessCentralERPVE solution. That means the items in the solution change as you make tables visible/hidden, but it's still a managed solution that you can take dependency on. The standard ALM flow would be to just take a standard reference to a virtual table from this solution with the Add existing option in the ISV solution. It will then show as a missing dependency of the solution and be checked at solution import time. During import if a specified virtual table doesn't yet exist, it would automatically be made visible without needing extra work.

To consume virtual tables:

  1. Create a separate solution as usual in Microsoft Dataverse, which will contain the consuming logic.

  2. Select tables > Add Existing. Select the virtual table that you want to reference from the list.

  3. When prompted to select assets to add, select any forms, views, or other elements that you want to customize, then select Finish.

From the development tooling, existing elements such as forms can be modified for the virtual table. Additionally, new forms, views, and other elements can also be added.

When the solution is exported, it will contain hard dependencies on the virtual table generated in the MicrosoftBusinessCentralVE solution.

See Also

Microsoft Power Platform Integration with Business Central
Table Modeling
Application Lifecycle Management for Solutions that use Virtual tables