Ir al contenido
2026 En producción

Sustituir un motor de comisiones de 20 años

Un motor de comisiones MLM crítico para el dinero, sustituido en un corte en frío sin ejecución en paralelo — y los cuatro meses de conciliación que vinieron después.

Pantalla de ciclo del motor de comisiones: tres pasos — procesar, revertir y enviar un ciclo — sobre una tabla de corridas de fin de periodo con etapa, número de ciclo, fechas de inicio y fin, estado y fecha de ejecución.
Control de ciclo e historial de corridas de fin de periodo — las filas que dicen «Commit failed» son parte del registro, no una excepción que se le esconda. Nada en esta pantalla es dato de cliente: ni nombres, ni importes, ni datos de contacto.
Diagrama de evaluación de rango de corte: un director en la raíz con rango de corte EM y tres ramas de la red descendente. La rama se dibuja sólida y marcada mientras cada rango se mantiene por debajo del rango de corte, y discontinua con una cruz desde el primer rango que lo iguala o lo supera.
La regla que hubo que definir con finanzas y no leer del SQL viejo: un rango por debajo del rango de corte pasa, uno igual o superior detiene la rama. Dibujado para la reescritura.

El problema. Veinte años de reglas de comisión viviendo en SQL acumulado, con condicionales anidados cuya ruta de ejecución dependía del año en que se había configurado el plan. El código era legible; la intención no. Quien lo diseñó no estaba disponible.

La restricción que no se negociaba. Un corte en frío. El motor viejo se apagó a las 23:59 del día 20 del mes y el nuevo entró esa misma noche, sin ejecución en paralelo — así que los dos primeros periodos quincenales fueron en parte del motor viejo, que ya no se podía consultar, y en parte del nuevo, que todavía no codificaba todas las reglas.

Qué no funcionó. Leer el SQL viejo para recuperar las reglas. Dejamos de escribir código y nos sentamos con el departamento financiero del cliente a definir los términos: qué es una generación, qué hace que un director esté activo, qué pasa cuando alguien cambia de nivel a mitad de mes. El caso más duro fueron las comisiones multinivel que cobran los directores sobre generaciones sucesivas por debajo, sobre una jerarquía que cambia en el tiempo — una dimensión de cambio lento, casi sin histórico limpio contra el que validar.

El resultado, dicho con honestidad. Unos cuatro meses de ciclos con errores, conciliados con finanzas, con cada discrepancia rastreada hasta una regla concreta del plan en lugar de darla por fallo genérico del sistema. Error residual al final: del orden de 100 USD en total, sobre pagos que suman cientos de miles de dólares repartidos entre miles de consultores. Escrito a cuatro manos con Alejandro Cespón.

La cifra que vale citar aquí no es la que suena bien. Cuatro meses con errores es el titular honesto; los ~100 USD residuales son lo que compraron esos cuatro meses.