93 Procesar y Finalizar Liquidación: Ajuste de Cuotas y Diferencia de Intereses en Laravel💳🔐 Parte 2

Duración: 18 min
Módulo: Módulo Liquidación de Préstamo Lección 6 de 6

Descripción

💳 Lección 93: Procesar y Finalizar Liquidación - Ajuste de Cuotas y Cierre

En esta sesión, completamos el ciclo de vida del préstamo mediante un algoritmo que recorre las cuotas pendientes y ajusta los valores financieros para reflejar el pago anticipado.

1. 🔄 El Bucle de Actualización (foreach)

Implementamos un ciclo que recorre todos los pagos pendientes para transformarlos en registros pagados [00:20]:

  • Estado y Método: Cambiamos el estado a "Pagado" y definimos el método de pago como "Efectivo" (o liquidación).
  • Fecha de Cancelación: Seteamos la fecha actual (today()) como el momento del pago definitivo.

2. ⚖️ Algoritmo de Ajuste de Interés Devengado

Para que la liquidación sea exacta, aplicamos una lógica de "Ajuste en la Primera Cuota":

  • Identificación del Primer Registro: Usamos el $index del bucle para detectar la cuota inmediata a pagar [05:16].
  • Suma de Diferencia: Solo a esta primera cuota se le suma el Interés Devengado (los días de interés desde el último pago hasta hoy). Las cuotas restantes se cobran únicamente al valor del capital, eliminando sus intereses futuros [13:45].
  • Limpieza de Intereses: Seteamos el campo monto_interes a 0 en todas las cuotas posteriores, asegurando que el reporte financiero muestre que no se cobró interés por meses no transcurridos [15:15].

3. 🏁 Finalización del Préstamo

Una vez que el bucle termina satisfactoriamente:

  • Estado Global: Cambiamos el estado del préstamo de "Pendiente" a "Pagado" [06:59].
  • Confirmación Atómica: Ejecutamos DB::commit() para salvar todos los cambios de una sola vez. Si algo hubiera fallado, el DB::rollBack() en el bloque catch habría revertido todo para mantener la integridad [07:30].

📊 Resultado Final en el Sistema:

  • Dashboard: El contador de "Cuotas Pagadas" sube al 100% automáticamente.
  • Tabla de Pagos: Se visualiza la primera cuota con el ajuste de interés y las demás con interés en cero y monto igual al capital [17:15].
  • Experiencia de Usuario: Un mensaje de éxito confirma que el préstamo ha sido liquidado y cerrado correctamente.