Club Universitario de Deportes · Tienda Crema

Arquitectura, seguridad y procesos de la integración

Cómo se conecta la tienda online con SAP Business One y con el operador logístico, qué controles protegen los datos y el dinero, y en qué estado está cada proceso.

Versión 1.0 Agosto 2026 Estado: ciclo completo probado Cobertura de pruebas: 139 automatizadas
01

La arquitectura en una imagen

La tienda nunca habla directamente con SAP. Entre ambos hay un sistema intermedio, el middleware, que traduce, valida, ordena y deja registro de todo lo que ocurre.

Tienda online Shopify Catálogo, carrito checkout y cobro Middleware servidor privado del club Cola de trabajos con reintentos Base de datos y mapeos Auditoría encadenada Llaves de habilitación SAP Business One Artículos, precios, stock Clientes y comprobantes Service Layer Operador logístico PITS Despacho y seguimiento API propia pedido pagado stock y seguimiento boleta o factura catálogo y stock alta del envío estado del envío Línea continua: el middleware escribe. Línea punteada: el middleware lee o recibe. Las credenciales de SAP nunca salen del middleware. La tienda no las conoce.

Shopify

Es la cara al público. Maneja catálogo, fotos, carrito, checkout y el cobro. No conoce a SAP.

Middleware

Traduce entre ambos mundos, valida cada operación, ordena los trabajos y deja registro auditable.

SAP Business One

Es la fuente de verdad de artículos, precios, stock, clientes y comprobantes. Manda en todo lo contable.

PITS

Recibe el envío ya facturado y devuelve el estado y el código de seguimiento del despacho.

02

Por qué existe el middleware

La alternativa sería conectar la tienda directamente con SAP. No se hizo, y por tres razones concretas.

RAZON 01

Las credenciales de SAP no pueden vivir en la tienda

Shopify es una plataforma de terceros donde trabajan agencias, diseñadores y personal de marketing.

Con middleware: las claves de SAP viven en un único servidor controlado por el club, cifradas, y nadie que administre la tienda las ve.
RAZON 02

SAP no perdona un error de formato

Un comprobante mal armado se rechaza, y uno mal emitido solo se corrige con nota de crédito.

Con middleware: cada documento se valida antes de enviarse y, si algo falla, el pedido queda en cola para reintento en vez de perderse.
RAZON 03

Internet se cae, SAP se reinicia

Si la conexión falla justo cuando entra un pedido, sin intermediario ese pedido se pierde sin que nadie se entere.

Con middleware: el pedido queda guardado y encolado. Cuando SAP vuelve, se procesa solo.
03

Seguridad

Siete controles que protegen los datos del club, los datos de los compradores y la integridad contable. Todos están implementados y cubiertos por pruebas automatizadas.

Credenciales cifradas

Nada sensible viaja ni se guarda en texto plano

Las claves de SAP se guardan cifradas con AES-256-GCM, el mismo estándar que usa la banca.
Ninguna credencial está en el código ni en el repositorio. Viven como secretos de la plataforma.
Las comparaciones de claves usan verificación de tiempo constante, para no filtrar información por el tiempo de respuesta.

Auditoría que no se puede alterar

Cada paso queda registrado y encadenado

Cada evento guarda una huella digital SHA-256 que incluye la huella del evento anterior.
Si alguien modificara o borrara un registro, la cadena se rompe y queda en evidencia.
El registro es de solo agregado: la aplicación no puede editar ni eliminar eventos pasados.
Todo se puede reconstruir por pedido, por producto o por documento de SAP.

Llaves de habilitación

Nada escribe en SAP sin autorización explícita

Existen seis interruptores independientes: catálogo, inventario, pedidos, comprobantes, despacho y validación del modelo.
Todos vienen apagados. Se encienden uno por uno, cuando el club valida ese flujo.
Si un proceso intenta escribir con la llave apagada, se detiene y queda anotado. No falla en silencio.

Datos personales al mínimo

Solo lo que el comprobante exige

El middleware no almacena nombre completo, correo, teléfono ni dirección del comprador.
A SAP viaja únicamente lo que la boleta o factura necesita legalmente.
Está implementado el borrado de datos a pedido, como exige la normativa de protección de datos.

Sin cobros ni documentos duplicados

Cada pedido lleva una referencia única. Si el sistema reintenta, reconoce que ya lo procesó y no emite un segundo comprobante. Verificado contra SAP.

Sin sobreventa

Al confirmarse el pago, las unidades quedan reservadas localmente hasta que SAP confirma. Dos personas no pueden comprar la última unidad.

Reintentos ordenados

Si SAP no responde, el trabajo se reintenta con espera creciente hasta cinco veces. Si aun así falla, queda apartado para revisión manual, nunca se descarta.

139

Pruebas automatizadas en verde

Cada cambio del sistema vuelve a ejecutar la batería completa. Incluye casos de borde reales que ya aparecieron en producción, como el cálculo de la fecha en hora de Lima y el rechazo de comprobantes sin código de impuesto.

Evidencia del ciclo completo · 10 de agosto de 2026
boleta 38000054 · S/ 194.83 + IGV S/ 35.07 = S/ 229.90 · stock AIM 548 → 547
El comprobante emitido descontó la unidad vendida, sin pasar por orden de venta Centro de costo GM3410 Tienda Crema, sede S00001 Monumental Afectación de IGV 10, gravado por operación onerosa
04

Los procesos, uno por uno

Cinco flujos conectan los tres sistemas. Cada uno tiene su llave de habilitación propia y se enciende por separado.

ProcesoDirecciónQué haceEstado
Catálogo SAP a la tienda Publica artículos y variantes sin pisar fotos, textos ni colecciones que gestiona Marketing. Probado, pendiente de precios
Precios SAP a la tienda Publica el precio vigente con su regla de IGV. Bloqueado: los artículos figuran sin precio en SAP
Inventario SAP a la tienda Publica la cantidad vendible del almacén del canal, descontando lo comprometido. Pendiente de definir el almacén
Venta y comprobante Tienda a SAP Con el pedido pagado, identifica o crea al cliente y emite la boleta o factura, que a su vez descuenta el stock. Boleta emitida y stock descontado
Despacho Tienda al operador Da de alta el envío y devuelve el código de seguimiento al pedido. Probado, falta automatizar el disparo

El recorrido de una venta, paso a paso

PASO 1

El cliente compra

Elige producto y talla, indica su DNI o RUC según quiera boleta o factura, y paga.

PASO 2

La tienda avisa

Shopify notifica el pedido pagado. El middleware lo guarda, reserva el stock y lo encola.

PASO 3

Se emite el comprobante

Busca al cliente en SAP y lo crea si no existe. Emite la boleta o factura, que descuenta el inventario.

PASO 4

Sale el despacho

Con la venta ya facturada se registra el envío y el código de seguimiento vuelve al pedido del cliente.

Cómo se decide el comprobante
documento de 8 dígitos → BOLETA (serie B029) · documento de 11 dígitos → FACTURA (serie FF19)
CardCode se arma como la letra C más el documento completado a 11 dígitos IGV_18 se aplica al 18% en todas las líneas, sin excepciones Devoluciones se resuelven con nota de crédito sobre la misma serie
05

Ambientes y accesos

Hoy todo corre contra el ambiente de pruebas de SAP. Ningún dato ha tocado la base productiva del club.

Ambiente actual

Todo lo probado hasta hoy

SAP: base de pruebas, separada de la productiva.
Tienda: en modo desarrollo, con pasarela de pago en modo prueba.
Middleware: corriendo en entorno local del equipo de desarrollo.

Lo que hace falta para producción

Accesos y definiciones del club

Dirección del SAP productivo y nombre de su base.
Un usuario de servicio dedicado, no personal, con permisos acotados.
Confirmar si hay restricción por dirección IP.
Política de vencimiento de esa contraseña, para que la integración no se corte sin aviso.

Permisos exactos que necesita el usuario de servicio

  • Leer artículos, precios y existencias.
  • Leer y crear socios de negocio, para los compradores que aún no están en SAP.
  • Crear facturas y boletas en las series del canal web.
  • Crear notas de crédito, para procesar devoluciones.

No necesita ningún permiso adicional. En particular, no requiere acceso a contabilidad general, bancos, compras ni recursos humanos.

06

Qué falta para salir

Seis puntos. Cuatro dependen del club, dos del equipo de desarrollo.

1. Plan de la tienda

Contratar el plan y transferir la tienda al club. Sin esto no se puede cobrar dinero real. Responsable: gerencia.

2. Almacén de la venta web

Facturar desde el almacén de indumentaria ya está probado y funciona. Falta que el club decida si se queda así o si abastece el almacén de tienda virtual. Responsable: Operaciones y TI SAP.

3. Series del canal web

Crear las series de boleta y factura y entregar sus identificadores internos. Responsable: TI SAP.

4. Permiso de alta de clientes

Sin esto solo podrían comprar quienes ya están registrados en SAP. Responsable: TI SAP.

5. Documento en el carrito

Pedir DNI o RUC antes del pago. Medio día de trabajo. Responsable: desarrollo.

6. Publicar el sistema

Adaptar la emisión de comprobantes y poner el middleware en su servidor definitivo. Una semana. Responsable: desarrollo.

2

Semanas de trabajo, una vez destrabado lo del club

Los puntos 1 a 4 no dependen del equipo de desarrollo y son los que marcan la fecha. Con esos resueltos, en dos semanas la tienda queda vendiendo con la facturación y el despacho funcionando de forma automática.