Skip to content

Plataforma técnica · Orchestrator

Prestamos Service

Orchestrator Finanzas Prestamos

PrestamosService administra créditos y préstamos bancarios del tenant. Su responsabilidad principal es registrar el préstamo, generar la tabla de amortización y controlar el pago de cuotas.

MétodoUso
getPrestamos(ctx)Lista préstamos.
getPrestamo(ctx, id)Obtiene un préstamo por ID.
createPrestamo(ctx, data)Crea préstamo validando datos mínimos y montos.
updatePrestamo(ctx, id, data)Actualiza campos del préstamo.
deletePrestamo(ctx, id)Elimina préstamo si no tiene cuotas pagadas.
generarAmortizacion(ctx, prestamoId, overrides)Recalcula e inserta cuotas con método francés.
getCuotas(ctx, prestamoId)Lista cuotas del préstamo.
pagarCuota(ctx, cuotaId, data)Marca cuota pagada.
OperaciónRegla
Crear préstamoRequiere banco_id, nombre_prestamo, tipo_prestamo, monto_original, tasa_interes, fecha_inicio, fecha_vencimiento, num_cuotas.
monto_originalDebe ser mayor a 0.
tasa_interesNo puede ser negativa.
num_cuotasDebe ser mayor a 0.
Eliminar préstamoSe bloquea si PrestamosRepository.hasCuotasPagadas retorna verdadero.
Pagar cuotaRequiere fecha_pago y monto_pagado; el monto debe ser mayor a 0.

generarAmortizacion toma el préstamo vigente y permite sobrescribir num_cuotas, fecha_inicio y periodicidad.

PeriodicidadPeriodos por año
MENSUAL12
TRIMESTRAL4
SEMESTRAL2
ANUAL1

La cuota fija se calcula con la tasa periódica. Si la tasa es 0, divide el monto por el número de cuotas. La última cuota ajusta el capital pendiente para evitar saldos residuales por redondeo.

MétodoRutaService call
GET/api/financieros/prestamosgetPrestamos(ctx)
GET/api/financieros/prestamos/:idgetPrestamo(ctx, id)
POST/api/financieros/prestamoscreatePrestamo(ctx, body)
PUT/api/financieros/prestamos/:idupdatePrestamo(ctx, id, body)
DELETE/api/financieros/prestamos/:iddeletePrestamo(ctx, id)
POST/api/financieros/prestamos/:id/amortizaciongenerarAmortizacion(ctx, id, body)
GET/api/financieros/prestamos/:id/amortizaciongetCuotas(ctx, id)
PUT/api/financieros/prestamos/:id/amortizacion/:cuotaId/pagarpagarCuota(ctx, cuotaId, body)