Tecnología 8 min

Guía Técnica: Integrando ECF en SAP y Oracle

Dawlin Peña
Dawlin Peña
CTO  ·  28 de febrero de 2025
Guía Técnica: Integrando ECF en SAP y Oracle

El Reto de los ERP Monolíticos

SAP ECC y Oracle E-Business Suite fueron diseñados en una época en que la comunicación con entidades externas se hacía por lotes, no en tiempo real. Integrar estos sistemas con una API REST como la de ECF SSD requiere una capa de adaptación que actúe como intermediario entre el mundo de las transacciones batch y el mundo de los microservicios.

La arquitectura que ha demostrado mayor estabilidad es el patrón Outbox + Worker. En lugar de llamar directamente a la API de ECF desde el ERP, el sistema escribe la factura pendiente en una tabla de salida (outbox) dentro de su propia base de datos. Un proceso independiente lee esa tabla, envía las facturas a la API y actualiza el estado. Esto desacopla el rendimiento del ERP del de la API externa.

Implementación en SAP

En SAP ECC o S/4HANA, el punto de extensión natural es el BADI FI_DOCUMENT_POST o, en implementaciones más modernas, un Business Event que se dispara al confirmar la factura de ventas (VF01). Desde ese punto, el flujo recomendado es:

  1. Serializar el documento fiscal al formato JSON requerido por la API SSD.
  2. Insertar el registro en la tabla Z personalizada (outbox) con estado PENDING.
  3. Un job de fondo (SM36) ejecuta cada 2 minutos el programa ABAP que lee la outbox y llama a la API vía HTTP usando la clase CL_HTTP_CLIENT.
  4. La respuesta incluye el XML autorizado por la DGII y el número de autorización, que se persiste en el documento SAP.

Implementación en Oracle EBS

Oracle ofrece el motor de Business Events (Oracle Workflow) y los Concurrent Programs como mecanismos equivalentes. La integración se construye sobre un Concurrent Program que invoca la API usando UTL_HTTP o, en versiones más recientes, la integración REST nativa de Oracle Integration Cloud (OIC).

El mayor riesgo en Oracle es la gestión de errores silenciosa: un UTL_HTTP fallido puede quedar registrado solo en los logs del servidor de aplicaciones si no se instrumenta correctamente. Se recomienda usar una tabla de auditoría propia y alertas en tiempo real mediante Oracle Advanced Queuing.

Consideraciones de Seguridad

Independientemente del ERP, el certificado digital del emisor nunca debe residir en el servidor de aplicaciones del ERP. La práctica recomendada es delegar la firma al servicio ECF SSD, que maneja el certificado en un HSM (Hardware Security Module) certificado. Esto elimina el riesgo de exposición de claves privadas en entornos con múltiples administradores de sistema.