Repository navigation
Microsoft Fabric Setup
This guide explains how to set up bc2adls to export data from Dynamics 365 Business Central to Microsoft Fabric Lakehouse, with data consolidation through Fabric notebooks.
The Microsoft Fabric option provides a modern, streamlined approach to exporting Business Central data directly into a Fabric Lakehouse without requiring Azure Synapse Analytics.
- ✅ Direct integration with Microsoft Fabric ecosystem
- ✅ Simplified setup - no Azure Synapse required
- ✅ Delta Parquet table format for optimal performance
- ✅ Native Power BI integration
- ✅ Notebook-based data consolidation
- ✅ Modern lakehouse architecture
- CSV delta files in Fabric Lakehouse
- Delta Parquet tables after notebook consolidation
- Direct Power BI access to lakehouse tables
- Scheduled automation via Fabric notebooks
The following diagram illustrates the data flow:

Data Flow:
- Business Central exports incremental updates to the
deltasfolder in Fabric Lakehouse - Fabric notebook consolidates deltas into Delta Parquet tables
- Data is accessible via:
- Power BI (native Fabric integration)
- Spark notebooks
- SQL endpoints
- Other Fabric tools
Before starting, ensure you have:
- ✅ Microsoft Fabric capacity or trial
- ✅ Dynamics 365 Business Central environment (Online or On-Premises)
- ✅ Fabric workspace with contributor access or higher
- ✅ Azure Active Directory access to create App Registrations
- ✅ User with SUPER permissions in Business Central
Create an App Registration in Azure Active Directory for authentication.
- Navigate to Azure Portal > Azure Active Directory > App registrations
- Click New registration
- Provide a name (e.g., "BC2Fabric")
- Under Supported account types, select Accounts in this organizational directory only
- Add redirect URI:
https://businesscentral.dynamics.com/OAuthLanding.htm - Click Register
Note the following values:
- a) Application (client) ID
- b) Directory (tenant) ID

- Go to Certificates & secrets > New client secret
- Add a description and expiration period
- Click Add
- c) Copy the secret value immediately
The service principal needs additional permissions to communicate with Microsoft Fabric.
- In your App Registration, go to API permissions
- Click Add a permission
- Select Azure Storage
- Select Delegated permissions
- Search for and select user_impersonation
- Click Add permissions

- If required by your organization, click Grant admin consent
Create a lakehouse in Microsoft Fabric to store your Business Central data.
- Open Microsoft Fabric portal (app.fabric.microsoft.com)
- Navigate to your desired workspace (or create a new one)
- Click + New > More options
- Select Lakehouse

- Enter a name for your lakehouse (e.g., "BusinessCentralData")
- Click Create
Note the lakehouse name - you'll need it for Business Central configuration.
Import the pre-built notebooks to consolidate delta files into tables.
- In your Fabric workspace, click + New > Import notebook
- Choose Upload from the dialog
- Navigate to and select the notebook file from your bc2adls repository:
-
fabric/CopyBusinessCentral.ipynb- Main consolidation notebook
-
- Click Open
- The notebook will appear in your workspace
Rename the notebook (optional):
- Click on the notebook name
- Edit to a descriptive name (e.g., "BC2ADLS Data Consolidation")
- Press Enter to save

Additional notebooks available:
-
CopyBusinessCentral_parallel_option.ipynb- Parallel processing version for large datasets -
CreateDateTable.ipynb- Utility to create a date dimension table
Grant the service principal access to your Fabric workspace.
- In your Fabric workspace, click Manage access (or workspace settings)
- Click + Add people or groups
- Search for your service principal name (from Step 1)
- Select it from the search results
- Assign role: Contributor or Admin
- Click Add

If you cannot find the service principal:
- Go to Fabric Admin Portal > Tenant settings
- Find Developer settings > Service principals can use Fabric APIs
- Enable the setting
- Apply to The entire organization or specific security groups
- Save changes

Install the bc2adls extension in your Business Central environment.
- Download or clone the extension from the
businessCentral/appfolder - Open the folder in Visual Studio Code with AL Language extension installed
- Press F5 or use Ctrl+Shift+P > AL: Publish
- The extension will compile and install
Assign Permission Sets:
| Permission Set | Purpose | Assign to |
|---|---|---|
| ADLSE - Setup | Configure export settings | Administrators |
| ADLSE - Execute | Run exports | Users running exports |
| ADLSE - Track Delete | Track record deletions | All users who delete records |
Configure the connection between Business Central and Microsoft Fabric.
💡 Tip: For a complete reference of all configuration options, see the Configuration Reference page.
- Open Business Central
- Search for and open Export to Azure Data Lake Storage (Page 82560)
- Fill in the following fields:
| Field | Value | Description |
|---|---|---|
| Storage Type | Microsoft Fabric | Select Fabric as the storage destination |
| Tenant ID | From Step 1 (b) | Directory (tenant) ID |
| Workspace | YourWorkspaceName |
Fabric workspace name (or GUID) |
| Lakehouse | BusinessCentralData |
Lakehouse name (or GUID) |
Important Notes on Naming:
⚠️ Workspace and Lakehouse names cannot contain spaces⚠️ Use the exact name as shown in Fabric⚠️ Alternatively, you can use GUIDs (found in Fabric URLs)
Example with GUID:
- Workspace GUID:
12345678-1234-1234-1234-123456789abc - Lakehouse GUID:
87654321-4321-4321-4321-cba987654321
| Field | Value | Description |
|---|---|---|
| Skip row version sorting |
No (default) |
Enable only if experiencing timeouts |
| Delayed Export |
0 (default) |
Delay in seconds before exporting changes |
| Emit telemetry |
Yes (default) |
Send operational telemetry |
| Export Enum as Integer |
No (default) |
Export enum values as integers or text |
| Add delivered DateTime | Based on preference | Include export timestamp in files |
| Export Company Database Tables | Select company | Company for DataPerCompany=false tables |

This setting optimizes export of tables where DataPerCompany = false:
- These tables contain the same data across all companies
- Exporting from one company prevents duplicate exports
- Improves performance and reduces data redundancy
Automate the data consolidation notebook to run periodically.
- Open your notebook in Fabric
- Click Run in the toolbar to test it manually first
- Once verified, click Schedule in the ribbon
- Configure the schedule:
- Repeat: Choose frequency (e.g., Hourly, Daily)
- Time zone: Select your time zone
- Start time: When to begin
- End date (optional): When to stop
- Click Apply
Recommended schedule:
- Match or slightly lag your BC export schedule
- Example: If BC exports every hour at :00, schedule notebook at :15
When you select Microsoft Fabric as the storage type:
- Data exports directly to Fabric Lakehouse
- No Azure Storage Account required
- Uses Fabric's native storage
- Authentication via Service Principal
By Name:
- Simpler and more readable
- Must not contain spaces
- Case-sensitive
- Example:
ProductionWorkspace,BCLakehouse
By GUID:
- More reliable for programmatic access
- Found in Fabric URL
- Example URL:
https://app.fabric.microsoft.com/groups/12345678-.../lakehouses/87654321-... - GUID is the hexadecimal identifier in the URL
Microsoft Fabric uses Delta Lake format:
- ACID transactions for data reliability
- Schema evolution support
- Time travel capabilities
- Efficient updates and deletes
- Better compression than CSV
- Optimized for analytics
Once setup is complete:
- Configure table exports - Select tables and fields to export
- Run your first export - Test with a few tables
- Execute notebook - Consolidate deltas into tables
- Schedule recurring exports - Automate with Job Queue
- Connect Power BI - Use native Fabric integration
- Execution Guide - Detailed export and notebook execution instructions
- Scheduling Exports - Automate BC exports
- FAQs - Common questions and troubleshooting
- Fabric Documentation - Microsoft Fabric overview
Problem: "Could not authenticate with Fabric"
- ✅ Verify Tenant ID is correct
- ✅ Ensure redirect URI is set:
https://businesscentral.dynamics.com/OAuthLanding.htm - ✅ Check service principal has workspace access
- ✅ Verify "Service principals can use Fabric APIs" is enabled
Problem: "Workspace not found"
- ✅ Verify workspace name has no spaces
- ✅ Check spelling and case sensitivity
- ✅ Try using workspace GUID instead of name
- ✅ Ensure service principal is added to workspace
Problem: "Lakehouse not found"
- ✅ Verify lakehouse name matches exactly
- ✅ Ensure lakehouse exists in the specified workspace
- ✅ Try using lakehouse GUID
Problem: Notebook fails to run
- ✅ Check lakehouse is attached to notebook
- ✅ Verify delta files exist in the
deltasfolder - ✅ Review notebook execution logs for errors
- ✅ Ensure Spark pool is available
Problem: Tables not appearing after notebook run
- ✅ Refresh the lakehouse view
- ✅ Check notebook completed successfully
- ✅ Verify data exists in deltas folder
- ✅ Review notebook output for errors
Problem: Export timing out
- ✅ Enable "Skip row version sorting" temporarily
- ✅ Export fewer tables at once
- ✅ Enable "Report read-only data access" feature in BC
Problem: Notebook takes too long
- ✅ Use the parallel processing notebook version
- ✅ Reduce number of tables processed simultaneously
- ✅ Increase Fabric capacity if needed
Related Pages:
- Configuration Reference - Complete field reference
- Execution Guide - Running exports and notebooks
- Scheduling Exports - Automate with Job Queue
- FAQs - Troubleshooting and common questions
- Back to Home
Next: Fabric Open Mirroring | Execution Guide | Back to Home