Liquidaciones (Settlements)
Requisitos previos de acceso
- Permiso (módulo):
creditDisburse(ejecutar/operar liquidaciones). - Licencia/Feature:
CREDIT_INVESTMENTShabilitada en la licencia del tenant (Vault). - Contenedor del menú: TOKENIZACIÓN → grupo Crédito Tokenizado
Qué es / cuándo usar
La pantalla de Liquidaciones muestra la distribución final del dinero de un Deal cuando las cuentas por cobrar son pagadas. Una liquidación aplica el Template de Cascata (Waterfall) del deal, dividiendo el valor recibido entre los destinatarios (inversores, casa, comisiones) en un orden de prioridad. Cada liquidación tiene un conjunto de ítems ordenados, cada uno con tipo, cuenta por cobrar/destinatario y valor.
Use esta pantalla para hacer seguimiento de qué deals ya han sido liquidados (total o parcialmente), el valor total distribuido y el detalle ítem por ítem de cada liquidación.
Requisitos previos
- Permiso:
creditDisburse(permiso doble — enum CPM + módulo dinámico en la BD). - Licencia/Feature:
CREDIT_INVESTMENTShabilitada. Sin ella el grupo ni siquiera aparece en el menú. - Dependencias de otras pantallas: el Deal debe haber sido financiado/desembolsado y tener Cobros pagados; el Template de Cascata determina el orden de los ítems.
Paso a paso
- Acceda al menú Crédito Tokenizado → Liquidaciones.
- Filtre por Estado (Todas / Pendiente / Procesando / Completada / Falla).
- Haga clic en Visualizar en una liquidación para abrir el panel de detalles con los ítems ordenados.
- Cierre el panel para volver a la lista.
Filtros y columnas
| Filtro/Columna | Qué muestra | Origen del dato |
|---|---|---|
| Número del Deal | Deal liquidado | Settlement.dealNumber / dealId |
| Estado | PENDING, PROCESSING, COMPLETED, FAILED | Settlement.status (filtro statusFilter) |
| Valor total | Monto distribuido en esta liquidación | Settlement.totalAmount (BigNumber) |
| Fecha de liquidación | Cuándo fue procesada | Settlement.settlementDate |
| Nº de ítems | Cantidad de líneas de distribución | Settlement.items.length |
| Creado en | Fecha de creación del registro | Settlement.createdAt |
Detalle de cada ítem (SettlementItem): order (prioridad), itemType, receivableId/destinatario, amount. Los ítems se muestran ordenados por order — exactamente el orden de la cascada.
Acciones y modales
- Visualizar: abre el panel lateral con los ítems de la liquidación, ordenados por prioridad (
getOrderedItems). No hay acción destructiva en este listado — la ejecución de la liquidación es disparada por el flujo de desembolso/executeSettlement(módulocreditDisburse), que ensambla lossettlementItems(itemType,recipientPartyId,toAccountId,amount,priority) conforme a la cascada.
Reglas de negocio / consideraciones
Atención
- El orden de la cascada es el orden de pago. El
order/priorityde cada ítem sigue el Template de Cascata del deal — los ítems de menor prioridad se pagan primero; cambiar la cascada posteriormente no reescribe liquidaciones ya realizadas. - Existe liquidación parcial. Un deal puede quedar en
PARTIALLY_SETTLEDmientras no todas las cuentas por cobrar hayan sido pagadas; nuevas liquidaciones se van acumulando hasta elSETTLED. - El estado FAILED requiere atención. Una liquidación
FAILEDindica falla en la transferencia — investigue antes de reprocesar.
Irreversible
- La distribución de liquidación es definitiva. Al ejecutar, el dinero es transferido a los destinatarios on/off-chain. No existe rollback automático — las correcciones requieren un nuevo evento financiero (ej.: Recompra o ajuste manual).
- Valores financieros:
totalAmountyamountde cada ítem son BigNumber en el backend; la suma de los ítems debe cuadrar con el total — no redondee al conciliar. - Idempotencia: la transferencia pasa por FinLib y es idempotente por externalId — en reprocesamiento,
E00021("already processed") es éxito, no error. Ver [[reference_finlib_idempotency]].