Integrar Microsoft Dynamics 365 Business Central con un eCommerce (PrestaShop, Shopify, WooCommerce, Magento) funciona a través de la API OData v4 que Business Central expone de forma nativa. Esta API permite leer y escribir Items, Customers, Sales Orders, Sales Invoices y la mayoría de entidades de negocio. Es REST, devuelve JSON y soporta filtros OData estándar. No necesitas licencias adicionales para usarla.
Business Central (BC) tiene una posición interesante en el mercado: es el ERP de Microsoft para pymes, con un ecosistema enorme (integración nativa con Office 365, Power BI, Power Automate), precio asequible comparado con SAP, y una API moderna que facilita las integraciones. Para empresas B2B que ya usan Microsoft 365, es la opción natural de ERP. La integración con eCommerce es el siguiente paso lógico.
La API OData de Business Central
Business Central expone sus datos a través de dos tipos de APIs:
Standard APIs (v2.0)
APIs predefinidas por Microsoft que cubren las entidades principales. Son estables entre versiones y no requieren configuración. Endpoints principales:
GET /api/v2.0/items— artículosGET /api/v2.0/customers— clientesPOST /api/v2.0/salesOrders— crear pedido de ventaGET /api/v2.0/salesInvoices— facturas de ventaGET /api/v2.0/itemLedgerEntries— movimientos de inventarioGET /api/v2.0/vendors— proveedores
Estas APIs usan OData v4, lo que significa que puedes filtrar ($filter), ordenar ($orderby), paginar ($top, $skip) y expandir relaciones ($expand) directamente en la URL.
Custom APIs
Business Central permite crear APIs personalizadas en AL (el lenguaje de extensiones de BC). Esto es útil cuando necesitas exponer datos que las Standard APIs no cubren: campos personalizados, vistas calculadas o entidades específicas de tu implementación. Un desarrollador AL puede crear una API page que expone exactamente los campos que el middleware necesita.
Autenticación: OAuth 2.0
Business Central Online (SaaS) usa OAuth 2.0 con Azure AD para autenticación. El middleware se registra como aplicación en Azure AD, obtiene un client_id y client_secret, y usa el flujo Client Credentials para obtener tokens de acceso sin intervención del usuario. Los tokens expiran cada hora y se renuevan automáticamente.
Business Central On-Premise puede usar Basic Auth (usuario/contraseña) o OAuth 2.0 según la configuración del servidor web. Para integraciones, se recomienda crear un usuario de servicio dedicado con permisos limitados a las entidades necesarias.
Webhooks y suscripciones
Business Central soporta webhooks (subscriptions en terminología BC) para notificar cambios en entidades. Puedes suscribirte a eventos de creación, actualización o eliminación en items, customers, salesOrders, etc.:
POST /api/v2.0/subscriptions— crear suscripción- Payload:
{"resource": "items", "notificationUrl": "https://tu-middleware.com/webhook/bc", "clientState": "secreto"}
Cuando un artículo cambia en BC, se envía un POST a tu notificationUrl con los datos del cambio. Limitación importante: las suscripciones expiran cada 3 días y deben renovarse programáticamente. El middleware debe gestionar esta renovación automáticamente.
Qué funciona bien en la integración BC-eCommerce
Sincronización de artículos
Los Items de BC se sincronizan bien al eCommerce. Campos estándar (No., Description, UnitPrice, Inventory) mapean directamente. BC soporta Item Variants (tallas, colores) que se mapean a variantes/combinaciones del eCommerce. Las categorías de artículo de BC se mapean a categorías de la tienda.
Creación de pedidos
La API de Sales Orders permite crear pedidos completos: cabecera + líneas en una sola llamada. BC valida automáticamente: cliente existe, artículos existen, stock disponible. Si algo falla, devuelve un error descriptivo. El middleware captura estos errores y actúa según reglas configuradas.
Precios y descuentos
BC tiene un sistema de precios potente: Price Lists (desde BC Wave 2 2020) que reemplazan los antiguos Sales Prices. Cada Price List puede tener líneas de precio por artículo, por cantidad mínima, por fecha. Un cliente puede tener múltiples Price Lists asignadas con prioridad. El middleware lee estas Price Lists y las mapea a los grupos de clientes o precios específicos del eCommerce.
Mapeo de campos BC ↔ eCommerce
Artículos
No.(BC) →reference(eCommerce)Description(BC) →name(eCommerce)UnitPrice(BC) →price(eCommerce, sin IVA)Inventory(BC) →quantity(eCommerce)GrossWeight(BC) →weight(eCommerce)ItemCategoryCode(BC) →category(eCommerce)Blocked(BC) = true → desactivar en eCommerce
Clientes
No.(BC) → código interno de mapeoDisplayName(BC) →company(eCommerce)TaxRegistrationNumber(BC) →vat_number(eCommerce)Email(BC) →email(eCommerce)PaymentTermsId(BC) → condiciones de pago (eCommerce B2B)
Power Automate: cuándo usarlo y cuándo no
Power Automate (antes Microsoft Flow) puede usarse para integraciones simples con BC: trigger cuando se crea un pedido → enviar email, actualizar SharePoint, crear tarea en Teams. Para integración con eCommerce, Power Automate tiene estas limitaciones:
- Sin gestión de errores robusta: no tiene colas de reintentos ni logs detallados
- Coste por ejecución: se factura por número de ejecuciones. Con 200 cambios de stock al día, los costes se disparan
- Sin mapeo complejo: transformaciones de datos limitadas a expresiones básicas
- Sin conocimiento de dominio: no sabe qué es un pedido B2B ni cómo gestionar IVA intracomunitario
Power Automate funciona como complemento (notificaciones, tareas auxiliares), pero no como middleware principal para integración ERP-eCommerce.
Casos reales de integración BC + eCommerce
Distribuidor de material eléctrico (PrestaShop + BC)
12.000 referencias, 150 pedidos diarios, 3 listas de precios B2B. Integración vía Integrafy: stock cada 5 minutos, pedidos en tiempo real, precios diarios. Resultado: eliminación de 2 puestos de trabajo manual dedicados a traspasar pedidos, reducción de errores de stock del 8% al 0,3%.
Fabricante de packaging (Shopify Plus + BC)
800 referencias, 40 pedidos diarios B2B con precios por volumen. Integración de catálogo, stock, pedidos y estados de envío. El reto principal fue mapear las Price Lists de BC con descuentos por escalado a los precios de Shopify B2B. Tiempo de implementación: 8 semanas.
Business Central es un ERP sólido para integración con eCommerce. Su API OData es moderna, su sistema de precios es flexible y su ecosistema Microsoft aporta valor adicional. La clave es usar un middleware especializado que conozca las particularidades de BC (Price Lists, Item Variants, dimensiones) y no intentar resolver la integración solo con Power Automate.