> ## Documentation Index
> Fetch the complete documentation index at: https://docs.payana.la/llms.txt
> Use this file to discover all available pages before exploring further.

# SAP S/4HANA

> Guía de integración con SAP S/4HANA: identifica tu edición, elige el método de conexión con Payana y resuelve las dudas clave antes de integrar

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.

<Warning>
  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.
</Warning>

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

<Tabs>
  <Tab title="Cloud, Public Edition">
    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.
  </Tab>

  <Tab title="Private Cloud (RISE with SAP)">
    Es una instancia dedicada tuya, corriendo en un hyperscaler (Azure, AWS, GCP) o datacenter de SAP, gestionada por SAP o por un partner. Técnicamente se comporta como un On-Premise: tienes APIs OData, pero también RFC/BAPI e IDocs disponibles, con más flexibilidad y más responsabilidad de configuración de tu lado (o del partner que te administra el sistema).
  </Tab>

  <Tab title="On-Premise">
    Está instalado en tus propios servidores o en los de un proveedor de hosting/partner (incluye modelos "lift and shift" a Azure/AWS operados por un partner, que siguen siendo técnicamente On-Premise aunque corran en la nube). Tienes disponible: OData vía SAP Gateway, RFC/BAPI, IDocs, SOAP. Generalmente vas a necesitar un middleware para exponer estos protocolos hacia afuera de forma segura.
  </Tab>
</Tabs>

<Info>
  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.
</Info>

## 2. Arquitectura de la conexión

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

### Cloud, Public Edition

```mermaid theme={null} theme={null}
flowchart LR
    Payana --OAuth2--> API[APIs OData estándar] --> SAP
```

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

```mermaid theme={null} theme={null}
flowchart LR
    Payana --> Middleware --> Gateway["OData Gateway / BAPIs vía RFC"] --> SAP
```

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.

<Note>
  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.
</Note>

## 3. Cuestionario de integración SAP S/4HANA

Para iniciar la conexión, completa este cuestionario (con ayuda de tu equipo de IT o del partner que te administra el sistema) y envíalo al equipo de onboarding de Payana.

<AccordionGroup>
  <Accordion title="Modelo de despliegue">
    **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?
  </Accordion>

  <Accordion title="Infraestructura y middleware">
    **4. ¿Cuentas actualmente con algún componente de tipo middleware?** Sí / No

    **4a. ¿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?**
  </Accordion>

  <Accordion title="Conectividad y seguridad">
    **5. ¿Las conexiones serían punto a punto (sin middleware)?** Sí / No

    **6. ¿Qué protocolos o mecanismos tienes disponibles para la integración?**

    * OData / REST API (disponible en todas las ediciones)
    * RFC / BAPI (solo On-Premise o RISE)
    * SOAP / WebServices
    * IDocs
    * No tengo esa información

    **7. ¿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
  </Accordion>

  <Accordion title="Procesos e integraciones existentes">
    **8. ¿Tienes procesos de integración similares ya implementados con otros
    proveedores o sistemas?** En caso afirmativo, cuéntanos cómo se hizo
    (protocolo, middleware, tipo de acceso).
  </Accordion>

  <Accordion title="Ambientes">
    **9. ¿Tu sistema cuenta con ambientes de prueba?** Sandbox, Desarrollo (DEV), Calidad (QA), Pre-productivo/Staging, u otro.

    **10. ¿Esos ambientes tienen datos representativos de producción?** (proveedores, órdenes de compra, cuentas contables) Sí / Parcialmente / No
  </Accordion>
</AccordionGroup>

## 4. Métodos de conexión

<Tabs>
  <Tab title="Cloud, Public Edition">
    Única vía posible: **OAuth 2.0 (Client Credentials)** contra un *Communication Arrangement*.

    <Steps>
      <Step title="Activa el Communication Scenario">
        Desde la app Fiori "Communication Management", activa el escenario correspondiente a facturas de proveedor (ej. `SAP_COM_0092` o equivalente según tu versión).
      </Step>

      <Step title="Crea el Communication System y el Communication User">
        Genera un usuario de comunicación de tipo sistema y define el Communication System asociado.
      </Step>

      <Step title="Genera las credenciales OAuth2">
        Obtén el Client ID y el Client Secret desde la Communication Arrangement.
      </Step>

      <Step title="Compártelas con Payana">
        Envía la URL de tu tenant y las credenciales OAuth2 por un canal seguro.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Private Cloud / On-Premise — Endpoint público + whitelist">
    Si tu sistema (o el middleware que lo expone) tiene una URL HTTPS alcanzable desde internet:

    1. Expón el endpoint del middleware o del SAP Gateway, activando el o los servicios OData necesarios (`/IWFND/MAINT_SERVICE` + SICF, del lado de SAP).
    2. Configura una whitelist de IPs en tu firewall para que solo las IPs estáticas de Payana puedan conectar.
    3. Usa un certificado SSL válido para el dominio.

    Es la opción más rápida de implementar, pero muchas empresas con On-Premise/RISE no la permiten por política de seguridad.
  </Tab>

  <Tab title="Private Cloud / On-Premise — VPN site-to-site">
    Si tu sistema está en una red privada sin exposición pública:

    1. Configura un túnel VPN site-to-site (IPSec) entre tu red (o la de tu partner de infraestructura) y la nube de Payana.
    2. Esta opción requiere una reunión técnica entre tu administrador de redes (o el de tu partner) y el equipo de ingeniería de Payana, para intercambiar parámetros criptográficos, IPs peer y rutas.
    3. Dentro del túnel, la llamada final puede ir al middleware o directo al Web Dispatcher/SAP Gateway, según cómo esté armada tu arquitectura interna.
  </Tab>
</Tabs>

<Note>
  Si ninguna de las opciones anteriores te resulta clara o viable, agenda una
  reunión técnica con nuestro equipo de Onboarding para definir el procedimiento
  a seguir.
</Note>

## 5. APIs y objetos relevantes para Cuentas por Pagar

| Tipo             | Nombre                                             | Uso                                                          |
| ---------------- | -------------------------------------------------- | ------------------------------------------------------------ |
| API OData        | `API_SUPPLIERINVOICE_PROCESS_SRV`                  | Lectura, creación y liberación de facturas de proveedor      |
| API OData        | `API_SUPPLIERINVOICE`                              | Lectura de facturas ya contabilizadas                        |
| CDS View (OData) | `I_SupplierLineItem` / `I_OperationalAcctgDocItem` | Partidas abiertas y aging de cuentas por pagar               |
| API OData        | `API_BUSINESS_PARTNER`                             | Maestro de proveedores                                       |
| API OData        | `API_PURCHASEORDER_PROCESS_SRV`                    | Órdenes de compra, si necesitas trazabilidad OC → factura    |
| BAPI             | `BAPI_INCOMINGINVOICE_GETDETAIL`                   | Lectura de detalle de factura de proveedor (On-Premise/RISE) |
| BAPI             | `BAPI_INCOMINGINVOICE_CREATE1`                     | Creación de factura de proveedor (On-Premise/RISE)           |
| BAPI             | `BAPI_ACC_DOCUMENT_POST`                           | Contabilización de documentos contables asociados            |

<Info>
  La disponibilidad real de cada objeto depende de tu edición y de qué esté
  efectivamente activado en tu sistema. Confírmalo siempre contra las respuestas
  del cuestionario (Sección 3) antes de avanzar con el conector.
</Info>

## 6. Credenciales de conexión

Las credenciales varían según el método elegido:

| Método                        | Parámetros necesarios                                                                                         |
| ----------------------------- | ------------------------------------------------------------------------------------------------------------- |
| OAuth2 (Cloud Public Edition) | URL del tenant, Client ID, Client Secret, URL del token endpoint                                              |
| OData vía middleware          | URL del endpoint expuesto por tu middleware, usuario/API key o credenciales OAuth2 del middleware             |
| RFC/BAPI vía middleware       | URL del endpoint SOAP/REST que expone tu middleware, credenciales asociadas                                   |
| VPN site-to-site              | IP pública de tu gateway, rango de IPs internas, parámetros IPSec (PSK o certificados), IP del peer de Payana |

<Warning>
  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).
</Warning>

## 7. Dudas a resolver antes de elegir un método

Antes de definir el método de conexión, asegúrate de tener claridad sobre estos puntos — muchos van a depender de tu equipo de IT o del partner que te administra el sistema:

* [ ] ¿Cuál es la edición real de tu S/4HANA? (no te bases solo en la clasificación comercial — valídalo con tu equipo de Basis o partner)
* [ ] ¿Tu sistema o middleware ya tiene el Gateway OData activo, o hay que activarlo?
* [ ] ¿Qué middleware usas efectivamente para este caso (si tienes más de uno disponible), y qué tiempos maneja tu equipo/partner para construir una interfaz nueva?
* [ ] ¿RFC/BAPI es una opción real, o prefieres ir 100% por OData vía middleware?
* [ ] Si hace falta una BAPI o función custom, ¿quién la desarrolla y en qué plazo?
* [ ] ¿Soportas OAuth 2.0, o el mecanismo esperado es Basic Auth/certificado (por ejemplo, dentro de un túnel VPN)?
* [ ] ¿La conexión sería por endpoint público con whitelist, o necesitas VPN site-to-site? Si es VPN, ¿ya tienes una con otro proveedor que se pueda extender, o hay que levantar una nueva?
* [ ] ¿Tienes ambientes de prueba con datos representativos para validar el flujo antes de producción?
* [ ] ¿Hay costos o tiempos adicionales que cobre tu partner/administrador del sistema por habilitar la integración?
* [ ] Alcance funcional exacto: ¿solo CxP y facturas, o también órdenes de compra y maestro de proveedores? ¿Sincronización en tiempo real o por lotes?

## 8. Lista de verificación final

Antes de contactar al equipo de onboarding, verifica que tienes todo listo:

* [ ] La edición de tu S/4HANA confirmada (y validada, no solo autorreportada).
* [ ] Las respuestas del cuestionario técnico (Sección 3).
* [ ] El método de conexión definido (Sección 4) según tu edición.
* [ ] Las credenciales necesarias según el método elegido (Sección 6).
* [ ] Las dudas de la Sección 7 resueltas o asignadas a un responsable.
