Versiones y publicación
Una regla de cobranza cambia: ajustas un texto, agregas una etapa, cambias un offset. Lo que no puede cambiar es el plan de quien ya está en medio del flujo — ni tu capacidad de probar, meses después, exactamente qué secuencia estaba vigente cuando ese deudor fue cobrado. Para eso existen las versiones.
Qué es una versión
Una versión es un snapshot inmutable de la regla en el momento de la publicación: nombre, clasificación, prioridad y todas las etapas activas con posición, disparador, días, acción, canales, tono, plantilla y condiciones. Las versiones están numeradas (1, 2, 3...) y cada publicación entra en la pista de auditoría.
Cuando una regla se usa por primera vez sin tener una versión publicada, el sistema publica la versión 1 automáticamente — no necesitas acordarte de "publicar" para que la regla funcione.
Enrollment: la entrada del cobro en la regla
Cada cobro entra en la regla mediante un enrollment que apunta a la versión vigente en ese momento. Consecuencias prácticas:
- Editar la regla no afecta a quien ya entró — los enrollments activos siguen atados al snapshot de la versión en la que entraron; los cambios aplican a los próximos cobros.
- Ningún cobro entra dos veces — si ya existe un enrollment activo o pausado para el cobro, el sistema reutiliza el existente, incluso con jobs concurrentes.
El enrollment tiene cuatro estados:
| Estado | Significado |
|---|---|
active | La regla está corriendo para este cobro |
paused | Suspendida temporalmente, con motivo (disputa abierta, "ya pagué" en verificación...) — retoma desde el punto donde quedó |
completed | Salió con éxito (pago, acuerdo aceptado) |
exited | Salió por otro motivo (cancelación, baja, supresión) |
Cuando el enrollment se completa o finaliza, toda ejecución de etapa aún no disparada se cancela en el momento, con el motivo registrado.
Enrollment automático y regla predeterminada
Puedes asignar una regla específica a un cobro en su creación (manual, planilla o API). Pero el escenario más común es no asignar nada — y ahí entra la regla predeterminada:
- Marca una regla como Predeterminada de la organización;
- La verificación diaria encuentra todo cobro abierto sin regla y le asigna la predeterminada automáticamente, creando el enrollment en la versión vigente.
Es la garantía "ningún cobro olvidado": ¿subiste la planilla con 5.000 títulos sin regla? Mañana todos están dentro de la regla predeterminada, con telemetría completa.
Las reglas también pueden vincularse a una clasificación de cliente y tienen prioridad — usa clasificaciones para tratar carteras diferentes con reglas diferentes (ej.: clientes estratégicos con una regla más suave).
Activación de la regla y de las etapas
La regla y las etapas tienen activación independiente:
- Una regla inactiva no se usa como predeterminada ni dispara etapas;
- Una etapa inactiva no se dispara y no entra en el snapshot de la próxima versión publicada — desactivar una etapa es la forma segura de "sacarla del aire" sin borrar el historial.
Por qué esto importa en una auditoría
Si un deudor cuestiona el cobro en un juicio, necesitas probar qué se envió, cuándo y bajo qué regla. La combinación versión inmutable + enrollment + ejecuciones de etapa responde: "este cobro entró en la versión 3 de la regla X el 12/05, recibió las etapas 1 y 2, y tuvo la etapa 3 suprimida por disputa abierta". Nada de eso depende de la memoria ni de una reconstrucción manual.