Skip to content

Desembolsos (Disbursements)

Requisitos previos de acceso

  • Permiso (módulo): creditDisburse (ejecutar/operar desembolsos).
  • Licencia/Feature: CREDIT_INVESTMENTS habilitada en la licencia del tenant (Vault).
  • Contenedor del menú: TOKENIZACIÓN → grupo Crédito Tokenizado

Qué es / cuándo usar

La pantalla de Desembolsos hace seguimiento del repaso del valor neto de un Deal al originador (cedente) — el momento en que la anticipación efectivamente "paga" al cliente. El desembolso se ejecuta contra la cuenta BaaS del originador (generando un baasTransferId) o, en la modalidad tokenizada, vía transferencia de token.

Use esta pantalla para monitorear el estado de los desembolsos (pendiente, procesando, completado, falla), verificar el monto transferido por deal y rastrear la transferencia BaaS correspondiente.

Requisitos previos

  • Permiso: creditDisburse (permiso doble — enum CPM + módulo dinámico en la BD).
  • Licencia/Feature: CREDIT_INVESTMENTS habilitada. Sin ella el grupo ni siquiera aparece en el menú.
  • Dependencias de otras pantallas: el Deal debe estar aprobado/financiado; el originador (Partes) debe tener cuenta BaaS activa y estado compatible (APPROVED).

Paso a paso

  1. Acceda al menú Crédito Tokenizado → Desembolsos.
  2. Filtre por Estado.
  3. Haga seguimiento de cada fila: deal, valor, estado, ID de transferencia BaaS y fecha.
  4. La ejecución del desembolso es disparada por el flujo del deal (executeDisbursement / disbursementViaToken); esta pantalla es de seguimiento.

Filtros y columnas

Filtro/ColumnaQué muestraOrigen del dato
DealOperación cuyo valor neto fue transferidodisbursement.dealId
ValorMonto desembolsado al originadordisbursement.amount (BigNumber)
EstadoPENDING, PROCESSING, COMPLETED, FAILED (y equivalentes del backend)disbursement.status (filtro statusFilter)
ID Transferencia BaaSIdentificador de la transferencia bancaria en el proveedordisbursement.baasTransferId
Creado enFecha del desembolsodisbursement.createdAt

Acciones y modales

Esta pantalla es principalmente de monitoreo. La ejecución ocurre en los flujos de servicio:

  • Desembolso fiat (BaaS): executeDisbursement({ dealId, amount, idempotencyKey }) — transfiere el neto a la cuenta BaaS del originador y graba baasTransferId.
  • Desembolso vía token: disbursementViaToken({ dealId, originatorUserId, tokenId, amount }) — transferencia representada por una transferencia de token (walletTransaction).

La ejecución de desembolso es una acción financiera sensible y puede requerir step-up (contraseña + MFA, X-Step-Up-Token, ventana de 5 min) según el entorno.

Reglas de negocio / consideraciones

Atención

  • El originador debe estar habilitado. La transferencia exige que la Parte originadora tenga cuenta BaaS activa y estado aprobado; sin esto el desembolso falla (FAILED).
  • baasTransferId es el ancla de conciliación. Úselo para hacer coincidir el desembolso con el extracto del proveedor BaaS.
  • Valor neto, no bruto. Lo que se desembolsa es el netDisbursement del deal (bruto − descuento − comisiones), no el valor nominal de las cuentas por cobrar.

Irreversible

  • Un desembolso ejecutado no tiene rollback. Una vez que la transferencia BaaS/token sale, el dinero está con el originador; las correcciones requieren un nuevo evento financiero (reversión/recompra).
  • Valores financieros: amount es BigNumber en el backend; no redondee al verificar la transferencia.
  • Idempotencia: el desembolso acepta idempotencyKey y pasa por FinLib — idempotente por externalId. En reprocesamiento, E00021 ("already processed") es éxito (ya desembolsado), no falla. Ver [[reference_finlib_idempotency]].
  • Estado APPROVED: el originador destinatario debe estar aprobado para recibir la transferencia.

Ejemplos

Escenario 1 — Desembolso fiat completado
  1. Deal aprobado y financiado; originador con cuenta BaaS activa.
  2. El flujo ejecuta executeDisbursement con el netDisbursement.
  3. La fila aparece como COMPLETED con baasTransferId completo — concilie con el extracto del proveedor.
Escenario 2 — Reprocesamiento seguro tras un crash
  1. El proceso cayó justo después de que la transferencia salió, pero antes de confirmar.
  2. El reproceso usa el mismo idempotencyKey; FinLib responde E00021.
  3. Trátelo como éxito — no hay doble desembolso.

Pantallas relacionadas