Enable and configure virtual entities in Microsoft Dynamics 365 F&O
How to enable virtual entities so D365 F&O data is available live in Dataverse and Power Platform without copying it. Prerequisites, steps and a check in Power Apps.

A virtual entity is a table in Dataverse that holds no data of its own. Every row it shows is read from Dynamics 365 Finance and Operations (F&O) when it is requested. Apps and flows in Power Platform can then work with F&O data through that table.
If you are still choosing between virtual entities and Dual-write, read the comparison first. This post is the setup itself. It covers what has to be in place, how to make an entity visible in Dataverse, how to check the result in Power Apps and how to refresh or remove the virtual entity later.
Why use virtual entities?
- Real-time access. You see the data as it is in F&O right now.
- No data duplication. The data is stored only in F&O, so you do not pay to store it a second time in Dataverse.
- Simpler development. There is no synchronization to set up or maintain.
- Read and write access. You can create, read, update and delete F&O records directly from Dataverse and Power Platform apps.
Virtual entities also have a price. Every request waits for F&O to respond, every signed-in user must also exist in F&O and several Dataverse features do not work on virtual entities. The comparison has the full list under What virtual entities cost you.
Before you start
Check a few things first:
- The F&O environment must be linked to a Dataverse environment through the Power Platform integration. Microsoft has required that link for every sandbox and production environment since 1 May 2025, so it is normally already in place.
- The link also configures virtual entities. If Available Finance and Operations Entities is missing later in Advanced Find, open the environment in the Power Platform admin center and check under Resources > Dynamics 365 apps that the Finance and Operations Virtual Entity solution is installed.
- On a cloud-hosted dev box the link is not a supported option. Microsoft has deprecated the Power Platform integration for cloud-hosted environments and recommends a sandbox or a unified developer environment instead.
- Both environments must be in the same Microsoft Entra tenant.
- In the Dataverse environment the System Administrator role is enough. You also need a user in F&O with a security role that can read the entity, because F&O runs each request under that user.
Enable virtual entities in Dataverse
-
Open the Power Platform admin center, select Manage in the menu on the left and then Environments. The screenshot below and the one after it show the classic admin center, where Environments was directly in the menu.

-
Choose the environment that is linked to your F&O environment. If you are not sure which one it is, open each candidate and look at the Details section. The linked environment shows the URL of the F&O environment there.

-
Click the Environment URL in the Details section to open the environment.
-
In the top right corner, click the gear icon and select Advanced Settings. This opens the Power Platform Environment Settings app.
-
In that app, click the Advanced Find filter icon in the top bar. The legacy Advanced Find opens in a separate window. Microsoft has deprecated it but still uses it in its own steps for virtual entities. If it does not open in your environment, the same records are also in Power Apps under Tables, in the table Available Finance and Operations Entity.

-
From the Look for dropdown, select Available Finance and Operations Entities. Add a filter to narrow the list, for example Name equals
LedgerJournalHeaderEntityas in the screenshot below. Name is the name of the data entity in Visual Studio. It is not the label and it can differ from the public name that OData uses. Then click Results.
-
Find and open the entity that you want to enable. The list holds the data entities that have Is Public set to Yes, the same ones OData exposes. If your own entity is missing, check that property first.

-
Check the Visible box and save your changes. Saving generates the virtual entity in Dataverse from the definition the data entity has at that moment. Fields of a few data types, for example Guid, Time and Container, are not supported and are left out.

Check the result in Power Apps
-
Sign in to Power Apps and select the same environment in the environment picker.
-
Select Tables in the menu on the left and switch the filter above the list to All.
-
Type the entity name in the search box. The table that comes back has a display name that ends with (mserp), a name that starts with
mserp_and the type Virtual.LedgerJournalHeaderEntityfrom the screenshots shows up as Ledger journal table (mserp).
-
Open the table. A change made in F&O shows up as soon as you reload the table. If you get an error instead of rows, check your F&O user and its security role first.
After the setup
- Give other people access. When an entity is made visible, Dataverse grants the privileges on the new table to the security role Finance and Operations Basic User. In a linked environment users normally get that role automatically. If someone cannot open the table, check that they have it.
- Refresh after a change in F&O. After a change to the data entity, for example a new field, the virtual entity in Dataverse can still have the old columns. Open the record of the entity again as in steps 1 to 7 under Enable virtual entities in Dataverse, turn on Refresh directly under Visible and save. Dataverse then reads the current definition from F&O. Current versions of F&O can also start this refresh on their own after a package deployment. If the new column still does not show up, do the step by hand.
- Remove a virtual entity. A virtual entity belongs to a managed solution, so you cannot delete it in Power Apps. Clear Visible on the same record and save instead.
- Make the entity visible in other environments. The Visible setting is saved in this one Dataverse environment. Test and production need it too. Repeat the steps there or add the virtual entity to your own Dataverse solution with Add existing > Table. When that solution is imported into an environment where the entity is not visible yet, Dataverse makes it visible during the import. That works only for entities the linked F&O environment already has, so deploy the F&O package with a new data entity before you import the solution. For your own data entities Microsoft documents a third way. With the metadata property
Dataverse.AutoCreateset to Yes, a batch job in F&O creates the virtual entity in the linked Dataverse environment after the package is deployed.
Final thoughts
Making an entity visible takes a few minutes. The harder part is deciding which entities your apps and flows need. If a Dataverse app needs its own copy of the data, that is a job for Dual-write. Its setup is in part 4 of this series.
Virtual entities are not built for reporting, because every query is a live call to F&O. If you want F&O data in Microsoft Fabric or need a replacement for BYOD (bring your own database), use Link to Microsoft Fabric or Azure Synapse Link for Dataverse. Both take F&O tables directly. If you want to export a data entity instead of tables, the entity has to be visible as described above. It then also needs row version change tracking, which not every entity supports. I write about both services in F&O integration patterns.
Have you already used virtual entities in a project? Let me know on LinkedIn or through the contact page.
Links
- https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/power-platform/virtual-entities-overview
- https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/power-platform/enable-virtual-entities
- https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/power-platform/admin-reference
- https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/power-platform/enable-power-platform-integration
- https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/power-platform/faq
- https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/power-platform/authentication-and-authorization
- https://learn.microsoft.com/en-us/power-apps/user/advanced-find
- https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/power-platform/entity-modeling
- https://learn.microsoft.com/en-us/power-platform/admin/assign-security-roles
- https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/power-platform/virtual-entities-auto-create-auto-refresh
- https://learn.microsoft.com/en-us/dynamics365/fin-ops-core/dev-itpro/power-platform/application-lifecycle-management
- https://learn.microsoft.com/en-us/power-apps/maker/data-platform/azure-synapse-link-select-fno-data


