HomeBlogAI, Copilot & FabricMicrosoft Partner · Charlottesville, VA
AI, Copilot & Fabric

Integrate Business Central with Dataverse

You connect Business Central to Dataverse using the Dataverse Connection Setup (assisted setup or manual), then choose either data sync (copies data on a...

Dynamics 365 GroupFebruary 10, 20266 min read← All posts
Integrate Business Central with Dataverse

Title: Integrate Business Central with Dataverse

TL;DR: You connect Business Central to Dataverse using the Dataverse Connection Setup (assisted setup or manual), then choose either data sync (copies data on a schedule) or virtual tables (live access without copying). Start with standard table mappings, couple records, and schedule jobs. Use virtual tables when you need live read/write in Dataverse without duplication. Sources: Microsoft Learn (linked below).

What You’ll Get From This Integration

Business Central integrates with Dataverse to share customers, contacts, currencies, and more so apps built on Dataverse (including Dynamics 365 apps and Power Platform) can use ERP data. You can synchronize selected tables on a schedule, or expose Business Central data as virtual tables for live CRUD in Dataverse without copying it [Source: Microsoft Learn — Integrate with Dataverse].

Integration Options: Data Sync vs Virtual Tables

Pick data sync when you want data stored in both systems for analytics and offline/reporting needs; pick virtual tables when you want Dataverse apps to read/write Business Central data live without storing duplicates [Source: Microsoft Learn — Synchronization and data integration; Power Platform integration overview].

  • Data synchronization:
    • Copies selected tables/fields between Business Central and Dataverse (one-way or both ways) using integration table mappings and scheduled jobs. Good for Dataverse-native reporting and model-driven apps that expect stored data [Source: Microsoft Learn — Synchronization and data integration].
  • Virtual tables:
    • Expose Business Central APIs as Dataverse tables so makers can create apps, forms, and flows against ERP data without replication; data remains in Business Central [Source: Microsoft Learn — Business Central Virtual Table admin reference; Power Platform integration overview].

Prerequisites And Access

You need a Dataverse environment URL, an admin in Business Central, and a Dataverse user with the System Administrator role to run the setup once. The guided setup deploys the Base Integration Solution and creates the integration user/role for ongoing sync; that user doesn’t need a Business Central license [Source: Microsoft Learn — Connect to Dataverse; Setting up user accounts].

Use the assisted setup when possible; it discovers environments, asks for consent, and can recommend initial sync actions. Alternatively, configure on the Dataverse Connection Setup page, test the connection, select ownership (team or person), and enable it when ready [Source: Microsoft Learn — Connect to Dataverse].

High-level flow:

  1. In Business Central, run Assisted Setup → Set up a connection to Microsoft Dataverse. Sign in with a Dataverse admin when prompted. Grant the requested permissions for the Business Central Integration app [Source: Microsoft Learn — Connect to Dataverse].
  2. Choose the ownership model (team or person) and, if offered, review initial sync recommendations. Only run full sync if one side is empty to avoid duplicates [Source: Microsoft Learn — Connect to Dataverse].
  3. If configuring manually, open Dataverse Connection Setup, enter the environment URL, test, and enable. For multi-currency, make sure matching currencies and exchange rates exist in Business Central before enabling [Source: Microsoft Learn — Connect to Dataverse; Integrate with Dataverse via data sync].

Step 2: Use Standard Table Mappings And Couple Records

Start with the built-in mappings (for example, Customer↔Account, Vendor↔Account, Contact↔Contact, Currency→Transaction Currency). Set direction per mapping (to, from, or bidirectional), then couple existing records and run synchronization [Source: Microsoft Learn — Synchronization and data integration].

  • Couple existing data:
    • From list or card pages in Business Central, use Set Up Coupling or Match-Based Coupling to link records to Dataverse rows. You can also synchronize single or multiple records on demand [Source: Microsoft Learn — Coupling and synchronizing].

Step 3: Schedule Sync Jobs And Monitor

Use job queue entries to schedule synchronization for mapped tables. Monitor the Integration Synchronization Log for failures, and adjust field mappings or filters as needed. Remember that scheduled jobs provide near-real-time alignment, not guaranteed immediate consistency [Source: Microsoft Learn — Synchronization and data integration].

When To Use Virtual Tables (And How)

Use virtual tables when Dataverse apps need live Business Central data without storage overhead or duplication. Install the Business Central Virtual Table solution from AppSource, configure the Business Central Virtual Data Source in Dataverse to point to your tenant/company, then mark specific Business Central tables as Visible so they appear in Dataverse and the Maker portal [Source: Microsoft Learn — Business Central Virtual Table admin reference].

Implementation notes:

  • Virtual tables support CRUD with Business Central as the system of record. They behave as Dataverse tables for apps, forms, and flows, but data is retrieved at runtime from Business Central [Source: Microsoft Learn — Power Platform integration overview].
  • Known limitations include some query operators, attachments, and certain field types; review the limitation list before adopting for heavy analytics or advanced search scenarios [Source: Microsoft Learn — Power Platform integration overview].

Multi-Company And Multi-Environment Considerations

If you synchronize multiple Business Central companies to one Dataverse environment, enable multi-company per mapping and ensure company IDs are handled in filters. Use unique numbering (for example, prefixes) via field transformation rules to avoid collisions [Source: Microsoft Learn — Synchronization and data integration].

Security And Governance

The setup deploys a Dataverse role for the integration and creates an application user that runs synchronization. Limit that role to the integration user, and manage end-user access through Dataverse security roles and Business Central permission sets. After importing the Base Integration Solution, verify auditing settings in Dataverse if you rely on table auditing [Source: Microsoft Learn — Integrate with Dataverse via data sync; Setting up user accounts].

Troubleshooting Quick Wins

Answer the most common issues directly to keep your project moving.

  • Connection fails during setup: Ensure the Dataverse environment isn’t in Administration mode and that the consenting account has the required roles; allow the popup login if the browser blocks it [Source: Microsoft Learn — Connect to Dataverse].
  • Duplicate data after initial sync: Avoid full synchronization if both systems already contain data; use coupling and targeted sync instead [Source: Microsoft Learn — Connect to Dataverse].
  • Missing tables or fields: Check Integration Table Mappings and Integration Field Mapping. Use Use Default Synchronization Setup to reset to Microsoft defaults if needed [Source: Microsoft Learn — Synchronization and data integration].
  • Slow queries in apps using virtual tables: Optimize views to reduce record counts and avoid unsupported filters; remember data is fetched live from Business Central [Source: Microsoft Learn — Power Platform integration overview].

Implementation Checklist

  • Confirm prerequisites (Dataverse URL, admin roles, currency setup if applicable)
  • Create the connection (assisted setup preferred); test and enable
  • Review and accept default integration table mappings
  • Couple existing records; avoid full sync unless one side is empty
  • Set directions and filters per mapping; enable multi-company if needed
  • Schedule job queue entries; monitor the synchronization log
  • If needed, install and configure virtual tables; make target tables visible
  • Lock down access via Dataverse roles and Business Central permission sets

Sources


Frequently Asked Questions

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.


DH

Daniel Harper

Author

Daniel is a senior Microsoft Dynamics 365 consultant with years of hands-on experience implementing ERP and CRM solutions across manufacturing, retail, healthcare, and professional services. He specializes in Business Central implementations, data migrations, and custom integrations using Power Platform and third-party tools.