User Manual
Help Center/User Manual/Connect Dynamics 365 Business Central: pull orders and customers in, check inventory

Connect Dynamics 365 Business Central: pull orders and customers in, check inventory

Last updated 2026-11-01

Register an app in Microsoft Entra, create the matching app record inside Business Central, paste the Tenant ID, Client ID and Client Secret into Integration, test, map, activate — sales orders and customers flow in.

The Dynamics 365 Business Central connector pulls sales orders and customers from your Business Central company into OMS, and reads the inventory quantity on your Business Central items so you can check stock before you promise it. Inventory adjustments are not written back to Business Central through this connection — make stock corrections in Business Central itself.

Business Central connection steps: set up both sides first — Entra and Business Central — then test, map, and activate.

Prerequisites#

  • A Microsoft Dynamics 365 Business Central environment you work in — production, or a sandbox environment such as Sandbox for a first test.
  • Permission to register an application in Microsoft Entra for your tenant (Microsoft Entra admin center / Azure portal).
  • Permission inside Business Central to create a Microsoft Entra application record and assign it a permission set. Registering the app in Entra is only half of the setup — the Business Central side is required too.

Get your credentials#

  1. In Microsoft Entra, go to App registrations and open your app (or register a new one). On the overview page, copy the Directory (tenant) ID — this is your tenant_id — and the Application (client) ID — this is your client_id.
  2. Give the app the Business Central API permission it needs to call the Business Central API on behalf of your tenant.
  3. Still in the app page, go to Certificates & secrets → New client secret, create a secret, and copy its value right away — this is your client_secret, and the value is shown only once.
  4. Now the Business Central half: sign in to Business Central, create a Microsoft Entra application record for this same app, and assign it a permission set that can read companies, sales orders, customers, and items. Without this record, the connection test fails with a 403 (see FAQ).
The client secret value is shown only once. Save it somewhere safe before you leave the Certificates & secrets page — if you lose it, create a new secret and update the connection.

Fill it into Integration#

  1. Open Integration → Connector Marketplace → Dynamics 365 Business Central → New connection.
  2. tenant_id — required: paste the Directory (tenant) ID from your app page in Microsoft Entra. It is a GUID, in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
  3. environment — optional: the name of your Business Central environment, exactly as it appears in Business Central. Leave it empty and the connection uses production; for a sandbox, enter its name, for example Sandbox.
  4. company — optional: the name of the company inside Business Central that this connection should read. Leave it empty and the connection uses the first company returned by Business Central.
  5. client_id — required: paste the Application (client) ID from the same app page in Microsoft Entra. It is stored as a secret and never echoed back.
  6. client_secret — required: paste the client secret value you copied from Certificates & secrets. It is encrypted at rest and never echoed back.

Test the connection#

Click Test connection. The test first checks that tenant_id, client_id, and client_secret are all filled in — if one is missing it stops there and names the missing value (MISSING_TENANT_ID or MISSING_CLIENT_SECRET) without sending any request. It then exchanges your client credentials for a token at login.microsoftonline.com, and uses that token to read the company list from Business Central at api.businesscentral.dynamics.com for the tenant and environment you entered (up to 5 companies).

A pass shows the name of the first company found and how many companies came back — check that the company name is the one you expect to pull orders from. The test gives up after about 12 seconds if Business Central does not answer, so a timeout usually means the environment name is wrong or Business Central is unreachable at that moment.

Mapping / pick a template#

Pick the Business Central standard template. It maps the sales order number, order lines with item numbers and quantities, and the customer on the order into a standard order. Before activating, run the mapping preview with one real sales order and check two things: the company the orders come from is the one you intend, and every Business Central item number on the lines is paired to a product on your side. If you run several companies, set the company field on the connection first so the preview reads the right company.

Business Central round-trip: sales orders and customers come in, item inventory is read for stock checks. Inventory adjustments stay in Business Central.

Activate#

After activation, Integration pulls new sales orders and customers from the company this connection points at, on the schedule you set, and reads item inventory from Business Central when stock needs checking. Inventory adjustments are not sent back to Business Central — keep making stock corrections inside Business Central, where they stay the record of truth. Watch the first few orders in Runs / Logs before trusting the connection unattended.

FAQ#

Test fails with 403 — MISSING_SCOPE

Your credentials are accepted, but the app has no permission set inside Business Central. This is the most common failure for this connector: the app was registered in Microsoft Entra, but nobody created the Microsoft Entra application record for it inside Business Central, so Business Central lets it sign in and then refuses to read anything.

Sign in to Business Central, create a Microsoft Entra application record for this app if it is not there yet, assign it a permission set that can read companies, sales orders, customers, and items, then run the test again.

Test fails with INVALID_CREDENTIALS

The token request itself was rejected: Microsoft Entra does not accept the client_id and client_secret pair for the tenant_id you entered. The usual causes are a client_secret that has expired or was copied incompletely, a client_id from a different app, or a tenant_id from a different tenant than the one the app belongs to.

Go back to Microsoft Entra → App registrations → your app and re-copy the Directory (tenant) ID and the Application (client) ID from that same app page. If the secret may have expired, create a new client secret under Certificates & secrets, paste the new value into client_secret, and test again.

Test fails with INVALID_TOKEN when reading companies

A token was issued, so the credentials work — but Business Central rejects that token when the test tries to read the company list. That points to the app permissions on the Microsoft Entra side: the app is missing the Business Central API permission it needs, or that permission was never granted for your tenant.

In Microsoft Entra, open the app and check its API permissions: add the Business Central API permission the connector needs and grant it for the tenant, then run the test again. If it still fails, also confirm the Business Central side from the 403 entry above — both sides must be in place.

We have several companies — which one does the connection use?

It depends on the company field. If you left company empty, the connection uses the first company Business Central returns — which may not be the company you sell from. The connection test tells you which one that is: a pass shows the first company name it found.

To pin the connection to one company, fill the company field with that company’s exact name as it appears in Business Central, save, and test again — the test result should now show that company. Use a separate connection for each additional company you want to pull from.