Cómo integrar IA con SAP Business One paso a paso (2026)
Guía técnica 2026 para conectar un chatbot IA con SAP Business One: arquitectura, endpoints OData, autenticación SLD y validación de pedidos real-time.

TL;DR. Integrar un agente IA con SAP Business One es una semana de trabajo si usas OData estándar y un agente que entienda la lógica de tu negocio (no solo el catálogo). Esta guía cubre la arquitectura, el setup técnico, los gotchas habituales y un caso real con métricas.
SAP Business One es el ERP estándar de 45.000+ empresas medianas en España, especialmente distribución B2B, manufactura y retail con catálogo amplio. La pregunta que cualquier CTO o IT manager se hace cuando evalúa atención al cliente con IA es: ¿el agente realmente accede a mi SAP en tiempo real, o trabaja con copias desfasadas?
Esta guía resuelve esa pregunta con detalle técnico. Si vienes del lado comercial y solo quieres saber qué hace Conectafy con SAP, salta directamente a la sección “Caso real: TechDistrib”.
Por qué la integración SAP + IA es no trivial
La mayoría de chatbots con etiqueta “AI-powered” trabajan con catálogo sincronizado cada 12-24 horas. Para ecommerce B2C de moda, esto vale. Para distribución B2B donde el stock cambia cada hora y un cliente decide si confirmar pedido en función del dato del momento, una respuesta basada en cache de 12 horas es indistinguible de mentir.
La diferencia entre integrar mal y integrar bien:
- Mal: Export nocturno de SAP a un PostgreSQL del agente. El cliente pregunta a las 11:00, recibe el dato de las 03:00. Pedido perdido cuando alguien más se llevó esa unidad a las 09:30.
- Bien: Llamada API directa a SAP cuando el agente recibe la consulta. Respuesta en menos de 2 segundos con el dato real del momento. Reserva automática si el cliente confirma.
Conseguir el “bien” requiere tres cosas: arquitectura adecuada, los endpoints correctos, y un agente que sepa cuándo preguntar al ERP (no en cada interacción — solo cuando el contexto lo requiere).
Arquitectura recomendada
Cliente (web/WhatsApp/voz)
│
▼
Agente IA Conectafy
│
├──► PDFs / manuales (RAG)
│
├──► OData SAP Business One ────► Maestros: artículos, clientes, tarifas
│ (Service Layer) Transaccional: pedidos, stock, facturas
│
└──► Webhooks salientes ────► Notificar SAP de evento (lead nuevo, etc.)SAP Service Layer es la capa REST/OData que SAP B1 expone desde la versión 9.3+. Es la forma oficial y soportada de integrar contra SAP B1, mejor que la antigua DI API o que SQL directo contra la base.
Setup técnico: 5 pasos
1. Habilitar SAP Service Layer
En el cliente SAP B1, ir a Administración → Service Layer → Configuration. Activar el servicio y anotar la URL (típicamente https://tu-sap.empresa.com:50000/b1s/v1/).
Si tu SAP está on-premise sin IP pública, configurar el túnel saliente al endpoint de Conectafy:
# En el servidor SAP, ejecutar el agente Conectafy
docker run -d \
--name conectafy-tunnel \
-e CONECTAFY_TOKEN=xxxxx \
-e SAP_HOST=https://localhost:50000 \
conectafy/tunnel:latestEsto inicia una conexión saliente WSS al backend de Conectafy. SAP nunca recibe conexiones entrantes desde internet.
2. Crear usuario de servicio
Crear un usuario SAP dedicado (ej. conectafy_agent) con permisos de solo lectura sobre:
Items(artículos)BusinessPartners(clientes y proveedores)Orders(pedidos de venta)Quotations(presupuestos)Invoices(facturas)ItemsconWhsInfo(stock por almacén)SpecialPricesyPriceLists(tarifas por cliente)
Nunca usar usuario administrador — auditoría y compliance lo exigen.
3. Autenticación
SAP B1 Service Layer usa autenticación por sesión: POST a /Login con CompanyDB, UserName, Password. Devuelve un SessionId que dura 30 minutos por defecto.
Conectafy gestiona el ciclo de vida del SessionId automáticamente: refresca antes de que expire, gestiona errores 401, y cifra las credenciales en reposo (AES-256).
4. Mapear entidades del negocio
El paso más importante y el menos técnico: definir qué campos de SAP corresponden a qué conceptos del agente. Ejemplo de mapeo típico:
| Concepto del agente | Endpoint SAP B1 | Campo |
|---|---|---|
| Stock disponible | /Items('ITEM_CODE') | QuantityOnStock |
| Stock por almacén | /Items('ITEM_CODE')?$expand=ItemWarehouseInfoCollection | InStock por warehouse |
| Estado pedido | /Orders(KEY) | DocumentStatus (bost_Open / bost_Close) |
| Tarifa cliente | /SpecialPrices(ItemCode='X',CardCode='Y') | Price |
| Crédito disponible | /BusinessPartners('CARDCODE') | CreditLimit - CurrentAccountBalance |
Esta capa de mapeo es la que evita que el agente diga “stock disponible” cuando SAP devuelve bost_Open (que significa “documento abierto”, no “stock libre”).
5. Lógica de decisión: ¿cuándo preguntar a SAP?
No todas las consultas requieren ir a SAP. Patrón típico de Conectafy:
- Pregunta sobre producto genérico (¿qué es el modelo XR-200?): responder desde PDF + ficha en cache.
- Pregunta sobre stock o disponibilidad (¿hay stock?): consulta SAP en directo.
- Pregunta sobre pedido propio (¿dónde está mi pedido?): consulta SAP por
DocumentNumberoCardCode. - Pregunta sobre precio personalizado (¿cuál es mi tarifa?): consulta SAP
/SpecialPrices.
Llamar a SAP en cada interacción genera carga innecesaria y agrega 100-300ms al tiempo de respuesta. La lógica del agente debe decidir cuándo el dato fresco compensa el coste.
Gotchas habituales
Cosas que descubres en producción y te ahorran 1-2 semanas de pelea si las sabes antes:
SAP B1 multi-company. Si tienes varias empresas (
SAP_CMP01,SAP_CMP02), cada una necesita su propia sesión. Cliente identificado en la conversación → empresa correcta. Si el cliente no se identifica, el agente debe pedir elCardCodeantes de consultar.Códigos de estado opacos. SAP usa magic strings como
bost_Open,boyes_tYES,cs_Released. El agente debe traducirlos a lenguaje natural antes de devolver al cliente.Sin streaming, sin GraphQL. SAP B1 OData es REST puro paginado. Para listados grandes (pedidos del último mes), paginar con
$topy$skipo el agente revienta el SLA de 2s.Performance del SAP de tu cliente. Algunas instancias SAP B1 mal dimensionadas tardan 5-10 segundos en una consulta simple. Si tu agente promete respuesta en 2s, esto es bloqueante. Hacer load test antes de prometer SLA.
Bloqueos de transacciones. Si el agente intenta leer un pedido que un usuario humano está editando en el cliente SAP, puede recibir 423 Locked. Reintento con backoff exponencial.
Caso real: TechDistrib
TechDistrib es un distribuidor B2B de tecnología con 12.000 referencias activas, 3 almacenes y 800 clientes B2B. Antes de Conectafy, su equipo de 3 personas en back office tardaba 4 horas en media en responder consultas de stock (revisar SAP, llamar al almacén si había duda, escribir respuesta).
Setup con Conectafy:
- Semana 1: Service Layer activado, usuario de servicio creado, mapeo de campos consensuado con su responsable SAP.
- Semana 2: integración del agente en WhatsApp Business + widget web. PDFs técnicos de los 200 productos top indexados.
- Semana 3: testing con conversaciones reales del histórico (¿el agente habría respondido bien lo mismo que su equipo?). Refinamiento de tono.
Resultados a los 3 meses:
| Métrica | Antes | Después | Mejora |
|---|---|---|---|
| Tiempo medio respuesta stock | 4 horas | menos de 2 segundos | 7.200× |
| Tickets automatizados | 0% | 91% | — |
| Coste mensual atención cliente | 8.500 € | 3.200 € | −62% |
| NPS de clientes B2B | 32 | 51 | +19 puntos |
El equipo de back office no desapareció: se reasignó a gestión de cuentas grandes y desarrollo de negocio.
Cuándo NO integrar IA con SAP B1
Sé honesto sobre los casos donde no aporta:
- Tu volumen es bajo (menos de 100 consultas comerciales/mes). No paga el setup.
- Tu SAP está muy customizado con módulos verticales que no exponen sus datos via Service Layer. Requeriría desarrollo SAP custom (mucho más caro que la integración con la IA).
- Tu equipo de soporte ya es maduro y el cuello de botella no es la consulta a SAP sino el volumen total. La IA ayuda menos.
- Tu producto es muy contextual (proyectos a medida, consultoría) donde cada respuesta requiere razonamiento humano. Mejor invertir en herramientas para tu equipo, no en sustituirlo.
Próximos pasos
Si después de leer esto crees que tu caso encaja, hay dos formas de avanzar:
- Demo con tu SAP en directo — conectamos a un sandbox o copia de tu B1 y vemos el agente respondiendo con tus datos reales. 30 minutos, sin compromiso. Reserva en
/demo. - Auditoría técnica gratuita — nuestro equipo revisa tu Service Layer, los endpoints disponibles y propone un plan de integración con tiempos y dependencias. 1 semana, sin coste si decides no seguir.