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.
Lecciones
Introducción e instalación
Módulo Ajustes del sistema
Lección 6. 11 ✅ | ¡Módulo de Ajustes Listo! Traer Información y Guardar Cambios | Laravel 12 💰
18 min
Módulo Roles
Lección 3. 14 📋 | Listado de Roles: Creando una Tabla Profesional con Tailwind CSS | Laravel 12 🚀
11 min
Lección 4. 15 ➕ Creando Nuevos Roles: Formulario de Registro y Validación | Laravel 12 & Spatie 🛡️
17 min
Lección 8. 19 💣 Método Destroy: Cómo Eliminar Registros con Validación y Alertas Pro en Laravel 12 ✨
9 min
Módulo Usuarios
Módulo clientes
Lección 2. 29 Cómo crear Datos de Prueba con Factories - Módulo Clientes Laravel Factories y Faker 🚀
21 min
Módulo Categorías
Módulo Prestamos y Pagos
Lección 5. 46 Módulo de Pagos en Laravel 12: Migración, Estructura de Cuotas y Control de Estados 💳📊
13 min
Módulo Contratos
Módulo Notificaciones
Módulo Permisos
Módulo Backups
Módulo Reportes
Módulo Producción
Lección 4. 77 Mostrar Roles de Usuario en la Interfaz: Personalización con Flux UI y FontAwesome 🛡️👤
13 min
Módulo Pagos Parciales
Módulo Liquidación de Préstamo
Últimos Ajustes del Sistema
Lección 7. 100 Página 404 Personalizada en Laravel: Diseño Elegante y Profesional para tu Sistema 🚫✨
7 min
Apoya este proyecto
Si te gusta nuestro contenido, ¡apóyanos con una donación!
Donar por Airtm Donar por Binance¡Gracias por tu apoyo! ❤️