Connecter Microsoft Dynamics 365 Finance & Supply Chain : recevoir les commandes de vente
Enregistrez une app dans Microsoft Entra ID, enregistrez cette même app dans Finance & Operations en liant un utilisateur, collez l’URL de l’environnement et les trois champs d’identifiants dans Integration, testez, vérifiez le mapping, activez — les commandes de vente arrivent.
Le connecteur Microsoft Dynamics 365 Finance & Supply Chain importe les commandes de vente de votre environnement Finance & Operations dans OMS, pour que l’entrepôt les traite sans les ressaisir à la main. C’est ce que fait cette connexion aujourd’hui : elle importe les commandes de vente, et elle n’importe pas les clients, ne lit pas le stock et ne renvoie ni stock ni aucune autre donnée vers Dynamics 365. Une connexion sert un seul environnement : l’URL d’environnement saisie pointe directement vers cet environnement.
Prérequis#
- Un environnement Microsoft Dynamics 365 Finance & Supply Chain (Finance & Operations) auquel vous pouvez vous connecter, et son adresse d’environnement, par ex. https://myorg.operations.dynamics.com.
- Un accès administrateur à Microsoft Entra ID pour enregistrer une app — ou un administrateur informatique qui peut l’enregistrer pour vous et vous remettre l’ID de locataire, l’ID client et le secret client.
- Un accès d’administration système dans Finance & Operations : l’app doit aussi y être enregistrée et liée à un utilisateur, et cet utilisateur a besoin d’un rôle pouvant lire les données des commandes de vente. Un identifiant qui n’existe que dans Entra ID ne suffit pas.
- Conservez la valeur du secret client en lieu sûr dès sa création : elle n’est affichée qu’une fois et ne peut plus être relue ensuite.
Obtenir les identifiants#
- URL de l’environnement : utilisez l’adresse de votre environnement Finance & Operations, par ex. https://myorg.operations.dynamics.com. Copiez uniquement l’adresse de base — n’ajoutez pas /data à la fin.
- ID de locataire et ID client : dans Microsoft Entra ID, ouvrez App registrations, enregistrez une nouvelle app (ou ouvrez celle enregistrée par votre administrateur) et, sur sa page de présentation, copiez le Directory (tenant) ID et l’Application (client) ID.
- Secret client : dans cette même app, ouvrez Certificates & secrets et créez un nouveau secret client. Copiez sa valeur immédiatement — la valeur n’est affichée qu’une fois, et c’est la valeur qui fonctionne ici, pas l’ID de secret affiché à côté.
- Enregistrez l’app dans Finance & Operations : dans F&O, allez à System administration → Setup → Microsoft Entra ID applications, ajoutez une ligne avec le même ID client et liez-la à un utilisateur dont le rôle peut lire les données des commandes de vente. Sautez cette étape et le test ci-dessous échouera même si tous les champs sont corrects.
Remplir dans Integration#
- Ouvrez Integration → Marketplace → Microsoft Dynamics 365 Finance & Supply Chain → Nouvelle connexion.
- environment_url — URL de l’environnement, requis : l’adresse de votre environnement Finance & Operations, par ex. https://myorg.operations.dynamics.com. Saisissez uniquement l’adresse de base, sans /data à la fin. C’est ce champ qui localise votre environnement — cette connexion n’a pas de champ séparé pour le nom d’environnement ni pour la société.
- tenant_id — ID de locataire, requis : le Directory (tenant) ID de la page de présentation de l’enregistrement d’app dans Microsoft Entra ID. C’est un GUID au format xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
- client_id — ID client, requis : l’Application (client) ID de la même page de présentation. Utilisez exactement le même ID que celui enregistré dans Finance & Operations à l’étape des identifiants — les deux doivent correspondre caractère par caractère.
- client_secret — Secret client, requis : la valeur du secret copiée depuis Certificates & secrets dans Entra ID (la valeur, pas l’ID de secret). Il est stocké comme secret et jamais réaffiché.
Tester la connexion#
Le test exécute deux étapes, et le message d’erreur indique quelle étape a échoué. Il vérifie d’abord qu’aucun élément requis ne manque (URL d’environnement manquante : MISSING_ENV_URL ; ID de locataire manquant : MISSING_TENANT_ID ; ID client ou secret manquant : MISSING_CLIENT_SECRET), puis il utilise votre ID client et votre secret pour demander un jeton d’accès à la connexion Microsoft pour votre locataire — un secret erroné échoue ici avec INVALID_CREDENTIALS. Il utilise ensuite ce jeton pour lire une seule commande de vente dans votre environnement (l’entité de données SalesOrderHeadersV2, un seul enregistrement). Si Microsoft émet le jeton mais que Finance & Operations refuse cette lecture avec un 401, le résultat affiche INVALID_TOKEN, ce qui signifie presque toujours que l’app n’est pas enregistrée dans F&O ou qu’aucun utilisateur ne lui est lié ; un 403 affiche MISSING_SCOPE, ce qui signifie que l’utilisateur lié n’a pas de rôle pouvant lire les données des commandes de vente. Le test accorde jusqu’à 12 secondes à l’environnement pour répondre : un environnement lent peut donc échouer pour une simple question de temps — relancez simplement le test.
Mapping / choisir un modèle#
Choisissez le modèle standard Dynamics 365 Finance & Supply Chain. Il associe les champs des commandes de vente lues par ce connecteur (l’entité de données SalesOrderHeadersV2) aux champs de la commande standard côté OMS. Avant d’activer, ouvrez l’aperçu du mapping et confirmez que le numéro de commande tombe au bon endroit et que tout champ dont votre entrepôt dépend — dates de livraison, adresse de livraison, référence client — est associé. Les champs laissés sans association ne sont tout simplement pas repris dans la commande standard : contrôlez donc l’aperçu avec une vraie commande de vente de votre environnement plutôt que d’activer à l’aveugle.
Activer#
Après activation, Integration récupère les nouvelles commandes de vente de votre environnement Finance & Operations selon la fréquence définie, convertit chacune en commande standard via le mapping et la transmet à OMS pour traitement. Rien ne circule dans l’autre sens sur cette connexion : elle ne synchronise pas les clients, ne lit pas le stock et ne renvoie ni stock ni fulfillment vers Dynamics 365. Surveillez les premières commandes dans Runs / Logs et comparez-les aux mêmes commandes dans F&O avant de laisser la connexion sans surveillance.
FAQ#
Le test échoue avec INVALID_CREDENTIALS (401 lors de la demande de jeton)
La connexion Microsoft a refusé la paire ID client et secret : la valeur du secret est incorrecte ou expirée, ou l’ID de locataire et l’ID client saisis ici appartiennent à deux enregistrements d’app différents, donc la paire ne correspond pas.
Ouvrez l’enregistrement de l’app dans Microsoft Entra ID et comparez les trois valeurs : le Directory (tenant) ID et l’Application (client) ID de la page de présentation ; puis, dans Certificates & secrets, créez un nouveau secret, copiez sa valeur (pas l’ID de secret affiché à côté) et collez cette valeur dans client_secret. Puis testez à nouveau.
Le test échoue avec INVALID_TOKEN (jeton émis, mais F&O répond 401)
Les identifiants fonctionnent dans Entra ID, mais Finance & Operations ne connaît pas cette app : elle n’a jamais été enregistrée dans Microsoft Entra ID applications dans F&O, ou elle y est enregistrée sans utilisateur lié, donc F&O rejette le jeton.
Dans F&O, allez à System administration → Setup → Microsoft Entra ID applications, ajoutez ou retrouvez la ligne portant l’ID client de cette connexion et liez-la à un utilisateur. Enregistrez, puis relancez le test — c’est la correction la plus fréquente sur cette connexion.
Le test échoue avec MISSING_SCOPE (403 de F&O)
F&O connaît l’app et a accepté le jeton, mais l’utilisateur lié à l’app n’a pas de rôle pouvant lire les données des commandes de vente, donc la lecture de l’entité de données SalesOrderHeadersV2 est refusée.
Dans F&O, attribuez à l’utilisateur lié un rôle pouvant lire les données des commandes de vente (votre administrateur F&O attribue les rôles dans System administration → Users), ou liez l’app à un autre utilisateur qui a déjà ce rôle. Puis testez à nouveau.
Le test échoue avec MISSING_ENV_URL, ou l’environnement est injoignable
Le champ environment_url est vide, ou l’adresse qu’il contient n’est pas l’adresse de base de votre environnement — l’erreur la plus fréquente est une adresse se terminant par /data, qui pointe au-delà de l’endroit où le connecteur se connecte.
Remplissez environment_url avec l’adresse de base de votre environnement Finance & Operations, par ex. https://myorg.operations.dynamics.com, sans rien après .com — supprimez en particulier tout /data final. Puis testez à nouveau.
Cette connexion peut-elle aussi synchroniser les clients ou le stock ?
Non. Cette connexion importe uniquement les commandes de vente : elle n’importe pas les clients, ne lit pas le stock et ne renvoie pas de stock vers Dynamics 365. Gardez la gestion des clients et du stock dans Finance & Operations même, et utilisez cette connexion pour le flux de commandes vers OMS.
Les commandes de vente sont le seul flux que cette connexion transporte de bout en bout, avec leurs lignes. Consultez clients et stock dans Finance & Operations quand vous traitez une commande dans OMS — cette connexion ne les apportera pas.