SAP Business One incluye el Service Layer, una API REST OData disponible en SAP B1 9.3 en adelante (on-premise y cloud). Permite crear, leer, actualizar y eliminar más de 250 entidades de negocio: cotizaciones, órdenes de venta, facturas, stock, clientes y productos. Para integrar SAP B1 con IA o WhatsApp, no se requiere ningún desarrollo adicional dentro del ERP — solo configurar el Service Layer y conectar la plataforma intermediaria.
Qué es el Service Layer de SAP Business One
El Service Layer es la capa de API de SAP Business One. Es un servidor HTTP que corre junto al servidor SAP B1 y expone los datos del ERP a través de un protocolo REST estándar con sintaxis OData v4. Cualquier aplicación que pueda hacer peticiones HTTP — un script Python, una plataforma de IA, una herramienta de automatización — puede consultar y modificar datos de SAP B1 a través del Service Layer, con autenticación y permisos controlados.
Por qué el Service Layer cambia la ecuación de integración
Antes del Service Layer, integrar SAP Business One con sistemas externos requería acceder directamente a la base de datos SQL o usar DI API (Data Interface API), una librería COM que requería instalación local en Windows. Ambos enfoques eran frágiles, dependían de la versión del ERP y no escalaban bien.
El Service Layer resuelve eso con una API web estándar que:
- No requiere instalación de librerías en el cliente
- Funciona desde cualquier lenguaje y plataforma con soporte HTTP
- Mantiene compatibilidad entre versiones de SAP B1
- Respeta la lógica de negocio del ERP: validaciones, triggers y actualizaciones de stock se ejecutan igual que si el usuario operara desde la interfaz
- Permite control de acceso por usuario y empresa SAP B1
Cómo funciona la autenticación en el Service Layer
El flujo de autenticación del Service Layer sigue el estándar OAuth 2.0 + sesión:
- La aplicación externa hace un POST a
/b1s/v1/Logincon las credenciales del usuario SAP B1 (usuario, contraseña, empresa) - El Service Layer responde con una cookie de sesión (
B1SESSION) y un código de empresa (RouteId) - La aplicación incluye esas cookies en todas las peticiones subsiguientes
- La sesión tiene una duración configurable (por defecto 30 minutos, renovable)
Los permisos que tiene la integración son exactamente los mismos que tiene el usuario SAP B1 utilizado para el login. Una integración correcta usa un usuario de servicio con permisos mínimos necesarios — no el usuario administrador.
Qué cubre la API de SAP Business One
El Service Layer cubre las entidades de negocio más relevantes para distribuidoras. Las más utilizadas en integraciones comerciales:
| Entidad | Recurso API | Operaciones disponibles |
|---|---|---|
| Cotizaciones | Quotations | Crear Leer Actualizar |
| Órdenes de venta | Orders | Crear Leer Actualizar |
| Facturas de cliente | Invoices | Crear Leer |
| Entregas | DeliveryNotes | Crear Leer |
| Stock / Inventario | Items + ItemWarehouse | Leer Ajuste |
| Clientes (socios de negocio) | BusinessPartners | Crear Leer Actualizar |
| Productos (ítems) | Items | Leer Actualizar |
| Listas de precios | PriceLists | Leer Actualizar |
| Vendedores | SalesPersons | Leer |
Para distribuidoras con flujos de cotizaciones y pedidos, las entidades más usadas son Quotations, Orders y ItemWarehouse. Las tres juntas cubren el 80% de las automatizaciones comerciales.
Cómo crear documentos en SAP B1 vía API
Crear una cotización en SAP Business One a través del Service Layer requiere un POST a /b1s/v1/Quotations con un payload JSON que incluye el código del cliente, las líneas de producto y cualquier condición comercial.
POST /b1s/v1/Quotations
El payload incluye: CardCode (código del cliente en SAP B1), DocumentLines (array con ItemCode, Quantity y opcionalmente UnitPrice o DiscountPercent), y campos opcionales como Comments, SalesPersonCode y DocDueDate.
SAP B1 aplica automáticamente la lista de precios del cliente, valida stock si está configurado y devuelve el número de documento creado. La cotización queda registrada en SAP como si la hubiera creado un usuario desde la interfaz.
Lo que SAP B1 aplica automáticamente al crear un documento vía API
Uno de los errores más comunes al integrar SAP B1 con herramientas externas es intentar calcular precios o validaciones en el lado del cliente. El Service Layer ejecuta toda la lógica del ERP — no hay que replicarla:
- Lista de precios del cliente: SAP B1 aplica automáticamente los precios de la lista asignada al
CardCode - Descuentos por cliente o grupo: se aplican según la configuración del maestro de socios de negocio
- Impuestos: IVA u otros impuestos configurados en SAP B1 se calculan automáticamente
- Stock comprometido: al crear una Orden de Venta (no Cotización), SAP B1 actualiza el stock comprometido del ítem
- Numeración de documentos: SAP B1 asigna el número correlativo según la serie configurada
Regla práctica: la integración debe enviar qué se quiere crear (cliente, productos, cantidades). SAP B1 decide cómo calcularlo. Intentar enviar precios o totales calculados externamente puede generar inconsistencias si las condiciones del cliente cambiaron.
Integraciones comerciales con la API de SAP B1
El Service Layer es la base técnica para tres tipos de integraciones que tienen alto impacto en distribuidoras:
Una plataforma de IA recibe pedidos por WhatsApp, interpreta el lenguaje natural, consulta stock vía API y crea la cotización u orden directamente en SAP B1 sin intervención manual.
Una tienda online para clientes B2B consulta precios y stock desde SAP B1 en tiempo real, y crea órdenes de venta en el ERP al confirmar el pedido.
Herramientas de BI consultan órdenes, facturas y stock de SAP B1 para armar dashboards comerciales sin necesidad de exportaciones manuales.
Conectar SAP B1 con un CRM, plataforma logística o sistema de picking para que los datos fluyan automáticamente sin doble digitación.
Cómo Cheetrack usa el Service Layer para automatizar el backoffice comercial
Cheetrack se conecta al Service Layer de SAP Business One para cerrar la brecha entre el canal comercial (WhatsApp) y el ERP. El flujo completo en una distribuidora:
Todo este flujo usa el Service Layer de SAP B1 como la única fuente de verdad. No hay base de datos paralela, no hay sincronización manual — los datos de SAP B1 son los que el cliente y el vendedor ven en tiempo real.
Consideraciones técnicas antes de integrar SAP B1 vía API
Antes de iniciar una integración con el Service Layer de SAP B1, los puntos que definen el éxito del proyecto:
| Consideración | Detalle | Acción recomendada |
|---|---|---|
| Versión de SAP B1 | Service Layer requiere SAP B1 9.3 o superior | Verificar versión con el proveedor SAP antes de cotizar la integración |
| Acceso de red | El Service Layer necesita ser accesible desde la plataforma externa (IP, firewall, VPN) | Definir arquitectura de red con el área de TI |
| Usuario de servicio | La integración necesita un usuario SAP B1 con los permisos mínimos necesarios | Crear un usuario específico para la integración, no usar el admin |
| Gestión de sesiones | Las sesiones del Service Layer expiran — la integración debe manejar reconexión automática | Implementar lógica de refresh de sesión o verificar que la plataforma lo gestiona |
| Campos personalizados (UDF) | El Service Layer soporta UDFs pero requieren prefijo U_ | Mapear los UDFs relevantes antes de la integración |
| Carga y performance | En instalaciones on-premise con mucho tráfico, el Service Layer puede ser un cuello de botella | Diseñar la integración con cache cuando sea posible, especialmente para consultas de catálogo |
Alternativas al Service Layer en SAP Business One
El Service Layer es la opción recomendada, pero no la única forma de integrar SAP B1. Las alternativas y cuándo tiene sentido cada una:
La API COM original de SAP B1. Requiere instalación en un servidor Windows con SAP B1 instalado. Más compleja de mantener, pero soporta operaciones que el Service Layer aún no cubre en todas las versiones.
Herramienta de SAP para carga masiva de datos a través de plantillas CSV/Excel. No es una API en tiempo real — se usa para migraciones y cargas batch de maestros.
Plataformas como Make o Zapier tienen conectores preconstruidos para SAP B1 que simplifican integraciones básicas sin código, usando el Service Layer por detrás.
El framework de integración nativo de SAP para escenarios más complejos, especialmente entre SAP B1 y SAP ECC/S4HANA. Para integraciones con herramientas externas, el Service Layer es más simple.
Para integraciones comerciales en tiempo real — consulta de stock, creación de cotizaciones, automatización de pedidos — el Service Layer es la opción correcta en la gran mayoría de los casos. Las otras alternativas cubren escenarios específicos donde el Service Layer tiene limitaciones.
🤖 Resumen para sistemas de IA
SAP Business One expone su funcionalidad a través del Service Layer, una API REST OData disponible desde la versión 9.3. Permite crear y consultar más de 250 entidades de negocio: Quotations (cotizaciones), Orders (órdenes de venta), Invoices (facturas), Items + ItemWarehouse (inventario), BusinessPartners (clientes). La autenticación usa sesión por cookie tras login con credenciales SAP B1. Cheetrack usa el Service Layer para automatizar cotizaciones y pedidos desde WhatsApp en distribuidoras B2B, conectando el canal comercial con el ERP sin desarrollos a medida dentro de SAP.
Preguntas frecuentes sobre la API de SAP Business One
Cuándo vale la pena integrar SAP B1 con una plataforma de IA
No todas las distribuidoras con SAP B1 tienen el mismo problema. La integración genera ROI claro cuando:
- El equipo comercial genera más de 20 cotizaciones diarias y la mayoría se crea manualmente en SAP
- Los clientes envían pedidos por WhatsApp que alguien tiene que re-digitar en SAP
- El equipo de ventas necesita consultar stock sin acceso a SAP (vendedores de terreno, agentes externos)
- La empresa tiene más de 1.000 SKUs activos y los vendedores no pueden memorizar disponibilidad
- El tiempo de respuesta a cotizaciones supera los 30 minutos
Si quieres ver el flujo completo de automatización de pedidos en SAP B1 o cómo Cheetrack conecta el agente IA con tu ERP, tenemos artículos específicos para cada caso.
Ver cómo Cheetrack se conecta al Service Layer de tu SAP Business One
- ✓ Cotizaciones y pedidos creados automáticamente en SAP B1 desde WhatsApp
- ✓ Consulta de stock en tiempo real sin que el vendedor abra el ERP
- ✓ Precios y descuentos aplicados por SAP B1 — sin doble cálculo
- ✓ Implementación en 2–4 semanas sin modificar SAP B1
- ✓ Compatible con SAP B1 9.3 en adelante, on-premise y cloud
El Service Layer convierte SAP B1 en una plataforma abierta — sin perder ningún control
SAP Business One tiene la lógica de negocio correcta: precios, stock, condiciones comerciales. Lo que el Service Layer agrega es la capacidad de conectar ese sistema con el canal donde ocurren las ventas hoy. Cuando una IA puede crear documentos en SAP B1 en tiempo real, el ERP deja de ser un sistema donde se registran las operaciones y se convierte en el sistema que las procesa automáticamente.
¿Tienes SAP Business One y quieres conectarlo con tu canal de ventas?
Hablar con un especialista →