How to Integrate Business Central with Dataverse: Complete Guide
Connecting Microsoft Dynamics 365 Business Central with Dataverse gives you a single, consistent view of your business data across applications. You...

Connecting Microsoft Dynamics 365 Business Central with Dataverse gives you a single, consistent view of your business data across applications. You integrate Business Central with Dataverse by setting up a secure connection, mapping tables, and enabling data synchronization. This lets sales, finance, and operations teams work from the same, up-to-date information without manual data entry.
With the built-in connection tools in Business Central and Dataverse, you can configure synchronization for standard or custom tables, choose between one-way or two-way data flow, and connect to other Dynamics 365 apps like Sales. This creates a foundation for automation, reporting, and unified business processes.
When set up correctly, the integration becomes a bridge between your ERP and the Microsoft Power Platform. You can then use Power Apps, Power Automate, and advanced analytics to make faster, data-driven decisions. This integration helps your systems work together so you can focus on running the business instead of managing disconnected data.
Key Takeaways
Integration creates a unified data environment across applications
Proper setup ensures accurate and secure data synchronization
Connected systems enable automation and better decision-making
Understanding Business Central and Dataverse Integration
Connecting Business Central with Microsoft Dataverse helps unify information, reduce duplicate records, and enable real-time access across the Microsoft ecosystem. This approach eliminates data silos and supports a single source of truth.
What Is Microsoft Dataverse?
Microsoft Dataverse is a secure, cloud-based data platform in the Power Platform. It stores business data in a standardized format, making it easier to share across Dynamics 365 applications like Sales, Customer Service, and Field Service.
Dataverse uses a common data model, so entities like accounts, contacts, and products are consistent across applications. This reduces integration complexity and improves reporting accuracy.
Dataverse supports role-based security, field-level permissions, and compliance with industry standards. It also integrates directly with tools like Power BI, Power Apps, and Power Automate for analytics, custom app development, and workflow automation.
How Business Central Connects with Dataverse
Business Central connects to Dataverse through built-in integration options provided by Microsoft. These include:
Integration TypeDescriptionData StorageData SynchronizationReplicates data between systems in near real-timeStored in both systemsVirtual TablesDisplays Business Central data in Dataverse without copying itStored only in Business CentralData Change EventsUses webhooks to trigger actions when data changesEvent-drivenBusiness EventsSends notifications to Dataverse for specific business actionsEvent-driven
You can choose one-way or two-way sync depending on your needs. For example, customer records may sync both ways, while financial transactions remain in Business Central only.
This flexibility lets you design integrations that meet operational needs without overloading storage or creating unnecessary complexity.
Benefits of Integration for Dynamics 365 Applications
Integrating Business Central with Dataverse delivers connected experiences across Dynamics 365 applications. Sales teams can see up-to-date invoice data in Dynamics 365 Sales. Customer service agents can view order histories without leaving their app.
With data in Dataverse, you can create Power BI dashboards that combine ERP and CRM data in one view. This supports better forecasting, performance tracking, and decision-making.
Integration also reduces manual data entry. Staff can update customer information once, and it’s accurate everywhere. This saves time and lowers the risk of errors.
By removing data silos and maintaining a single source of truth, organizations work more efficiently and respond faster to customer needs.
Choosing the Right Integration Approach
When integrating Dynamics 365 Business Central with Microsoft Dataverse, it’s important to consider how data will be accessed, stored, and kept consistent. The choice affects system performance, user experience, and control over your business data.
Virtual Tables vs. Data Synchronization
Virtual tables are best when you need real-time access to Business Central data inside Dataverse without storing duplicate records. Virtual tables use the Business Central API, so changes happen instantly and remain in Business Central. This avoids storage costs in Dataverse and keeps a single source of truth.
Data synchronization copies data between the two systems. This can be one-way or two-way and is useful when you need offline access, reporting in Dataverse, or integration with apps that require stored data. However, you must manage data consistency across systems.
Here’s a quick comparison:
FeatureVirtual TablesData SynchronizationData StorageOnly in BCIn BC and DataverseReal-Time UpdatesYesNear Real-TimeOffline AvailabilityNoYesStorage Costs in DataverseNoneYes
For setup guidance, Microsoft provides an overview of virtual tables and synchronization.
Key Considerations for Your Business
Start by defining the business goal. If your sales team needs live inventory data inside a Dataverse-based app, virtual tables are a good fit. If your analytics team needs historical data for Power BI reports, synchronization is better.
Consider data consistency requirements. Synchronization can introduce delays between updates, so plan for scenarios where data might be slightly out of date. Virtual tables avoid this but depend on Business Central’s availability and API performance.
Licensing is also important. Some Dataverse storage tiers can get expensive if you synchronize large datasets. Virtual tables help avoid this, but they limit advanced Dataverse features that require stored data.
Performance Concerns and Data Ownership
Virtual tables rely on live API calls, so heavy queries can slow down if Business Central is under load. Limit the number of records retrieved and avoid unnecessary joins in Dataverse views to optimize performance.
With synchronization, performance concerns shift to the sync process. Large data sets or frequent updates can impact both systems, so schedule sync jobs during low-traffic hours when possible.
Data ownership is key. With virtual tables, Business Central remains the system of record. With synchronization, both systems hold copies, so you need clear rules on which system is the master for each data type.
Document these rules early to avoid confusion and ensure your integration supports daily operations.
Setting Up the Dataverse Connection in Business Central
A stable, secure, and compliant Dataverse connection is essential. Confirm the right licenses, prepare the environment, and choose the most efficient setup method for the integration. Each step affects how well Business Central and Dataverse share and protect data.
Prerequisites and Licensing Requirements
Before starting, make sure your Business Central environment and Dataverse environment are active and accessible. Both must be in the same Microsoft 365 tenant unless you have cross-tenant permissions.
Licensing is critical. Users who need Dataverse data through Business Central must have the correct Dynamics 365 or Power Apps license.
Verify role-based access control. Your administrator account must have the System Administrator role in Dataverse and admin rights in Business Central. If the Dataverse environment is in Administration mode, disable it to prevent connection failures.
Gather the environment URL, admin credentials, and any currency setup details if multi-currency integration is planned. Microsoft provides a clear breakdown of these steps in their Dataverse connection setup guide.
Using Assisted Setup for Integration
For speed and reduced manual input, use the Assisted Setup tool in Business Central. This wizard guides you through authentication, environment selection, and optional initial synchronization.
Start by choosing Set up a connection to Microsoft Dataverse from the Assisted Setup menu. Sign in with your admin account, grant permissions, and confirm the ownership model—either team-based or individual user ownership for new records.
If you enable initial synchronization, the wizard reviews existing data in both systems and recommends actions to prevent duplicate records. This ensures the Business Central API handles data consistently.
This method is best for first-time integration or when you want the system to automatically detect and map available environments.
Manual Configuration and Environment Preparation
Manual setup gives you full control over every integration parameter. Access the Dataverse Connection Setup page, enter the environment URL, choose the ownership model, and enable the connection when ready.
Always test the connection before saving changes. If encryption isn’t enabled, activate it to protect sensitive data.
For multi-currency scenarios, align the base transaction currency in Dataverse with the currency code in Business Central. Ensure exchange rates are defined in the Currency Exchange Rates page.
For cross-tenant integrations, enter the admin credentials for the target environment. This ensures Business Central can link to the correct Dataverse instance.
This approach is ideal when you want to fine-tune integration settings or when assisted setup isn’t available.
Implementing Virtual Tables Integration
Business Central and Dataverse can work together without duplicating data. Using virtual tables lets you surface live Business Central data directly in the Power Platform while keeping the system of record intact. This supports full CRUD operations and enables building responsive apps and automated workflows.
Enabling and Configuring Virtual Tables
I start by enabling the Business Central API endpoints that will be exposed as virtual tables. These APIs are defined through API Pages in AL and connect to Dataverse.
Once the APIs are ready, I use the AL Table Proxy Generator to create the table proxy objects. These proxies map Business Central tables to Dataverse virtual tables.
In Dataverse, I install the Business Central Virtual Table solution. This package registers the connection and makes the API-based tables appear as native Dataverse tables.
Key steps:
Verify API pages are published and accessible.
Generate table proxies using Visual Studio Code.
Deploy and publish the proxies in Business Central.
Configure the Dataverse connection in the Power Platform admin center.
After setup, I can see the virtual tables in Dataverse without data replication.
Managing Table Visibility and Data Access
I control which tables are visible in Dataverse at the table object level in Business Central and through security roles in Dataverse.
If a table should not be exposed, I remove its API page or restrict its publication. In Dataverse, I set permissions so only authorized users can access the table.
For example, I might expose the Customer table but hide internal ledger tables to protect sensitive data while enabling app makers to use approved entities.
Access control methods:
Business Central permission sets
Dataverse security roles
Field-level security for sensitive columns
Customizing Virtual Table Experiences
After the tables are available, I tailor the experience for Power Apps and Power Automate users. Virtual tables behave like native tables in Dataverse, so I can add forms, views, and business rules without affecting the source data in Business Central.
I might create a simple form for sales reps that shows only key customer fields, or design a Power Automate flow that triggers on a Create event in a virtual table to send alerts or update related records.
When customizing, I ensure all changes match the underlying Business Central schema. I avoid adding unsupported fields directly and extend the AL table structure if needed.
By combining Power Platform tools with virtual tables, I deliver solutions that are responsive and maintainable.
Implementing Data Synchronization Integration
When I set up Business Central and Dataverse integration, I focus on how data moves, how it’s mapped, and how it’s maintained. Proper configuration ensures accurate records and keeps CRM and ERP processes aligned.
One-Way and Two-Way Synchronization Options
I choose one-way or two-way synchronization based on the business process.
In a one-way sync, data flows in a single direction. For example, I might push customer records from Business Central to Dataverse but not allow updates to flow back.
Two-way sync allows updates in either system to replicate in the other. This is useful when both finance and sales teams need to update the same records.
I use FromIntegration and ToIntegration settings in the integration table mapping to control direction per table. If I need more control, I use table filters to limit which records synchronize.
Table Mapping and Data Transformation
Table mapping defines how Business Central tables connect to Dataverse tables. For example, Customer maps to Account and Vendor maps to Account with a vendor filter.
I review the Integration Table Mappings page to confirm field-level mappings. Here I can apply data transformation rules—like adding prefixes to IDs or converting field formats—for compatibility.
Example mapping:
Business Central TableDataverse TableDirectionFilter ConditionCustomerAccountBidirectionalStatus = Active, Not BlockedSalesperson/PurchaserUserToIntegrationLicensed = Yes, Integration Mode=No
To reset or troubleshoot, I can use Use Default Synchronization Setup to restore standard mappings.
Handling Custom Tables and Integration Table Mappings
For custom tables not in the standard mapping, I create a new integration table and define its mapping and coupling rules.
If the table needs unique filters or special handling, I adjust the integration table mappings. For example, I might couple a custom “Project” table in Business Central to a custom “Project” entity in Dataverse.
With multiple companies, I enable Multi-Company Synchronization and set company IDs to prevent cross-company data issues. I ensure number series are unique by using transformation rules.
Monitoring Synchronization and Troubleshooting
I monitor sync jobs through the Job Queue Entries in Business Central. Scheduled jobs keep data updated, and I can also run a sync on demand.
For issues, I check the Integration Synchronization Log to see failed records, reasons, and timestamps. If a mapping is wrong, I update the field mapping and re-run the job.
I use PowerShell scripts for bulk fixes or to automate troubleshooting. When performance is a concern, I consider scheduled sync or virtual tables for real-time read access without data duplication.
Leveraging Integrated Data Across Microsoft Power Platform
Connecting Business Central with Dataverse lets me work with real-time data across Microsoft Power Platform tools. This streamlines data entry and ensures that Dynamics 365 Sales, finance, and operations teams stay aligned.
Building Apps with Power Apps
I use Power Apps to create custom business applications that read and write data directly from Dataverse. Because Business Central data is synced, I can build apps for order tracking, expense submission, or inventory updates without duplicating records.
With the Business Central connector, I can easily access tables such as customers, vendors, or sales orders.
I design canvas apps for mobile users and model-driven apps for teams that need a structured interface. Both types let me enforce data validation rules from Dataverse.
By integrating with Dynamics 365 Sales, sales reps can see account details, open invoices, and recent orders in one app.
Automating Workflows with Power Automate
Power Automate helps reduce repetitive work by creating flows that act on Business Central data in Dataverse. For example, when a new sales order is posted, I can trigger an approval request, send an email, and update a related record in Dynamics 365 Sales.
The Business Central connector supports actions like creating, updating, or retrieving records. This makes it easier to manage processes such as invoice reminders or vendor onboarding.
I use conditional logic in flows to handle exceptions. If a purchase order exceeds a set amount, the flow routes it to a manager for review.
For advanced scenarios, I use Azure Logic Apps, which works similarly but offers more deployment control.
Enhancing Analytics with Power BI
With Power BI, I can visualize Business Central data from Dataverse without exporting spreadsheets. I connect Power BI directly to Dataverse tables or use the Power BI integration with Business Central via OData feeds.
This lets me create dashboards that combine operational data from Business Central with sales data from Dynamics 365 Sales. For example, I can track revenue trends and customer engagement in one report.
I often embed these reports directly into the Business Central client so users can see insights without leaving their workspace. Developers can also embed them programmatically using AL for tailored layouts.
By keeping analytics tied to live Dataverse data, reports always reflect current business activity and help teams make faster decisions.
Frequently Asked Questions
When I integrate Business Central with Dataverse, I focus on accurate entity mapping, reliable synchronization, and secure authentication.
I also make sure virtual tables are configured correctly and that the integration works smoothly with Power Apps and the rest of the Power Platform.
What are the best practices for mapping entities between Business Central and Dataverse?
I review the standard integration table mappings provided by Microsoft.
If a table is missing, I extend the mapping in AL code or create a custom mapping through the Dataverse Connection Setup.
I only map necessary fields to reduce complexity and improve performance.
How can I automate data synchronization between Dynamics 365 Sales and Business Central?
I use the built-in data sync feature in Business Central’s assisted setup for Dataverse. This lets me schedule near real-time synchronization in one or both directions. For more control, I configure data synchronization between Business Central and Dataverse to run at intervals that match business needs.
What steps are involved in customizing virtual tables for integration with Business Central?
I enable virtual tables in Dataverse and connect them to Business Central APIs using API pages.
Then I adjust the schema in Dataverse to match the fields and data types I need.
With this setup, I can read and write live data from Business Central without storing it in Dataverse.
Can you detail the process for setting up an application user in Business Central for Dataverse integration?
I create the application user in Azure Active Directory.
Then I assign the correct permissions in Business Central, usually through a dedicated permission set for Dataverse integration.
Finally, I register the app in Dataverse and link it to the Business Central environment.
What is the role of Power Apps when integrating Business Central with other Dynamics 365 applications?
Power Apps lets me build custom apps that use Business Central data alongside other sources in Dataverse.
This makes it possible to create targeted user experiences without duplicating data.
I often combine it with Power Automate to trigger workflows based on Business Central events.
How do I ensure seamless data flow between Business Central and the Power Platform?
I check that the Dataverse connection works and that all necessary tables and fields are mapped. I test basic create, read, update, and delete (CRUD) actions on virtual tables to make sure changes save in Business Central. When needed, I use business events and webhooks to send updates instantly to the Power Platform.


