Skip to main content
A diferencia de SAP Business One o SAP ECC, SAP S/4HANA no tiene una única arquitectura de conexión. Existen tres modelos de despliegue distintos y cada uno habilita mecanismos de integración diferentes. Antes de conectar tu sistema con Payana, lo primero es identificar correctamente cuál de los tres tienes. El objetivo de esta guía es que tu equipo de IT/Basis pueda dejar todo habilitado y entregarnos las credenciales sin ida y vuelta. Las secciones 3 a 6 son el trabajo concreto: qué activar, qué autorizar, cómo verificar que quedó bien y qué enviarnos.
Es común confundir la edición real de tu sistema. Si ya tienes alguna integración externa con acceso directo a la base de datos, tu sistema no puede ser un Cloud Public Edition genuino — ese modelo es un SaaS cerrado que nunca permite ese tipo de acceso. Ante la duda, confírmalo con tu equipo de IT/Basis o con el partner que administra tu sistema antes de avanzar.

1. Identifica tu edición de S/4HANA

Es un SaaS multi-tenant administrado 100% por SAP. No tienes acceso a Basis ni a la base de datos. Solo se puede integrar a través de las APIs estándar publicadas en el SAP Business Accelerator Hub (api.sap.com), habilitadas mediante Communication Scenarios.No hay RFC, BAPI, ni acceso a IDocs. No necesitas middleware para conectar con Payana.
Si no tienes claro cuál de las tres opciones aplica, confírmalo con tu equipo de Basis o con el partner que administra tu sistema antes de avanzar. Definir mal la edición lleva a diseñar una integración que después no se puede construir.

2. Arquitectura de la conexión

La arquitectura cambia según la edición que identificaste en el paso anterior.

Cloud, Public Edition

Conexión directa: Payana se autentica con OAuth 2.0 (Client Credentials) contra el Communication Arrangement que tú configuras, y consume las APIs OData estándar. No hay middleware ni VPN de por medio — tu tenant siempre es accesible por internet.

Private Cloud (RISE) y On-Premise

La conexión casi siempre pasa por un middleware (SAP Integration Suite / CPI, SAP PI/PO, MuleSoft, Dell Boomi, u otro desarrollo propio). El middleware se encarga de la autenticación hacia afuera y traduce las llamadas hacia OData, BAPI/RFC o IDocs de tu SAP. La conexión directa sin middleware es posible pero poco frecuente — depende de tus políticas de seguridad.
SAP PI/PO fue diseñado originalmente para este propósito: exponer BAPIs/RFC hacia afuera como SOAP o REST. SAP Integration Suite (CPI) es la evolución cloud de esa misma función, con conectores nativos también para OData.

3. Servicios OData que Payana necesita

Esta es la lista completa. Tu equipo de Basis debe dejar todos los servicios de lectura activos y accesibles para el usuario de la integración, más el de escritura si vas a causar facturas desde Payana.

Lectura de catálogos

Escritura

El registro de asientos contables se usa para legalizaciones de gastos. No existe una API OData estándar para esta operación en S/4HANA On-Premise: se publica como servicio SOAP desde la transacción SOAMANAGER. Si en tu sistema los asientos se postean por otra vía, indícanos cuál y la adaptamos.

Lo que no tiene API estándar

Para estos datos no encontramos un servicio OData estándar en los sistemas On-Premise que hemos integrado. Son parametrización contable, y suelen requerir una vista CDS desarrollada y expuesta de tu lado:
El catálogo de APIs liberadas cambia con cada release de S/4HANA On-Premise, así que trata esta lista como un punto de partida y no como algo definitivo. Antes de encargar desarrollo, pídele a tu equipo que revise dos cosas:
  1. /IWFND/MAINT_SERVICE, por si tu release ya trae un servicio OData V2 que cubra el dato.
  2. /IWFND/V4_ADMIN y /IWBEP/V4_ADMIN, por si trae un grupo de servicios A2X (OData V4) disponible para publicar. Para tipos de cambio existe el service group API_CURRENCYEXCHANGERATE, cuya disponibilidad On-Premise depende del release.
Si hay algo publicable, es configuración de horas. Si no lo hay, es desarrollo ABAP, y entonces este es el punto que más condiciona el cronograma.Se puede arrancar la integración sin estos datos, mapeando los códigos a mano en Payana, pero hay que rehacer ese mapeo cada vez que cambie tu parametrización fiscal.

4. Cómo habilitarlos

1

Activa los Communication Scenarios

Desde la app Fiori “Communication Management”, activa los escenarios que cubren los servicios de la Sección 3. El de facturas de proveedor suele ser SAP_COM_0092; el resto varía según tu release y los encuentras buscando el nombre del servicio en el SAP Business Accelerator Hub.
2

Crea el Communication System y el Communication User

Genera un usuario de comunicación de tipo sistema y define el Communication System asociado.
3

Crea el Communication Arrangement

Asocia el usuario y el sistema a cada escenario activado.
4

Genera las credenciales OAuth2

Obtén el Client ID y el Client Secret desde el Communication Arrangement.

5. Verifica antes de enviarnos las credenciales

Este paso evita la mayor parte del ida y vuelta. No alcanza con que el servicio responda: hay que confirmar que devuelve registros.
Pedir $metadata devuelve 200 OK aunque el usuario no tenga acceso a los datos. Es la verificación que todo el mundo hace y la que no sirve. Siempre pide registros.
Para cada servicio de la Sección 3, con el usuario de la integración:
Cómo leer el resultado:
El caso 200 con lista vacía es el más engañoso, porque parece un sistema sin datos. Si tu sistema tiene facturas contabilizadas, necesariamente tiene cuentas contables y centros de costo: una lista vacía ahí es siempre un tema de autorizaciones, no de datos.
Verifica además que el maestro de proveedores traiga los datos contables, que viajan en una asociación aparte:
Si to_Supplier viene en null, falta autorización sobre la vista de acreedor del interlocutor comercial. Sin eso no llegan condiciones de pago, cuenta de reconciliación ni retenciones del proveedor, y cada factura que se cause va a necesitar que el usuario cargue esos datos a mano.

6. Cómo sacar las credenciales con SAP Integration Suite (CPI)

Este es el caso más frecuente en On-Premise y RISE: tu S/4HANA no se expone a internet, y Payana se conecta contra un iFlow de SAP Integration Suite que traduce la llamada. Hay dos conexiones distintas y no se configuran en el mismo lado: De la primera salen las credenciales que nos entregas. La segunda la configura tu equipo y Payana nunca la ve.

6.1 Credenciales de Payana hacia CPI

Lo que necesitas crear es una service key del servicio Process Integration Runtime. Se hace en el SAP BTP Cockpit, en la subcuenta donde está tu tenant de Integration Suite.
1

Entra al BTP Cockpit y ubica la subcuenta

Abre el SAP BTP Cockpit y navega hasta la subcuenta que aloja tu tenant de Integration Suite.
2

Crea la instancia del servicio

Menú izquierdo → Services → Instances and Subscriptions → botón Create.
  • Service: Process Integration Runtime
  • Plan: integration-flow
  • Runtime Environment: Cloud Foundry
  • Space: el que uses
  • Instance Name: por ejemplo payana-integration
En el paso de parámetros, el rol ESBMessaging.send ya viene predefinido. Es el que permite invocar los iFlows; sin él, la llamada devuelve 403 aunque el token sea válido.
El plan tiene que ser integration-flow. El plan api también existe, pero es para clientes que consumen la OData API de administración de Cloud Integration, no para invocar iFlows, y no ofrece el rol ESBMessaging.send.
3

Crea la service key

En la lista de Instances, abre la instancia recién creada → pestaña Service Keys → Create. Dale un nombre y confirma.
4

Copia los cuatro valores

Abre la service key creada. Es un JSON. Los campos que necesitamos:
No nos envíes el JSON completo de la service key por email o chat: trae el secret en texto plano. Coordina un canal seguro (ver Sección 8).

6.2 Endpoints de los iFlows

Además de las credenciales, necesitamos la dirección de cada iFlow que tu equipo despliegue para Payana, tal como quedó configurada en el adapter Sender (campo Address, por ejemplo /payana/suppliers). Envíanos la lista de los iFlows desplegados con su address y qué entidad de la Sección 3 cubre cada uno.
La URL completa que usamos se arma concatenando el url de la service key más /http más el address del iFlow. Nosotros la armamos: tú solo necesitas pasarnos las dos partes.

6.3 Conexión de CPI hacia S/4HANA

Esta parte la configura tu equipo y no nos la entregas, pero tiene que estar resuelta antes de que la integración funcione:
  • Una destination en la subcuenta de BTP apuntando a tu S/4HANA, con el usuario de la integración (el mismo de las secciones 4 y 5) y su autenticación.
  • Cloud Connector instalado y conectado, si tu S/4HANA está en una red privada, con el Location ID configurado y el host de SAP expuesto en el Access Control.
Confírmanos que ambos están listos y en qué ambiente (desarrollo, QAS, producción).

6.4 Verifica que todo responde

Con los cuatro valores de la service key, pide un token:
Debe devolver un JSON con access_token. Con ese token, llama a un iFlow desplegado:

7. Credenciales a entregar

Si publicaste el servicio SOAP de asientos, agrega la URL del WSDL y las credenciales asociadas.
Nunca compartas contraseñas o secretos por canales no seguros (email plano, chat). Coordina con nuestro equipo un canal seguro para el intercambio (gestor de secretos, vault compartido, o llamada).

8. Conectividad

Para una explicación general, válida para cualquier ERP, consulta ERP en la nube u on-premise.
Tu tenant es accesible por internet. No hay nada que configurar más allá del Communication Arrangement de la Sección 4.

9. Cuestionario de integración

Complétalo con tu equipo de IT o con el partner que administra tu sistema y envíalo junto con las credenciales.
1. ¿Qué edición de SAP S/4HANA utilizas?
  • S/4HANA On-Premise (servidores propios o de un proveedor de hosting)
  • RISE with SAP — S/4HANA Cloud, Private Edition
  • S/4HANA Cloud, Public Edition
  • No lo tengo claro aún
2. ¿Cuál es la versión del sistema? (ej. 2022, 2023, 2024, o el release cloud correspondiente — se consulta en Fiori Launchpad → About, o SM51 si tienes acceso GUI clásico)3. ¿El sistema está hosteado en la nube o en un data center?
  • En la nube → ¿en cuál? (AWS, GCP, Azure, otra)
  • En data center propio o de un proveedor/partner → ¿cuál?
4. ¿Cuentas actualmente con algún componente de tipo middleware? Sí / No4a. ¿Es una herramienta comercial o un desarrollo propio?
  • Comercial: SAP Integration Suite (CPI / Cloud Integration), SAP PI/PO, MuleSoft, Dell Boomi, Azure Integration Services / Logic Apps, otro
  • Desarrollo propio: indica tecnología/lenguaje
4b. Si el middleware lo opera un tercero (partner/consultora), ¿quién es y cómo coordinas con ellos un cambio técnico?
5. De la lista de la Sección 3, ¿cuáles servicios quedaron activados y verificados según la Sección 5? Indica el resultado de cada uno.6. ¿Tu sistema publica copias Z de los servicios estándar? Si es así, envíanos los nombres reales.7. ¿El expand to_Supplier del maestro de proveedores devuelve datos? Sí / No8. Para impuestos, métodos de pago y condiciones de pago: ¿hay grupos de servicios A2X disponibles en /IWFND/V4_ADMIN, o se requiere desarrollo de vistas CDS? ¿Quién lo desarrolla y en qué plazo?
9. ¿Las conexiones serían punto a punto (sin middleware)? Sí / No10. ¿Qué consideraciones de seguridad necesitas para las conexiones?
  • VPN site-to-site
  • Reglas de firewall
  • Reverse proxy / Web Dispatcher
  • OAuth 2.0 / certificados digitales (X.509)
  • Basic Auth
  • Otra
11. ¿Tu sistema cuenta con ambientes de prueba? Sandbox, Desarrollo (DEV), Calidad (QA), Pre-productivo/Staging, u otro.12. ¿Esos ambientes tienen datos representativos de producción? (proveedores, órdenes de compra, cuentas contables) Sí / Parcialmente / No

10. Lista de verificación final

  • La edición de tu S/4HANA confirmada (y validada, no solo autorreportada).
  • Todos los servicios de lectura de la Sección 3 activados.
  • S_SERVICE asignado al usuario de la integración para cada servicio.
  • Autorizaciones sobre los datos asignadas (el paso que más se olvida).
  • Cada servicio verificado según la Sección 5: devuelve registros, no lista vacía.
  • to_Supplier del maestro de proveedores devuelve datos.
  • API_SUPPLIERINVOICE_PROCESS_SRV activo, si vas a causar facturas desde Payana.
  • Servicio SOAP de asientos publicado, si vas a usar legalizaciones de gastos.
  • Definido el camino para impuestos, métodos de pago y condiciones de pago.
  • Conectividad resuelta (Sección 8).
  • Si usas SAP Integration Suite: service key creada con el rol ESBMessaging.send, iFlows desplegados y destination + Cloud Connector configurados (Sección 6).
  • Credenciales listas para entregar por un canal seguro (Sección 7).
  • Cuestionario de la Sección 9 completo.