Integración con SAP Business One B1 HANA
Este documento usa la palabra SAP, para referirse a SAP Business One.
La integración utiliza la API de Service Layer de SAP (web services) para conectar ambos sistemas de manera segura y robusta. Soporta SAP tanto SQL como HANA, a partir de la versión 10.
Pre-requisitos
- Activar el Service Layer de SAP y contar con su URL pública en Internet. Tanto la activación como la URL se pueden obtener desde el Extension Manager.
- Contar con las credenciales de un usuario:
UserName
,Password
yCompanyDB
. No se requiere adquirir una licencia adicional. Ver más adelante la opción de sincronización de pedidos, pues si se desea que se sincronicen como Oferta de venta, se necesita una licencia Profesional. - Proveer URL de servicios de ambiente de prueba para Handy (ambiente de QA).
- Que el usuario tenga acceso a las siguientes entidades: Currencies, Quotations, Orders, Items, ItemGroups, BusinessPartners, Contacts y PriceLists.
Alcance de la integración
Sincronización de SAP → Handy
Clientes
Los socios de negocio de SAP son sincronizados a Handy para crearse como clientes. Se sincronizan los datos generales como código de cliente, nombre, dirección, teléfono, correo y también el límite de crédito. Ver el mapeo de datos completo abajo.
La zona con la que se creará el cliente corresponde al campo personalizado de SAP llamado OCRD.U_HandyZone
, o se puede mapear a algún otro campo que se prefiera. Si los clientes no tienen definido este valor, no son sincronizados.
Sólo se sincronizan clientes (BusinessPartners) de tipo Customer (CardType=cCustomer).
⚠️ La integración no envía nuevos clientes desde Handy hacia SAP. Los clientes deben crearse primero en SAP. La integración espera que los códigos de cliente coincidan entre ambos sistemas.
Para controlar qué clientes están visibles en Handy, se debe agregar un campo personalizado en SAP: OCRD.U_HandyCustomerStatus
con dos posibles valores:
01
: deshabilitado02
: habilitado
Estos valores deben de ser cadenas de texto (eje: "01"), no numéricos.
El campo activo/inactivo nativo de SAP no debe usarse como un reemplazo de este nuevo campo nuevo propuesto porque cosas como el estado crediticio pueden cambiar el campo activo/inactivo y eso podría hacer que el cliente se desactive en Handy, un comportamiento que no se desea porque debería poder registrar una visita en Handy, incluso si el estado de crédito para ese cliente es malo.
Si no se incluye este campo, todos los clientes estarán habilitados en Handy.
Productos
Los productos son sincronizados junto con sus familias de producto y categorías.
⚠️ Los productos deben crearse primero en SAP. La integración no envía productos de Handy hacia SAP. La integración espera que los códigos de producto coincidan entre SAP y Handy.
Los productos que se copian desde SAP deben cumplir las siguientes condiciones para que se puedan sincronizar, si no, se ignoran:
- Estar activos (Active=Y, Frozen=N)
- Ser vendibles (SalesItem=Y)
- Ser inventariables (InventoryItem=Y)
- Estar asignado al menos en una lista de precios
- La unidad de medida debe existir en Handy (con el mismo nombre exacto que en SAP).
Para agrupar productos en Handy, se debe usar el campo personalizado llamado U_HandyProductCategory
, el cual debe contener el nombre de la familia de producto que se quiere usar para Handy (por ejemplo, "Galletas", no un ID).
El campo nativo de SAP de Grupo de artículos, se sincronizará hacia la categoría de producto, que es solamente informativo.
La razón de hacerlo así, es que da más control sobre qué artículos deseas que estén disponibles en Handy. Si quisieras que un grupo de artículos que está disponible en SAP, no esté disponible en Handy, puedes asignar una familia de productos llamada "Inactivos", y desactivar esa familia en Handy.
Se debe seleccionar una lista de precios default a utilizar como el precio regular de Handy.
Precios
La sincronización soporta los siguientes esquemas:
- Precio general del producto (por lista de precios)
- Precios especiales por cliente
Cuando existen precios especiales para una combinación producto-cliente, estos tienen prioridad sobre el precio de lista.
Sólo se utiliza una moneda, que es el peso mexicano (código de moneda MXP).
📌 Puedes sincronizar hasta 5 listas de precios a la vez. Se seleccionan desde la configuración de la integración.
Sincronización de Handy → SAP
Preventa de Handy a Oferta de Venta
Las Preventas capturadas en Handy se convierten automáticamente en Ofertas de Venta dentro de SAP casi en tiempo real (cada 10 minutos). También es posible configurarlo para que se creen como Órdenes de Venta si así lo deseas.
El crear órdenes de venta es más estricto en SAP y provoca que el inventario se reserve. Las ofertas de venta no reservan el inventario no dependen de que un cliente esté activo.
Debido a que la orden de venta requiere fecha de entrega, se usará la utilizada en Handy.
Los tipos de pedido en Handy pueden estar configurados para dirigir los pedidos a diferentes almacenes en SAP. Esto se hace nombrando al tipo de pedido, con el almacén correspondiente en SAP (mismo nombre).
Como referencia, en el campo de comentarios en SAP se guarda:
- ID del pedido de Handy
- Tipo de pedido
- Usuario que lo capturó
- Comentarios adicionales (capturadas en el pedido de Handy)
Si se desea, es posible configurar la integración para que las órdenes canceladas en Handy, se cancelen en SAP en automático también.
El ID resultante del documento en SAP (sea oferta u orden) se coloca también en Handy para poder consultarlo desde el app web, si fuera necesario.
Alertas y notificaciones
Cuando un pedido no se logra crear en SAP (por ejemplo, por exceder el límite de crédito), se puede enviar:
- Una notificación en tiempo real al vendedor hacia la app de Handy
- Un correo electrónico al administrador, indicando la causa
Soporte técnico
Handy ofrece soporte técnico para la integración en el mismo horario regular del servicio de Handy, que es de lunes a viernes, de 08:00 a 19:00 horas (horario del Centro de México), de lunes a viernes.
Ofrecemos apoyo ante dudas sobre la integración o documentos que pudieran no sincronizarse. **
Notas técnicas y seguridad
- La integración funciona tanto para SAP SQL como para SAP HANA (desde versión 10).
- No es necesario adquirir licencias adicionales: puedes reutilizar una licencia existente, pero sí requiere una licencia.
- Se requiere una licencia de tipo Usuario, no de tipo Instancia.
Para reducir riesgos de seguridad de exponer la API web de SAP en Internet, Handy permite que se gestione una regla de seguridad de red, de tal manera que sólo una IP fija pueda tener acceso a la API.
Handy administra un servidor proxy con la IP fija, y puede proporcionar el valor de la IP a utilizar. Es responsabilidad del cliente configurar su red para que el servicio sólo esté disponible para dicha IP fija, a través de sus configuraciones de firewall.
📋 Mapeo de Campos SAP B1 ↔ Handy
Pedidos
Campo Handy | Campo SAP B1 |
---|---|
| |
| |
| |
| |
| |
| |
| |
| |
El campo de impuestos se mapea entre Handy y SAP. Los códigos de impuesto a usar son los correspondientes a la tabla OVTG
de SAP. Ejemplo, el impuesto IVA 16% de Handy se mapea al valor IVA16
de SAP. Las necesidades de impuestos de cada cliente, deben de revisarse en lo individual.
Opcionalmente, se puede mapear el campo WarehouseCode
de cada línea, al tipo de pedido utilizado.
cl
Clientes (socios de negocio de SAP)
Campo Handy | Campo SAP B1 |
---|---|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| Concatenado de campos |
| |
- Para las direcciones, la integración intenta encontrar la que corresponda al nombre establecido en la default de entrega (
ShipToDefault
). Si no existe, toma la primera. - Si el cliente no tiene vendedor asignado, se asigna a la zona "Default".
- El ID de lista de precios de Handy a utilizar es aquel que corresponda en Handy en el código de la lista de precios, con el ID de la lista de SAP.
Productos (artículos de SAP)
Campo Handy | Campo SAP B1 |
---|---|
| |
| |
| |
|
| |
| |
| |
| Precio correspondiente a la lista de precios especificada como la default |
| |
Listas de precios
Campo Handy | Campo SAP B1 |
---|---|
| |
| |
| |
| |
- Sólo se sincronizan listas de precios activas en SAP.
- Los precios se toman del catálogo de productos.
Precios especiales
Campo Handy | Campo SAP B1 |
---|---|
| |
| |
| |
Cosas aún no soportadas
Estas son las funcionalidades todavía no implementadas en la integración:
- Manejo de rutas (de venta y entrega)
- Metas de venta
- Promociones
- Descuentos
- Facturación desde Handy
- Entregas
- Multimonedas
- Saldos pendientes
- Desglose de saldos
Configuraciones avanzadas
Series
En ocasiones las empresas manejan rangos de folios de documentos en SAP diferentes para cada CEDIS.
Es posible determinar, por usuario (vendedor) qué folio de Series de SAP utilizar para los pedidos capturados en Handy.
La manera de hacerlo es colocar un texto en el campo de "extras" al editar un usuario en Handy, e indicar el ID de SAP de la serie a utilizar para dicho usuario.
Ejemplo, para usar el ID de folios (Series) de SAP número 22, se le coloca el siguiente JSON en el campo extras de usuario:
{ "Quotation": { "Series": 22 } }
Esto hará que los documentos capturados por dicho usuario, se asignen a esa serie de SAP.
Si este dato no se especifica en el usuario, se utiliza la serie por default que SAP toma.
Resolución de problemas
Cliente no se sincroniza de SAP a Handy
- Verifica que la lista de precios asignada al cliente en SAP, está configurada para sincronizarse hacia Handy. Si la lista de precios asignada al cliente en SAP no existe, no se sincronizará a Handy. Verifica en este artículo las limitantes de sincronización de listas de precios de SAP a Handy.
- Verifica que el cliente esté habilitado (campo "Valid" en SAP) y que tenga un valor en el campo de usuario de Zona en SAP.
¿Quieres agendar una reunión para integrar SAP con Handy?
¡Estamos en el chat para ayudarte! 😊
Actualizado el: 03/07/2025
¡Gracias!