Conectar Dynamics 365 Business Central: recibir pedidos y clientes, consultar inventario
Registre una app en Microsoft Entra, cree el registro correspondiente dentro de Business Central, pegue Tenant ID, Client ID y Client Secret en Integration, pruebe, mapee y active.
El conector de Dynamics 365 Business Central trae pedidos de venta y clientes de su empresa de Business Central a OMS y lee la cantidad de inventario de sus artículos de Business Central para que pueda consultar el stock antes de comprometerse. Los ajustes de inventario no se escriben de vuelta en Business Central por esta conexión: haga las correcciones de stock en el propio Business Central.
Requisitos previos#
- Un entorno de Microsoft Dynamics 365 Business Central en el que trabaje: producción, o un entorno sandbox como Sandbox para la primera prueba.
- Permiso para registrar una aplicación en Microsoft Entra para su tenant (centro de administración de Microsoft Entra / portal de Azure).
- Permiso dentro de Business Central para crear un registro de aplicación de Microsoft Entra y asignarle un conjunto de permisos. Registrar la app en Entra es solo la mitad de la configuración: el lado de Business Central también es obligatorio.
Obtener credenciales#
- En Microsoft Entra, vaya a App registrations y abra su app (o registre una nueva). En la página de información general, copie el Directory (tenant) ID — es su tenant_id — y el Application (client) ID — es su client_id.
- Conceda a la app el permiso de API de Business Central que necesita para llamar a la API de Business Central en nombre de su tenant.
- Todavía en la página de la app, vaya a Certificates & secrets → New client secret, cree un secret y copie su valor de inmediato: es su client_secret y el valor se muestra una sola vez.
- Ahora la mitad de Business Central: inicie sesión en Business Central, cree un registro de aplicación de Microsoft Entra para esta misma app y asígnele un conjunto de permisos que pueda leer empresas, pedidos de venta, clientes y artículos. Sin este registro, la prueba de conexión falla con un 403 (vea la FAQ).
Completar en Integration#
- Abra Integration → Marketplace → Dynamics 365 Business Central → Nueva conexión.
- tenant_id, obligatorio: pegue el Directory (tenant) ID de la página de su app en Microsoft Entra. Es un GUID, con el formato xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx.
- environment, opcional: el nombre de su entorno de Business Central, exactamente como aparece en Business Central. Si lo deja vacío, la conexión usa production; para un sandbox, escriba su nombre, por ejemplo Sandbox.
- company, opcional: el nombre de la empresa dentro de Business Central que esta conexión debe leer. Si lo deja vacío, la conexión usa la primera empresa que devuelve Business Central.
- client_id, obligatorio: pegue el Application (client) ID de la misma página de la app en Microsoft Entra. Se guarda como secreto y nunca se vuelve a mostrar.
- client_secret, obligatorio: pegue el valor del client secret que copió de Certificates & secrets. Se cifra en reposo y nunca se vuelve a mostrar.
Probar la conexión#
Haga clic en Probar la conexión. La prueba primero comprueba que tenant_id, client_id y client_secret estén completos: si falta uno, se detiene ahí y nombra el valor que falta (MISSING_TENANT_ID o MISSING_CLIENT_SECRET) sin enviar ninguna solicitud. Luego intercambia sus credenciales de cliente por un token en login.microsoftonline.com y usa ese token para leer la lista de empresas de Business Central en api.businesscentral.dynamics.com para el tenant y el entorno indicados (hasta 5 empresas).
Si la prueba pasa, muestra el nombre de la primera empresa encontrada y cuántas empresas volvieron: compruebe que esa empresa es aquella de la que espera traer pedidos. La prueba abandona tras unos 12 segundos si Business Central no responde, así que un tiempo de espera agotado suele significar que el nombre del entorno es incorrecto o que Business Central no está accesible en ese momento.
Mapping / elegir plantilla#
Elija la plantilla estándar de Business Central. Mapea el número de pedido de venta, las líneas con números de artículo y cantidades, y el cliente del pedido, a un pedido estándar. Antes de activar, ejecute la vista previa de mapping con un pedido de venta real y compruebe dos cosas: que la empresa de la que vienen los pedidos es la prevista y que cada número de artículo de Business Central en las líneas está vinculado a un producto de su lado. Si trabaja con varias empresas, defina primero el campo company en la conexión para que la vista previa lea la empresa correcta.
Activar#
Tras activar, Integration trae nuevos pedidos de venta y clientes de la empresa a la que apunta esta conexión, según la frecuencia definida, y lee el inventario de artículos de Business Central cuando hay que consultar stock. Los ajustes de inventario no se envían de vuelta a Business Central: siga haciendo las correcciones de stock dentro de Business Central, donde quedan como el registro válido. Vigile los primeros pedidos en Runs / Logs antes de dejar la conexión sin supervisión.
Preguntas frecuentes#
La prueba falla con 403 — MISSING_SCOPE
Sus credenciales se aceptan, pero la app no tiene ningún conjunto de permisos dentro de Business Central. Es el fallo más frecuente de este conector: la app se registró en Microsoft Entra, pero nadie creó dentro de Business Central el registro de aplicación de Microsoft Entra para ella, así que Business Central la deja iniciar sesión y luego se niega a dejarla leer nada.
Inicie sesión en Business Central, cree un registro de aplicación de Microsoft Entra para esta app si aún no existe, asígnele un conjunto de permisos que pueda leer empresas, pedidos de venta, clientes y artículos, y vuelva a ejecutar la prueba.
La prueba falla con INVALID_CREDENTIALS
La propia solicitud de token fue rechazada: Microsoft Entra no acepta el par client_id y client_secret para el tenant_id indicado. Las causas habituales son un client_secret caducado o copiado de forma incompleta, un client_id de otra app, o un tenant_id de un tenant distinto al de la app.
Vuelva a Microsoft Entra → App registrations → su app y copie de nuevo el Directory (tenant) ID y el Application (client) ID desde esa misma página de la app. Si el secret puede haber caducado, cree un client secret nuevo en Certificates & secrets, pegue el valor nuevo en client_secret y pruebe de nuevo.
La prueba falla con INVALID_TOKEN al leer las empresas
Se emitió un token, así que las credenciales funcionan, pero Business Central rechaza ese token cuando la prueba intenta leer la lista de empresas. Eso apunta a los permisos de la app en el lado de Microsoft Entra: a la app le falta el permiso de API de Business Central que necesita, o ese permiso nunca se concedió para su tenant.
En Microsoft Entra, abra la app y revise sus permisos de API: añada el permiso de API de Business Central que el conector necesita y concédalo para el tenant, luego vuelva a ejecutar la prueba. Si sigue fallando, confirme también el lado de Business Central siguiendo la entrada del 403 anterior: ambos lados deben estar en su sitio.
Tenemos varias empresas: ¿cuál usa la conexión?
Depende del campo company. Si dejó company vacío, la conexión usa la primera empresa que devuelve Business Central, que puede no ser la empresa desde la que vende. La prueba de conexión le dice cuál es: si pasa, muestra el nombre de la primera empresa encontrada.
Para fijar la conexión a una empresa, complete el campo company con el nombre exacto de esa empresa tal como aparece en Business Central, guarde y pruebe de nuevo: el resultado debería mostrar ahora esa empresa. Use una conexión separada para cada empresa adicional de la que quiera traer datos.