De Internet Explorer a una plataforma cloud de nómina para Latinoamérica
Modernizamos un core en Visual Basic y pantallas ASP Classic para operar nóminas regionales desde una plataforma cloud segura, auditable y escalable.
DE INTERNET EXPLORERA UNA PLATAFORMA CLOUDDE NÓMINA PARA LATINOAMÉRICA
Modernizamos un core en Visual Basic y pantallas ASP Classic para operar nóminas regionales desde una plataforma cloud segura, auditable y escalable.
nómina
por país
y vigencia
trazabilidad
(reglas por país, empresa
y vigencia)
(entrada, fórmula, versión
y resultado)
(Chrome, Edge, Firefox
y Safari)
de tecnología legacy? Podemos modernizarlo de forma progresiva,
preservando las reglas acumuladas y sin
poner en riesgo los próximos cierres.
El desafío: un sistema crítico condicionado por tecnología legacy
La plataforma administraba liquidaciones de sueldos para operaciones distribuidas en Latinoamérica. Su núcleo de cálculo había sido desarrollado en Visual Basic y las interfaces utilizaban ASP Classic. Para trabajar, los usuarios necesitaban versiones antiguas de Internet Explorer o navegadores configurados en modo de compatibilidad.
Durante años, el sistema había acumulado fórmulas, impuestos, convenios y excepciones por país. Ese conocimiento era indispensable, pero estaba concentrado en una arquitectura monolítica en la que las pantallas, los procesos por lotes y las reglas de negocio evolucionaban juntos. Una modificación regulatoria podía afectar varios componentes y requería extensas verificaciones manuales.
El problema no se resolvía cambiando solamente la interfaz. Había que conservar el comportamiento funcional, independizar el cálculo de la experiencia web y migrar sin interrumpir cierres de nómina con fechas que no podían postergarse.
La solución: una liquidación completa, trazable y preparada para toda la región
El flujo comienza cuando el analista ingresa desde un navegador moderno, selecciona la empresa, el país, el período y el tipo de nómina. La aplicación desarrollada con Next.js adapta las acciones a su rol. NestJS recibe las novedades desde archivos o APIs y valida empleados, conceptos, formatos, períodos y duplicados antes de permitir el cálculo.
Los errores se muestran por registro y no obligan a repetir una importación completa. Cuando la validación termina, la plataforma crea una fotografía inmutable de los datos utilizados. Así puede reconstruir una liquidación aunque posteriormente cambien un maestro, una fórmula o una regla regulatoria.
NestJS envía el trabajo a una cola y el motor desarrollado en Go toma la versión de reglas correspondiente al país, la empresa y la fecha de vigencia. El cálculo se divide en unidades independientes para procesar empleados en paralelo. Cada ejecución posee una clave de idempotencia: si un trabajo debe reintentarse, no duplica movimientos ni genera dos veces el mismo resultado.
Al finalizar, el analista recibe una simulación con haberes, descuentos, impuestos, aportes, contribuciones y netos. La plataforma compara cada resultado con el período anterior y destaca variaciones o conceptos fuera de rango. Desde una fila puede abrir el detalle y consultar el dato de entrada, la fórmula, su versión y el valor calculado.
Un ajuste manual requiere motivo y queda asociado al usuario, la fecha y el valor anterior. Después interviene el responsable de revisión, que resuelve las excepciones y aprueba o rechaza los cambios. Cuando todos los controles están completos, un usuario autorizado cierra el período y los resultados quedan bloqueados.
Con el período cerrado, la plataforma genera recibos y archivos de salida. El operador distribuye los resultados a portales de empleados, sistemas contables, bancos y repositorios regulatorios. Cada entrega informa su estado y, si un destino no responde, se reintenta sin volver a ejecutar la nómina.
Arquitectura de la plataforma
Next.js se distribuye mediante CloudFront y está protegido por AWS WAF. NestJS concentra las APIs, la autorización, las validaciones y la coordinación del proceso. Los trabajadores de Go ejecutan los cálculos de manera independiente y pueden escalar durante los picos de cierre.
Amazon SQS desacopla los trabajos extensos de la interacción web. Si el usuario pierde la conexión o cierra la pantalla, el cálculo continúa en AWS; al regresar, la aplicación recupera su estado. Las validaciones necesarias para avanzar se resuelven en línea, mientras que los cálculos, documentos y exportaciones se procesan en segundo plano.
PostgreSQL conserva los datos transaccionales y S3 almacena archivos y documentos versionados. El contexto del tenant se valida en la API y en la capa de datos. Cifrado, administración de secretos, copias de seguridad y registros de auditoría protegen la información sensible.
La observabilidad conecta cada solicitud con un identificador de correlación. Esto permite seguir una liquidación entre la interfaz, la API, la cola, el motor y las integraciones, además de generar alertas sobre errores, reintentos y tiempos de procesamiento.
La implementación: modernización progresiva sin un reemplazo abrupto
La migración se organizó por capacidades y países. Primero se documentaron conceptos, fórmulas, dependencias y excepciones del sistema existente. Con liquidaciones históricas anonimizadas se construyó una biblioteca de pruebas que ejecutaba los mismos datos en el motor anterior y en el nuevo.
Los resultados se compararon concepto por concepto antes de habilitar cada etapa. Las nuevas pantallas convivieron inicialmente con funciones legacy mediante una capa de compatibilidad. Luego, cada flujo fue trasladado a los servicios modernos, manteniendo una ruta de contingencia durante los primeros cierres.
La infraestructura se definió como código y los servicios incorporaron pruebas y despliegues automatizados. El resultado fue una plataforma que preserva el conocimiento funcional acumulado, elimina la dependencia de Internet Explorer y permite evolucionar por separado las reglas, las pantallas y las integraciones.
Preguntas frecuentes
¿Cómo se moderniza un liquidador sin interrumpir los cierres?
La alternativa más segura es migrar por etapas y ejecutar ambos sistemas en paralelo. Cada país o grupo de empresas se habilita después de comparar sus resultados y conservar una contingencia probada.
¿Se puede migrar un core de Visual Basic a Go?
Sí. Primero se identifican las reglas y excepciones acumuladas. Luego se implementan en un motor desacoplado y se validan con casos históricos antes de reemplazar el procesamiento anterior.
¿Cómo se reemplazan las pantallas ASP Classic?
Las funciones se trasladan progresivamente a Next.js. Una capa de APIs permite que las nuevas pantallas convivan temporalmente con componentes legacy sin exigir un reemplazo total.
¿Por qué separar el motor de la aplicación web?
La separación permite escalar el cálculo durante los cierres, actualizar la interfaz sin modificar fórmulas e integrar otros canales mediante las mismas APIs.
¿Cómo se administran las reglas de distintos países?
Las reglas se versionan por país, empresa y vigencia. Cada liquidación conserva la versión utilizada, lo que permite reconstruir períodos anteriores y aplicar cambios regulatorios sin perder trazabilidad.
¿Cómo se comprueba que el nuevo sistema calcule correctamente?
El sistema anterior y el nuevo procesan los mismos casos históricos anonimizados. Haberes, descuentos, impuestos y redondeos se comparan concepto por concepto antes de habilitar la nueva versión.
Por qué no ves el nombre del cliente
Trabajamos bajo acuerdo de confidencialidad: no publicamos la razón social, ni datos comerciales, ni detalles técnicos que puedan comprometer la operación de nuestros clientes. Las métricas de este caso son reales y están validadas con ellos. ¿Necesitás más detalle para evaluarnos? Podemos ampliarlo bajo NDA.
Otros casos
Cómo reemplazar el Excel de tráfico con fórmulas y trazabilidad operativa
Una empresa centralizó el tráfico de seguridad, los recorridos de camiones y las liquidaciones en una grilla con fórmulas y auditoría.
Software de control horario con reconocimiento facial: cómo 300 empresas liquidan sueldos con la propia fichada
Un sistema donde el empleado ficha mirando una tablet y esa marca liquida su sueldo. Más de 300 empresas.