Connect Microsoft Dynamics 365 Finance & Supply Chain: pull sales orders in
Register an app in Microsoft Entra ID, register that same app inside Finance & Operations and bind a user, paste the environment URL and the three credential fields into Integration, test, check the mapping, activate — sales orders flow in.
The Microsoft Dynamics 365 Finance & Supply Chain connector pulls sales orders from your Finance & Operations environment into OMS, so the warehouse can fulfill them without re-typing orders by hand. That is what this connection does today: it pulls sales orders in, and it does not pull customers, does not read inventory, and does not push inventory or anything else back to Dynamics 365. One connection serves one environment — the Environment URL you fill in points straight at that environment.
Prerequisites#
- A Microsoft Dynamics 365 Finance & Supply Chain (Finance & Operations) environment you can sign in to, and its environment address, such as https://myorg.operations.dynamics.com.
- Admin access to Microsoft Entra ID to register an app — or an IT administrator who can register one for you and hand you the tenant ID, client ID, and client secret.
- System administration access inside Finance & Operations: the app must also be registered there and bound to a user, and that user needs a role that can read sales order data. A credential that only exists in Entra ID is not enough on its own.
- Keep the client secret value somewhere safe as soon as you create it: it is shown only once, and you cannot read it again later.
Get your credentials#
- Environment URL: use the address of your Finance & Operations environment, for example https://myorg.operations.dynamics.com. Copy the base address only — do not add /data at the end.
- Tenant ID and Client ID: in Microsoft Entra ID, open App registrations, register a new app (or open the app your IT administrator registered), and on its overview page copy the Directory (tenant) ID and the Application (client) ID.
- Client Secret: in that same app, open Certificates & secrets and create a new client secret. Copy its value right away — the value is shown only once, and only the value works here, not the secret ID shown next to it.
- Register the app inside Finance & Operations: in F&O, go to System administration → Setup → Microsoft Entra ID applications, add a row with the same Client ID, and bind it to a user whose role can read sales order data. Skip this step and the test below fails even when every field is filled in correctly.
Fill it into Integration#
- Open Integration → Connector Marketplace → Microsoft Dynamics 365 Finance & Supply Chain → New connection.
- environment_url — Environment URL, required: the address of your Finance & Operations environment, for example https://myorg.operations.dynamics.com. Fill in the base address only, with no /data at the end. This field is what locates your environment — this connection has no separate environment name or company field.
- tenant_id — Tenant ID, required: the Directory (tenant) ID from the app registration overview in Microsoft Entra ID. It is a GUID in the form xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
- client_id — Client ID, required: the Application (client) ID from the same overview page. Use exactly the same ID you registered inside Finance & Operations in the credentials step — the two must match character for character.
- client_secret — Client Secret, required: the secret value you copied from Certificates & secrets in Entra ID (the value, not the secret ID). It is stored as a secret and never echoed back.
Test the connection#
The test runs two steps, and a failure message tells you which step failed. First it checks that nothing required is missing (a missing environment URL reports MISSING_ENV_URL, a missing tenant ID reports MISSING_TENANT_ID, and a missing client ID or secret reports MISSING_CLIENT_SECRET), then it uses your client ID and secret to request an access token from Microsoft sign-in for your tenant — a wrong secret fails here with INVALID_CREDENTIALS. Then it uses that token to read a single sales order from your environment (the SalesOrderHeadersV2 data entity, one record only). If Microsoft issues the token but Finance & Operations refuses that read with a 401, the result reports INVALID_TOKEN, which almost always means the app is not registered inside F&O or no user is bound to it; a 403 reports MISSING_SCOPE, which means the bound user does not have a role that can read sales order data. The test allows up to 12 seconds for the environment to answer, so a slow environment can fail on time alone — just run the test again.
Mapping / pick a template#
Pick the Dynamics 365 Finance & Supply Chain standard template. It pairs the fields of the sales orders this connector reads (the SalesOrderHeadersV2 data entity) with the standard order fields on the OMS side. Before activating, open the mapping preview and confirm the order number lands in the right place and that any field your warehouse relies on — delivery dates, ship-to address, customer reference — is paired. Fields you leave unpaired are simply not carried into the standard order, so check the preview against one real sales order from your environment rather than activating blind.
Activate#
After activation, Integration pulls new sales orders from your Finance & Operations environment on the schedule you set, turns each one into a standard order through the mapping, and hands it to OMS for fulfillment. Nothing flows the other way on this connection: it does not sync customers, does not read inventory, and does not push inventory or fulfillment back to Dynamics 365. Watch the first few orders in Runs / Logs and compare them with the same orders in F&O before trusting the connection unattended.
FAQ#
Test fails with INVALID_CREDENTIALS (401 when requesting the token)
Microsoft sign-in refused the client ID and secret pair: the secret value is wrong or has expired, or the tenant ID and client ID filled in here belong to different app registrations, so the pair does not match.
Open the app registration in Microsoft Entra ID and check all three values against it: Directory (tenant) ID and Application (client) ID from the overview page, and under Certificates & secrets create a fresh secret, copy its value (not the secret ID next to it), and paste that value into client_secret. Then test again.
Test fails with INVALID_TOKEN (token issued, but F&O answers 401)
The credentials work in Entra ID, but Finance & Operations does not know this app: it was never registered under Microsoft Entra ID applications inside F&O, or it is registered there with no user bound to it, so F&O rejects the token.
In F&O, go to System administration → Setup → Microsoft Entra ID applications, add or find the row with this connection’s Client ID, and bind it to a user. Save, then run the test again — this is the most common fix on this connection.
Test fails with MISSING_SCOPE (403 from F&O)
F&O knows the app and accepted the token, but the user bound to the app does not have a role that can read sales order data, so the read of the SalesOrderHeadersV2 data entity is refused.
In F&O, give the bound user a role that can read sales order data (your F&O administrator assigns roles under System administration → Users), or bind the app to a different user who already has such a role. Then test again.
Test fails with MISSING_ENV_URL, or the environment cannot be reached
The environment_url field is empty, or the address in it is not the base address of your environment — the most frequent slip is an address that ends in /data, which points past the place the connector signs in to.
Fill environment_url with the base address of your Finance & Operations environment, for example https://myorg.operations.dynamics.com, with nothing after .com — in particular, remove any trailing /data. Then test again.
Can this connection also sync customers or inventory?
No. This connection pulls sales orders only: it does not pull customers, does not read inventory, and does not push inventory back to Dynamics 365. Keep customer and inventory maintenance in Finance & Operations itself, and use this connection for the order flow into OMS.
Sales orders are the one flow this connection carries, end to end, with their lines. Refer to customers and stock from Finance & Operations when you work an order in OMS — this connection will not bring them over.