Saltar al contenido principal

Cuotas e incumplimiento

La aceptación de un acuerdo genera el plan de cuotas; a partir de ahí, la gestión gira en torno a las cuotas — registrar pagos, dar seguimiento a los atrasos y reaccionar ante el incumplimiento del acuerdo.

Cuotas del acuerdo con estado y pagos

Cómo se generan las cuotas

Al momento de la aceptación, el sistema crea automáticamente una cuota por mes, a partir de la fecha de la primera:

  • Valor de cada cuota = valor final ÷ número de cuotas, redondeado a 2 decimales;
  • La última cuota ajusta el redondeo, garantizando que la suma cierre exactamente en el valor final del acuerdo (ej.: R$ 1.000,00 en 3 cuotas se convierte en 333,33 + 333,33 + 333,34);
  • Vencimientos mensuales — misma fecha base, mes a mes (acuerdo aceptado en el portal: primera cuota en 10 días).

Cada cuota tiene su propio ciclo:

StatusSignificado
pendingAbierta, a la espera de pago
paidPagada (con valor y fecha del pago registrados)
overdueVencida sin pago (marcada automáticamente por la verificación diaria)
cancelledCancelada (ej.: acuerdo cancelado)

Registrando pagos de cuota

Registra el pago informando el valor pagado y la fecha — desde la pantalla del acuerdo o vía API (PUT /api/v1/agreements/{id}/installments). Solo es posible actualizar cuotas de acuerdos aceptados o activos; una cuota cancelada no puede modificarse. La pantalla del acuerdo consolida el progreso: cuántas cuotas pagadas, valor ya recibido y saldo restante.

Incumplimiento del acuerdo

El incumplimiento se detecta automáticamente. Un proceso diario (de madrugada, justo después del cambio de día natural) recorre los acuerdos aceptados y activos y:

  1. Marca las cuotas vencidas — una cuota pending cuyo vencimiento pasó se convierte en overdue (conteo en días naturales, en el huso horario de la organización).
  2. Da el acuerdo por incumplido tras el período de gracia — si la cuota más atrasada excede el período de gracia de 5 días naturales, el acuerdo pasa a defaulted (mostrado como "Incumplido"). Con el valor por defecto, el incumplimiento ocurre al 6.º día de atraso: la cuota puede pagarse durante todo el período de gracia sin consecuencia. El período de gracia puede ajustarse por acuerdo vía API (campo graceDays en los metadatos del acuerdo; 0 incumple desde el primer día de atraso).
  3. Devuelve los cobros a la regla de cobranza — en el mismo momento del incumplimiento, los cobros que estaban negotiated por causa del acuerdo son revertidos y reinscritos en la regla vigente (ver abajo).
  4. Completa lo que fue saldado — el mismo recorrido cierra el otro lado: un acuerdo activo sin ninguna cuota abierta pasa a completed por sí solo. Nadie necesita "cerrar" un acuerdo cuyas cuotas fueron todas pagadas.

El incumplimiento emite el webhook agreement.broken, entra en la pista de auditoría y genera un aviso en la campana del equipo ("Acuerdo incumplido"). Dos caminos a partir de ahí:

  • Regularización — el deudor pone las cuotas al día y el acuerdo vuelve a active. No se pierde nada.
  • Cancelación — tú cierras el acuerdo (cancelled); las cuotas aún pendientes se cancelan junto con él.

Efecto en el cobro original

Cuando el acuerdo fue aceptado, el cobro original salió de la regla de cobranza con status negotiated. El incumplimiento automático — y también la cancelación — reabre el juego: cada cobro que estaba negotiated por ese acuerdo es revertido — vuelve a overdue si ya venció, o a pending si el vencimiento aún es futuro — y es reinscrito en la regla de cobranza vigente, retomando el cobro desde donde tenga sentido. Con el cobro de vuelta en overdue, la verificación diaria vuelve a tratarlo como cualquier cobro en atraso.

Esa reversión respeta algunas salvaguardas:

  • La reversión actúa por cobro vinculado a este acuerdo, no por la persona: un cobro solo sigue negotiated si está también vinculado a otro acuerdo vivo (aceptado/activo). Los demás cobros de este acuerdo se reabren normalmente — incumplir o cancelar un acuerdo nunca retiene los cobros de otro.
  • Cobros ya pagados o cancelados no se tocan; la reversión solo actúa sobre lo que la máquina de estados permite.
  • Cada reversión queda registrada en la pista de auditoría (motivo agreement_defaulted en el incumplimiento automático, agreement_cancelled en la cancelación).
precaución

La detección parte del status de las cuotas en el sistema. Una cuota pagada por otro medio (transferencia directa, pago en caja) necesita tener el pago registrado antes del fin del período de gracia — una cuota saldada en el mundo real pero abierta en el sistema incumple el acuerdo y devuelve el cobro a la regla de cobranza.

Efectos en el saldo

El acuerdo no borra la deuda original en la aceptación — el descuento solo se consolida con el cumplimiento:

  • Acuerdo completado (completed): la deuda está saldada por el valor final acordado; la diferencia (descuento) es el costo de la recuperación.
  • Acuerdo incumplido: el descuento estaba condicionado al cumplimiento. El cobro original vuelve a ser exigible por el valor actualizado — y el recálculo diario de intereses y multa parte del valor original del cobro. Si hubo cuotas pagadas antes del incumplimiento, ajusta el valor del cobro para reflejar la rebaja.

Seguimiento

La lista de Acuerdos muestra valor original, descuento, valor final, cuotas y status de cada acuerdo. Filtra por status (defaulted, "Incumplido") para ver la cartera de acuerdos incumplidos que necesita acción, y da seguimiento por los webhooks (agreement.broken, agreement.completed y demás eventos de acuerdo) para conciliar con el área financiera.