BC2SQL.COM

Installation Guide

BC2SQL
AuthorBjørn Boeck Date01-06-2026 ProductBC2SQL

Table of contents

  1. 1Business Central – App Installation
  2. 2Azure – Set up API user
  3. 3Business Central – Set up Entra Application user
  4. 4Business Central – Configure BC2SQL
  5. 5Azure – SQL Setup
  6. 6Azure – Web App Setup

1Business Central – App Installation

Download the .APP file from the folder \LatestVersion\BusinessCentral in the link below.

Deploy

Install as “PTE” app in Business Central.

“Search for Extension Management” and select Manage > Upload Extension.

  1. Select the file.
  2. Choose Schema Sync Mode “Add”.
  3. Click “Deploy”.

Wait for the installation to finish.

Check the “Installation Status” page in “Manage” if needed.

2Azure – Set up API user

Log into https://portal.azure.com.

Search for “App Registrations” and create a new registration.

After successful creation:

Add the URL below in Redirect URIs: https://businesscentral.dynamics.com/OAuthLanding.htm

Select “API Permissions” > “Add a permission”.

Select Dynamics 365 Business Central.

Select “Delegated Permissions” and “yes” in both checkboxes.

  1. Click “Add permissions”.
  2. Select “Add”.

Select “Add a permission” again and do the following set up for “Application permissions”.

Click “Grant admin consent for”.

Choose “Certificates & secrets”.

In the next part the following 3 pieces of data are needed:

Certificates & secrets – Value:

Application (client) ID and Directory (tenant) ID:

3Business Central – Set up Entra Application user

In Business Central search for Microsoft Entra Application.

Create a new Entra Application and paste the Application (client) ID from Azure into Client ID.

Click on “Grant Consent”.

Add the BC2SQLRead permission set. This gives read access to all the BC2SQL related set up tables.

Furthermore the user should be set up to read the tables that need to be synchronized.

4Business Central – Configure BC2SQL

In Business Central search for BC2SQL Setup.

Configure the companies, tables and fields that should be synchronized.

BC2SQL Setup is editable when the status is “On Hold”.

This is to avoid synchronization of data while configuring what to synchronize.

5Azure – SQL Setup

Create Database

Log into https://portal.azure.com.

Search for “SQL Server” > create.

Click Create.

After the SQL Database Server has been created, select the SQL Server and click “Create Database”.

Click “Review + create”.

Create Database Schemas in SQL Server Management Studio

In Azure find the SQL Database and click “Show database connection strings”.

Copy this part of the ADO.NET (SQL Authentication) connection string.

Open Microsoft SQL Server Management Studio and connect as shown below with the SQL username and password from when the database was created.

You may be asked to log in to Azure.

Open a new Query in the database and execute the SQL statements in the file CreateBC2SQLTables.sql in the \LatestVersion\.NET\ folder in the link below: Deploy

This creates the BC2SQL tables that are needed for the synchronization to work.

Select the BC2SQL.TenantSetup table > Right Click > Edit Top 200 Rows.

Complete the setup below:

ClientId
Application (client) ID from Azure
ClientSecret
ClientSecret from Azure (Certificates & secrets)
AADTenantId
TenantId from Azure / Business Central
EnvironmentName
Production / “SandboxName”
DefaultCompanyId
A CompanyId from Business Central (it’s not important which company)
CustomerName
Name of customer, used only when sending log emails

Select the BC2SQL.Setup table > Right Click > Edit Top 200 Rows, and create the following setup:

Code
space
Target Databasemodel
1

6Azure – Web App Setup

Log into https://portal.azure.com.

Search for “App Services” > create > “Web App”.

Click Create.

After creation select > Webjobs > Add within the newly created “Web App”.

The BC2SQL.zip file is placed in the folder \LatestVersion\.NET in the link below: Deploy

Set up connection between Webjob and database:

Find and edit appsettings.json.

Enter the connection string from the database created earlier.

Note "DBConn" : {ConnectionString}.

The connection string can be found here:

Remember to set your own password.