Skip to content

Disputas de Crédito

Requisitos previos de acceso

  • Permiso (módulo): creditDispute (abrir/actualizar disputas).
  • 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 Disputas registra y resuelve impugnaciones vinculadas a un Cobro — por ejemplo, el deudor alega que ya pagó, que el cobro es fraudulento o duplicado. Cada disputa tiene tipo, motivo, quién la abrió, estado de avance y, en la resolución, quién la resolvió y las notas correspondientes.

Use esta pantalla para abrir una disputa contra un cobro específico y para actualizar/resolver disputas existentes (en revisión, resuelta válida, resuelta inválida).

Requisitos previos

  • Permiso: creditDispute (permiso doble — enum CPM + módulo dinámico en la DB).
  • Licencia/Feature: CREDIT_INVESTMENTS habilitada. Sin ella el grupo ni siquiera aparece en el menú.
  • Dependencias de otras pantallas: es obligatorio seleccionar un Cobro existente (Cobros) — la disputa siempre se vincula por chargeId.

Paso a paso

  1. Acceda al menú Crédito Tokenizado → Disputas.
  2. Busque y seleccione un Cobro (la búsqueda filtra por código de referencia/ID).
  3. Se cargan las disputas de ese cobro.
  4. Para abrir una nueva: elija el Tipo y describa el Motivo, luego haga clic en Crear disputa (confirma en el bottom-sheet).
  5. Para gestionar una existente: ⋮ → Actualizar abre el diálogo para cambiar el Estado y registrar las Notas de resolución.

Filtros y columnas

Filtro/ColumnaQué muestraOrigen del dato
Cobro (selector)Cobro seleccionado para listar sus disputasbúsqueda sobre getCharges(); obligatorio
Cobro (columna)Código/ID del cobroDispute.chargeId (resuelto vía chargeMap)
TipoDEBTOR_CLAIM, FRAUD, DUPLICATE, OTHERDispute.disputeType
EstadoAvance: UNDER_REVIEW, RESOLVED_VALID, RESOLVED_INVALID (entre otros del backend)Dispute.status
Abierta elFecha de aperturaDispute.openedAt
Resuelta elFecha de resoluciónDispute.resolvedAt

Campos (apertura de disputa)

CampoQué es¿Obligatorio?Efecto en el sistema/backend
TipoNaturaleza de la impugnaciónGuardado en disputeType; default DEBTOR_CLAIM.
MotivoTexto libre describiendo la disputaNoGuardado en disputeReason.
Abierta porOperador que la abrióAutomáticoopenedBy = ID del operador conectado (o system).
CampoQué es¿Obligatorio?Efecto en el sistema/backend
EstadoUNDER_REVIEW / RESOLVED_VALID / RESOLVED_INVALIDupdateDispute(id, { status }); sin estado la actualización es bloqueada.
Notas de resoluciónJustificación de la decisiónNoGuardado en resolutionNotes; resolvedBy = operador conectado.

Acciones y modales

  • Seleccionar cobro / Limpiar: define el chargeId que filtra/abre disputas.
  • Crear disputa: createDispute(chargeId, { disputeType, disputeReason, openedBy }) tras confirmación. Requiere cobro seleccionado.
  • Actualizar (diálogo): updateDispute(id, { status, resolutionNotes, resolvedBy }); resolver como RESOLVED_VALID/RESOLVED_INVALID cierra la disputa.

Abrir/resolver disputas puede activar step-up (contraseña + MFA, X-Step-Up-Token) según el entorno.

Reglas de negocio / precauciones

Atención

  • Cobro obligatorio. La disputa siempre es por cobro; sin seleccionarlo, la pantalla bloquea la creación/listado.
  • Resolver es una decisión de fondo. RESOLVED_VALID (la impugnación procede) vs RESOLVED_INVALID (no procede) tiene efectos distintos aguas abajo — registre las notas de resolución para auditoría.
  • Una resolución válida puede activar una recompra/ajuste. Una disputa válida de fraude/duplicidad frecuentemente lleva a una Recompra o cancelación del deal.

Pantallas relacionadas