← Volver al blog
Operación

Reintentos automáticos: cómo escapar del infierno de Excel y las transacciones fallidas

27 de agosto de 20263 min de lecturaIng. Humberto González

Exportar, corregir manualmente y reimportar es lento y genera duplicados. Aquí te muestro cómo diseñar una cola de reintentos inteligente que repara errores sola, sabe cuándo necesita ayuda humana, y usa idempotencia para no desastrar tu inventario.

El problema real: Excel no es un sistema de reintentos

Cada vez que una transacción falla en tu punto de venta, tienda en línea o integración con el proveedor, la mayoría de dueños hace lo mismo: exporta el registro a Excel, lo corrije manualmente, lo reimporta y reza para que no se duplique. Funciona una o dos veces. Cuando tienes 50 transacciones fallidas al día, es un caos.

El problema es doble: primero, Excel no tiene memoria de qué intentaste, cuándo, con qué parámetros. Segundo, si reimportas sin cuidado, tu inventario se duplica, tu contador entra en pánico, y tu cliente recibe dos cobros. He visto negocios perder miles de pesos por esto.

Cómo funciona una cola de reintentos real

Una cola de reintentos es simplemente una lista de transacciones que fallaron, anotadas con el motivo, la hora, y una estrategia de cuándo volver a intentar. En lugar de que tú decidas manualmente, el sistema lo hace automáticamente con backoff exponencial: espera 1 segundo, luego 5, luego 30, luego 5 minutos. Así no bombardeas un servidor caído ni desperdicias recursos.

  • Primer intento fallido: se anota la hora y el error.
  • Reintentos automáticos: cada X segundos/minutos, según el tipo de fallo.
  • Escalada a humano: si después de 3 reintentos sigue fallando, alguien lo revisa.
  • Bitácora completa: queda registrado qué pasó, cuándo, y por qué.

Errores que se reparan solos vs. errores que necesitan persona

No todos los fallos son iguales. Algunos se arreglan con tiempo; otros, nunca.

Reintentos automáticos tienen sentido para:

  • Timeout de red (el servidor estaba lento, ahora está bien).
  • Rate limiting (intentaste demasiado rápido; espera y vuelve).
  • Servidor temporalmente no disponible (503, 504).

Errores que necesitan revisión humana:

  • Datos inválidos (un RUC que no existe, un email mal formado).
  • Validaciones de negocio (cliente con saldo vencido, producto descontinuado).
  • Permisos o autenticación rota (credenciales expiradas, API key revocada).

La clave es que el sistema clasifique el error automáticamente. Si ve un 400 (Bad Request), sabe que no vale la pena reintentar; si ve un 503 (Service Unavailable), reintenta. Un buen diseño ahorra 80% de intervención manual.

Idempotencia: tu salvavidas contra duplicados

Aquí está lo crítico: si el servidor recibió tu transacción pero se desconectó antes de confirmar, ¿la reimitas? ¿Dos cobros, dos registros de inventario?

La solución es idempotencia. Cada transacción lleva un ID único (un UUID o un hash que no cambia). El servidor lo anota. Si recibe el mismo ID dos veces, devuelve 'ya procesado' sin duplicar nada.

Ejemplo: transacción de venta con ID '550e8400-e29b-41d4-a716-446655440000'. Falla la red. Reintentas. El servidor ve el mismo ID, reconoce que ya lo procesó, devuelve el resultado anterior sin volver a descontar inventario.

Sin idempotencia, cada reintento es una bomba de tiempo. Con ella, puedes reintentar sin miedo.

Quién te ayuda a construir esto

Diseñar una cola de reintentos desde cero toma tiempo. Hay librerías (Celery en Python, Bull en Node.js) que lo hacen, pero integrarlas en tu stack actual es trabajo. Más fácil: usar un hub de integraciones que ya lo traiga construido. El hub de integraciones que construyo en Hailan conecta tu punto de venta, tienda en línea, WMS o sistema propio con Oracle Fusion o NetSuite, con bitácora por transacción, reintentos automáticos y un panel donde ves qué falló, cuándo, y por qué. No exportas nada a Excel; todo fluye automáticamente, y si algo se queda pegado, lo ves en un click.

Takeaway: Deja Excel para presupuestos. Las transacciones fallidas necesitan un sistema que reintente solo, clasifique errores, y use idempotencia. Así duermes tranquilo y tu contador no entra en pánico a las 3 de la mañana.

¿Tu ERP no habla con lo demás?

Conecto Oracle Fusion o NetSuite con tu punto de venta, tu tienda en línea o tu almacén: validación previa, bitácora por transacción, reintentos automáticos y monitoreo. En semanas, no en meses.

Ver cómo lo hago

Te puede interesar