Web Mentor

SAP Business One y Odoo: conecta tu inventario a tu tienda B2B

Para conectar SAP Business One a un ecommerce B2B, la vía oficial es Service Layer, la API de SAP que trabaja sobre HTTP y OData, o la DI API. Desde la versión 10.0 FP 2602, Service Layer además puede avisar al instante, por webhooks, cuando se crea o modifica un objeto, como un pedido de venta. En Odoo tienes dos caminos: su propia app de eCommerce, que genera pedidos de venta y órdenes de entrega dentro de Odoo, o una tienda externa conectada por su API JSON-2, que según la documentación de Odoo solo está disponible en los planes Custom.

La API es la parte fácil. Lo que decide si tu cliente ve el precio y la existencia correctos es cómo tienes configurados los precios especiales, las unidades de medida y las existencias comprometidas en pedidos. Aquí verás cómo funciona cada sistema, qué se sincroniza y cada cuánto, qué suele fallar y cómo prepararte.

Cómo funciona una integración ERP con tienda en línea

Una API para integrar sistemas mayoristas es una ventanilla oficial del ERP: el conector pide datos, como existencias, precios o clientes, o entrega datos, como un pedido nuevo, y el ERP aplica sus propias reglas. Las alternativas son leer la base de datos directamente o intercambiar archivos programados; con SAP Business One y Odoo, que documentan sus API, conviene usar la API.

Hay dos formas de mantener los datos al día:

  • Consulta programada. El conector pregunta cada cierto tiempo qué cambió. Es simple, pero entre consulta y consulta la tienda puede mostrar datos viejos.
  • Aviso por evento (webhook). El ERP avisa en cuanto algo pasa, como un pedido nuevo. Es lo más cercano a tener inventario en tiempo real en tu tienda B2B.
DatoDirecciónFrecuencia recomendada
Artículos y unidadesERP → tiendaAl crear o modificar
Listas de precios, precios especiales y descuentosERP → tiendaDiario y en cada cambio
Existencias disponibles por almacénERP → tiendaPor evento o varias veces al día
Clientes y su lista de preciosERP → tiendaAl dar de alta o cambiar condiciones
PedidosTienda → ERPEn cuanto se confirman

SAP Business One y tu ecommerce B2B

Service Layer, DI API y webhooks

La guía oficial Working with SAP Business One Service Layer, en su versión de julio de 2026, describe Service Layer como la API de nueva generación para consumir datos y servicios de SAP Business One, construida sobre HTTP y OData (versiones 3 y 4). Usa el mismo núcleo que la DI API, la otra interfaz de desarrollo de SAP Business One, así que ambas comparten las definiciones de objetos, y la lógica de negocio de SAP, como el cálculo de impuestos, se ejecuta del lado del servidor. Un pedido creado desde la tienda pasa por esas mismas reglas. La guía documenta soporte para SAP HANA y, desde la versión 10.0 PL01, para Microsoft SQL Server.

Desde la versión 10.0 FP 2602, Service Layer soporta webhooks: notificaciones inmediatas cuando ocurre un evento, como la creación o modificación de un pedido de venta. Vienen desactivados por omisión en cada empresa, así que hay que activarlos. Con versiones anteriores, el conector consulta por horario.

Qué existencia publicar

SAP Business One maneja cuatro cifras por artículo. Según la ayuda de SAP: en stock es lo que hay físicamente; comprometido es lo reservado por pedidos de venta y otros documentos; pedido es lo comprado o en producción que aún no llega; y disponible es en stock más pedido menos comprometido. SAP Learning lo explica igual y aclara que se evalúa por almacén.

Ojo: el disponible de SAP suma lo que viene en camino. Si tu tienda promete entrega inmediata, publica en stock menos comprometido, por almacén. Si aceptas pedidos sobre mercancía por llegar, dilo en la ficha del producto.

Precios: la jerarquía que tu tienda debe respetar

Cada socio de negocio tiene una lista de precios en su ficha. Encima de ella, SAP busca primero acuerdos globales y precios especiales para ese socio de negocio, luego grupos de descuento, después descuentos por periodo y volumen, y al final la lista del cliente, según el curso de precios y descuentos de SAP Learning. Además, el precio especial se busca primero para la unidad de medida del renglón; si no existe, SAP usa la unidad de inventario y ajusta el precio en proporción, como explica la ayuda de SAP sobre precios especiales.

Si tu tienda solo lee listas de precios, a los clientes con precio especial les mostrará otro precio. El conector debe leer también precios especiales y descuentos, o calcular el precio igual que SAP.

Piezas, paquetes y cajas

En SAP Business One, cada artículo usa un grupo de unidades de medida con sus reglas de conversión y unidades predeterminadas para compra, venta e inventario; la unidad de inventario ya no se puede cambiar una vez que el artículo tiene movimientos (SAP Learning). Para la tienda: vende en la unidad en que definiste el precio, o asegúrate de que el conector convierta. Ejemplo ilustrativo: si un distribuidor de desechables vende por caja de 12 y la tienda manda el pedido en piezas, 10 cajas pueden registrarse como 10 piezas.

Odoo

Opción 1: la app eCommerce de Odoo

Si ya usas Odoo, su app de eCommerce genera el pedido de venta al confirmarse la compra y, con Inventario instalado, la orden de entrega se crea sola, según la guía de manejo de pedidos. No hay conector que mantener. Para un sitio de Odoo eCommerce B2B, la documentación de Odoo sugiere mostrar precios sin impuestos, limitar el acceso a usuarios con sesión iniciada, dejar las cuentas de cliente por invitación y asignar a cada contacto su lista de precios.

En existencias, la tienda calcula lo disponible como la cantidad a la mano menos lo ya reservado para entregas. Puedes elegir el almacén predeterminado, mostrar la cantidad cuando baje de un umbral y decidir si permites vender sin existencia (productos en eCommerce). Para cajas, Odoo usa empaques que aparecen en la página del producto, y puedes restringir qué unidades se venden en línea.

La contraparte: alguien de tu equipo debe configurar, diseñar y operar el sitio dentro de Odoo.

Opción 2: una tienda externa conectada por API

La API externa de Odoo expone parte de sus modelos por HTTP en el endpoint /json/2 y se autentica con una llave de API. Antes de contratar una integración, revisa tres puntos de la documentación, consultada en octubre de 2026:

  • Plan. El acceso a datos por API externa solo está disponible en los planes Custom de Odoo; no en One App Free ni en Standard.
  • Protocolos viejos. XML-RPC y JSON-RPC están obsoletos: sus servicios principales se retirarán en Odoo 22 (otoño de 2028) y en Odoo Online 21.1 (invierno de 2027). Una integración nueva debe usar JSON-2.
  • Versión. La documentación vigente es la de Odoo 20.0 y cambia entre versiones; confirma que el conector esté probado con la tuya.

Lo que hay que cuidar en Odoo

  • Cada contacto nuevo recibe la lista de precios predeterminada. Si no le asignas la suya en la pestaña Ventas y compras, verá precios generales (listas de precios).
  • Entre reglas igual de específicas, la de mayor cantidad mínima tiene prioridad: útil para precios por caja o por volumen.
  • Lo reservado para entregas ya no cuenta como disponible, así que tu tienda no debe prometerlo.

SAP Business One y Odoo, lado a lado

TemaSAP Business OneOdoo
Vía de conexiónService Layer (HTTP y OData) o DI APIApp eCommerce nativa o API JSON-2
Precio por clienteLista del socio de negocio más precios especiales y descuentosLista de precios asignada al contacto
Existencia para la tiendaEn stock menos comprometido, por almacénA la mano menos lo reservado para entregas
Cajas y piezasGrupos de unidades de medidaEmpaques
Riesgo a vigilarFunciones que dependen del FP instalado, como los webhooksXML-RPC y JSON-RPC en retiro; API solo en planes Custom

Lista de verificación antes de conectar

  1. Anota tu versión exacta: en SAP Business One, la 10.0 con su FP y si corre en SQL Server o SAP HANA; en Odoo, la versión, si es Odoo Online o instalación propia, y tu plan.
  2. Define la clave única de artículo y depura duplicados.
  3. Revisa unidades de venta y conversiones: pieza, paquete y caja master.
  4. Documenta listas de precios, precios especiales y descuentos por cliente.
  5. Define qué almacenes alimentan la tienda y qué cifra publicas.
  6. Revisa clientes: RFC, régimen fiscal, uso del CFDI, condiciones de pago, crédito y lista asignada.
  7. Decide en qué estado entra el pedido al ERP, por revisar o confirmado, y quién lo revisa.
  8. Crea un usuario de integración con permisos mínimos y llaves que puedas revocar.
  9. Acuerda frecuencia, alertas por fallas y una prueba con pocos productos y clientes.

Dónde entra Web Mentor

Si no quieres operar una tienda tú mismo, Web Mentor, nuestra empresa, construye y opera la tienda en línea B2B de mayoristas: tus clientes registrados ven sus precios, arman su pedido a cualquier hora y el pedido te llega completo a WhatsApp y correo. El plan Crecimiento ($14,990 MXN + IVA al mes) incluye inventario conectado a tu sistema, SAP Business One u Odoo entre ellos, y la conexión se confirma en la demo. También incluye campañas de Google Ads para atraer compradores mayoristas; la inversión en anuncios la pagas tú. Los cambios a la tienda se piden por WhatsApp a Web Mentor AI Agent, sin tickets. Si usas otro ERP, lo evaluamos antes de prometerte nada.

Para comparar opciones, revisa las plataformas de ecommerce B2B en México y cómo funciona la conexión con Aspel SAE o con CONTPAQi y Microsip.

Preguntas frecuentes

¿Puedo tener inventario en tiempo real en mi tienda B2B con SAP Business One?

Lo más cercano son los webhooks de Service Layer, disponibles desde la versión 10.0 FP 2602: SAP avisa en cuanto se crea o modifica un objeto, como un pedido. En versiones anteriores, el conector consulta por horario, así que conviene dejar un colchón de existencias.

Si ya tengo Odoo, ¿me conviene su eCommerce o una tienda externa?

Si tu equipo puede configurarla y operarla, la app nativa evita sincronizaciones. Una tienda externa tiene sentido si quieres que alguien más la opere; antes, confirma que tu plan de Odoo permita usar la API externa.

¿Qué API conviene para integrar sistemas mayoristas con una tienda?

La que el fabricante documenta y mantiene: Service Layer en SAP Business One y JSON-2 en Odoo. En Odoo, evita construir integraciones nuevas sobre XML-RPC o JSON-RPC, porque ya están obsoletas.

Si usas SAP Business One u Odoo y quieres ver tu catálogo en una tienda mayorista antes de decidir, Agenda una demo. En 48 horas te mostramos una demo privada con tus productos, sin costo ni compromiso, y confirmamos cómo se conecta tu sistema.

WhatsApp