> ## Documentation Index
> Fetch the complete documentation index at: https://docs.lerian.studio/llms.txt
> Use this file to discover all available pages before exploring further.

# Cierre de una cuenta de cliente

> Flujo de extremo a extremo para cerrar la cuenta de un cliente en Midaz cumpliendo las reglas del BACEN y preservando la trazabilidad contable del Ledger.

Para cerrar la cuenta de un cliente en Midaz, trabajas en dos áreas: el **Ledger** (cuentas y saldos) y el **CRM** (titulares y cuentas alias). Las reglas del BACEN hacen del cierre de cuentas un evento regulado, por lo que el orden importa. Detén primero los nuevos créditos, luego liquida la actividad pendiente y devuelve los fondos restantes. Desactiva los registros subyacentes al final.

Esta guía cubre el flujo de cierre completo, desde el [Titular](/es/midaz/crm/holders) hasta sus [Cuentas Alias](/es/midaz/crm/alias-accounts). Puedes ejecutar el flujo de dos maneras. **[Vía API](#v%C3%ADa-api)** te da el endpoint, un payload de ejemplo y la justificación de cumplimiento de cada paso. **[Vía Consola](#v%C3%ADa-consola)** te da los mismos pasos como acciones de apuntar y hacer clic en la Consola de Midaz.

<Warning>
  Sigue los pasos en orden. No cierres cuentas ni archives registros del CRM antes de poner los saldos en cero. Un cierre anticipado puede dejar fondos huérfanos o romper el rastro de auditoría que necesitan los reportes regulatorios.
</Warning>

## Resumen

***

El flujo de cierre tiene ocho pasos, agrupados en tres fases:

| Fase                            | Pasos | Objetivo                                                                                          |
| :------------------------------ | :---- | :------------------------------------------------------------------------------------------------ |
| **1. Congelar**                 | 1–2   | Marca el Titular como inactivo y detén los nuevos créditos a nivel de saldo.                      |
| **2. Liquidar y poner en cero** | 3–4   | Liquidar la actividad pendiente y devolver los fondos restantes al cliente.                       |
| **3. Cerrar y archivar**        | 5–8   | Desactivar las Cuentas del Ledger y archivar los registros del CRM bajo la política de retención. |

<Note>
  A lo largo de esta guía, `{organization_id}` y `{ledger_id}` identifican la Organización y el Ledger de Midaz que son dueños de las cuentas. Esta guía abrevia las rutas como `/v1/.../accounts/{accountId}` para facilitar la lectura.
</Note>

## Requisitos previos

***

Antes de empezar, asegúrate de tener:

* El `holderId` del cliente que vas a dar de baja.
* La lista de valores de `accountId` vinculados a ese Titular en el Ledger (obtenlos de las [Cuentas Alias](/es/midaz/crm/alias-accounts) del Titular).
* La confirmación de tu equipo de cumplimiento de que puedes terminar la relación con el cliente (sin bloqueos legales, disputas abiertas ni requisitos regulatorios pendientes).
* Credenciales de API apropiadas con permiso para modificar titulares, saldos y cuentas.

<Warning>
  El cierre de cuentas es irreversible desde la perspectiva del cliente. Antes de continuar, confirma que no haya productos activos, transacciones programadas ni obligaciones abiertas.
</Warning>

## Vía API

***

Ejecuta el flujo de cierre completo de forma programática. Cada paso indica el endpoint, un payload de ejemplo y la justificación de cumplimiento.

### Paso 1 — Congela el Titular

Marca el Titular como inactivo para registrar el cierre en todos tus sistemas. Actualiza el Titular y establece el campo `status` de su perfil de persona en un valor inactivo.

```http theme={null}
PATCH /v1/holders/{holderId}
```

```json theme={null}
{
  "naturalPerson": {
    "status": "INACTIVE"
  }
}
```

<Note>
  Marcar el Titular como inactivo es un cambio de registro, no una eliminación. El registro del Titular permanece totalmente legible para auditoría. Este estado no bloquea nuevos créditos por sí solo — el Paso 2 bloquea los ingresos a nivel de saldo. Para una persona jurídica, establece `legalPerson.status` en su lugar.
</Note>

### Paso 2 — Bloquea los créditos en las cuentas

Para cada cuenta vinculada al Titular, impide que entren nuevos fondos. Primero, lista los [Saldos](/es/midaz/balances) de la cuenta. Luego actualiza cada saldo para deshabilitar la recepción.

**Obtén los saldos de la cuenta:**

```http theme={null}
GET /v1/.../accounts/{accountId}/balances
```

**Para cada `balanceId` devuelto, bloquea los fondos entrantes:**

```http theme={null}
PATCH /v1/.../balances/{balanceId}
```

```json theme={null}
{
  "allowReceiving": false
}
```

<Warning>
  Repite este paso para **cada** `balanceId` de **cada** cuenta que pertenezca al Titular. Un solo saldo que quede abierto aún puede recibir créditos y bloquear el cierre más adelante.
</Warning>

<Tip>
  Cuando estableces `allowReceiving` en `false`, el saldo bloquea los nuevos ingresos pero sigue permitiendo las salidas. Esto es exactamente lo que necesitas en el Paso 4 para devolver el saldo restante al cliente. Para más detalles sobre los flags de permiso, consulta [Saldos](/es/midaz/balances).
</Tip>

### Paso 3 — Liquida la actividad pendiente

Antes de poder poner un saldo en cero, la cuenta no debe tener movimientos en curso.

* **Verifica las transacciones en procesamiento.** Confirma que la cuenta no tenga transacciones pendientes o sin confirmar. Confírmalas o cancélalas según corresponda usando [Confirmar una transacción pendiente](/es/reference/midaz/commit-a-pending-transaction) o [Cancelar una transacción pendiente](/es/reference/midaz/cancel-a-pending-transaction).
* **Cancela las programaciones activas.** Cancela cualquier transacción recurrente o programada asociada a la cuenta. Esto detiene las nuevas entradas después de que comienza el cierre.

<Warning>
  Si omites este paso, una cuenta cerrada puede recibir entradas tardías. Las entradas tardías rompen la conciliación y el rastro de auditoría del BACEN.
</Warning>

### Paso 4 — Pon el saldo en cero

Devuelve los fondos restantes al cliente (el titular de la cuenta) y confirma que cada saldo llegue a cero.

* Registra una **transacción de devolución** que mueva el monto `available` restante de cada cuenta del cliente al destino designado del titular (por ejemplo, una cuenta de liquidación externa). Usa [Crear una transacción](/es/reference/midaz/create-a-transaction-using-json).
* **Confirma que `available = 0`** en cada saldo de cada cuenta del Ledger antes de continuar. Puedes comprobarlo con [Obtener saldos por cuenta](/es/reference/midaz/retrieve-balances-by-account).

<Warning>
  Midaz **no permite eliminar una cuenta que aún tiene saldo**. Todos los saldos deben estar en cero antes del Paso 5.
</Warning>

### Paso 5 — Cierra las Cuentas del Ledger en Midaz

Después de poner los saldos en cero y liquidar la actividad pendiente, elimina cada Cuenta del Ledger.

```http theme={null}
DELETE /v1/.../accounts/{accountId}
```

Una solicitud exitosa devuelve `204 No Content`. Repite para cada cuenta vinculada al Titular. Consulta [Eliminar una cuenta](/es/reference/midaz/delete-an-account) para ver el contrato completo.

<Note>
  Eliminar una Cuenta del Ledger es una eliminación lógica. La cuenta y sus operaciones históricas permanecen disponibles para auditoría y reportes, sujeto a tu política de retención.
</Note>

### Paso 6 — Registra la fecha de cierre en el alias

Registra la fecha oficial de cierre en la Cuenta Alias del Titular para que el CRM y cualquier exportación regulatoria reflejen cuándo terminó la relación.

```http theme={null}
PATCH /v1/holders/{holderId}/aliases/{aliasId}
```

```json theme={null}
{
  "bankingDetails": {
    "closingDate": "2026-06-09"
  }
}
```

<Note>
  El campo `closingDate` reside en el objeto `bankingDetails` de la Cuenta Alias y usa el formato `YYYY-MM-DD`. Consulta [Cuentas Alias](/es/midaz/crm/alias-accounts) para ver la referencia completa de campos. Los reportes de ciclo de vida de cuentas del BACEN necesitan una fecha de cierre precisa.
</Note>

### Paso 7 — Archiva las cuentas alias en el CRM

Archiva cada Cuenta Alias en el CRM. Usa una **eliminación lógica (soft delete)**. Retira el registro del uso activo pero lo conserva durante el período de retención regulatorio.

```http theme={null}
DELETE /v1/holders/{holderId}/aliases/{aliasId}
```

<Warning>
  **No** pases `hard_delete=true`. Un cierre regulado debe archivar (eliminación lógica) el registro y conservarlo. No debe borrar el registro permanentemente. Consulta [Eliminar una cuenta alias](/es/reference/midaz/crm/delete-alias-account).
</Warning>

### Paso 8 — Archiva el Titular en el CRM

Después de archivar todas sus cuentas alias, archiva el propio Titular con una eliminación lógica.

```http theme={null}
DELETE /v1/holders/{holderId}
```

<Warning>
  Como en el Paso 7, omite `hard_delete=true`. Conserva el registro del Titular bajo la política de retención aplicable para auditoría e inspección regulatoria. Consulta [Eliminar un titular](/es/reference/midaz/crm/delete-holder).
</Warning>

## Vía Consola

***

Ejecuta el mismo flujo de cierre de ocho pasos desde la [Consola de Midaz](/es/midaz/console/midaz-module). La Consola cubre la mayor parte del flujo de forma point-and-click, pero dos pasos — bloquear créditos (Paso 2) y cancelar transacciones programadas (Paso 3) — todavía requieren la API. Cada paso a continuación indica el paso de API equivalente en esta página.

<Warning>
  El orden es el mismo que el del flujo de API. No elimines cuentas ni archives registros del CRM antes de poner los saldos en cero.
</Warning>

### Paso 1 — Congela el Titular

Marca el Titular como inactivo para registrar el cierre. Esto es un cambio de registro y no bloquea nuevos créditos por sí solo.

<Steps>
  <Step>
    En la página de **Titulares**, encuentra el Titular que vas a cerrar.
  </Step>

  <Step>
    Haz clic en los tres puntos (<Icon icon="ellipsis-vertical" />) en la columna **Acciones** y selecciona **Editar**.
  </Step>

  <Step>
    En el formulario del Titular, establece el **Estado** en **Inactivo**.
  </Step>

  <Step>
    Haz clic en **Guardar**.
  </Step>
</Steps>

<Note>
  Marcar el Titular como inactivo es un cambio de registro, no una eliminación. El registro permanece totalmente legible para auditoría. No bloquea nuevos créditos por sí solo — el Paso 2 bloquea los ingresos a nivel de saldo. Consulta [Editar un Titular](/es/midaz/console/crm-editing-a-holder).
</Note>

### Paso 2 — Bloquea los créditos en las cuentas

<Warning>
  **Este paso requiere la API. La Consola no admite la edición de los flags de saldo después de la creación de la cuenta.** La Consola solo permite establecer `allowReceiving` cuando creas una Cuenta por primera vez, no cuando editas un saldo existente. Usa la API para deshabilitar la recepción en cada saldo.

  Sigue [Paso 2 — Bloquea los créditos en las cuentas](#paso-2--bloquea-los-cr%C3%A9ditos-en-las-cuentas) en la sección Vía API.
</Warning>

Para cada cuenta vinculada al Titular, usa la API para establecer `allowReceiving` en `false` en cada `balanceId`. Esto bloquea los nuevos ingresos mientras las salidas siguen disponibles para la transacción de devolución del Paso 4.

### Paso 3 — Liquida la actividad pendiente

Confirma que no haya movimientos en curso antes de poner cualquier saldo en cero.

<Steps>
  <Step>
    En la página de **Transacciones**, filtra por las cuentas vinculadas al Titular. Confirma que la cuenta no tenga transacciones pendientes o sin confirmar, y confirma o cancela las que estén en curso.
  </Step>

  <Step>
    Cancela cualquier transacción recurrente o programada asociada a la cuenta. Esto detiene las nuevas entradas después de que comienza el cierre.
  </Step>
</Steps>

<Warning>
  **Las transacciones programadas requieren la API.** La Consola permite ver y cancelar transacciones individuales, pero no ofrece la gestión de transacciones programadas (recurrentes). Usa la API para cancelar las programaciones activas — consulta [Paso 3 — Liquida la actividad pendiente](#paso-3--liquida-la-actividad-pendiente) en la sección Vía API.
</Warning>

### Paso 4 — Pon el saldo en cero

Devuelve los fondos restantes al cliente y confirma que cada saldo llegue a cero.

<Steps>
  <Step>
    En la página de **Transacciones**, haz clic en **Nueva Transacción**. Crea una **transacción de devolución** que mueva el monto `available` restante de cada cuenta del cliente al destino designado del titular, por ejemplo una cuenta de liquidación externa. Consulta [Crear una Transacción](/es/midaz/console/creating-a-transaction).
  </Step>

  <Step>
    Abre cada cuenta y confirma que el saldo **available** sea **0** antes de continuar.
  </Step>
</Steps>

<Warning>
  Midaz **no permite eliminar una cuenta que aún tiene saldo**. Todos los saldos deben estar en cero antes del Paso 5.
</Warning>

### Paso 5 — Cierra las Cuentas del Ledger en Midaz

Después de poner los saldos en cero y liquidar la actividad pendiente, elimina cada Cuenta del Ledger.

<Steps>
  <Step>
    En la página de **Cuentas**, encuentra la Cuenta vinculada al Titular, haz clic en los tres puntos (<Icon icon="ellipsis-vertical" />) en la columna **Acciones** y selecciona **Eliminar**.
  </Step>

  <Step>
    Aparecerá un cuadro de diálogo de confirmación. Haz clic en **Confirmar** para finalizar la eliminación.
  </Step>

  <Step>
    Repite para cada cuenta vinculada al Titular.
  </Step>
</Steps>

<Note>
  Eliminar una Cuenta del Ledger es una eliminación lógica. La cuenta y sus operaciones históricas permanecen disponibles para auditoría y reportes, sujeto a tu política de retención. Consulta [Eliminar una Cuenta](/es/midaz/console/deleting-an-account).
</Note>

### Paso 6 — Registra la fecha de cierre en el alias

Registra la fecha oficial de cierre en la Cuenta Alias del Titular para que el CRM y las exportaciones regulatorias reflejen cuándo terminó la relación.

<Steps>
  <Step>
    En la página de **Cuentas Alias**, encuentra la cuenta alias que vas a actualizar, haz clic en los tres puntos (<Icon icon="ellipsis-vertical" />) en la columna **Acciones** y selecciona **Editar**.
  </Step>

  <Step>
    En el formulario de la Cuenta Alias, establece la **Fecha de Cierre** (en `bankingDetails`) en la fecha oficial de cierre usando el formato `YYYY-MM-DD`.
  </Step>

  <Step>
    Haz clic en **Guardar**.
  </Step>
</Steps>

<Note>
  Los reportes de ciclo de vida de cuentas del BACEN necesitan una fecha de cierre precisa. Consulta [Editar una Cuenta Alias](/es/midaz/console/crm-editing-alias-account).
</Note>

### Paso 7 — Archiva las cuentas alias en el CRM

Archiva cada Cuenta Alias con una **eliminación lógica (soft delete)**. Retira el registro del uso activo pero lo conserva durante el período de retención regulatorio.

<Steps>
  <Step>
    En la página de **Cuentas Alias**, encuentra la cuenta alias que vas a archivar, haz clic en los tres puntos (<Icon icon="ellipsis-vertical" />) en la columna **Acciones** y selecciona **Eliminar**.
  </Step>

  <Step>
    Aparecerá un cuadro de diálogo de confirmación. Haz clic en **Confirmar** para finalizar.
  </Step>
</Steps>

<Warning>
  Usa la eliminación estándar (lógica). Archiva y conserva el registro en lugar de borrarlo permanentemente. En despliegues regulados, Midaz conserva el registro subyacente durante el período de retención. Consulta [Eliminar una Cuenta Alias](/es/midaz/console/crm-deleting-alias-account).
</Warning>

### Paso 8 — Archiva el Titular en el CRM

Después de archivar todas sus cuentas alias, archiva el propio Titular con una **eliminación lógica (soft delete)**.

<Steps>
  <Step>
    En la página de **Titulares**, encuentra el Titular que vas a archivar, haz clic en los tres puntos (<Icon icon="ellipsis-vertical" />) en la columna **Acciones** y selecciona **Eliminar**.
  </Step>

  <Step>
    Aparecerá un cuadro de diálogo de confirmación. Haz clic en **Confirmar** para finalizar.
  </Step>
</Steps>

<Warning>
  Usa **Eliminación Lógica** (la opción por defecto), no Eliminación Definitiva. Conserva el registro del Titular bajo la política de retención aplicable para auditoría e inspección regulatoria. Consulta [Eliminar un Titular](/es/midaz/console/crm-deleting-a-holder).
</Warning>

## Notas de cumplimiento del BACEN

***

* **El orden es obligatorio.** Congela primero (Pasos 1–2), luego liquida y pon en cero (Pasos 3–4). Este orden evita que entren fondos a una cuenta que está en proceso de cierre.
* **Devuelve los fondos antes de cerrar.** Devuelve cualquier saldo residual al cliente y confírmalo en cero antes de eliminar una cuenta. Midaz bloquea el cierre de una cuenta que tiene fondos, y ese cierre además incumpliría la normativa.
* **Archiva, no borres.** Una eliminación lógica (sin `hard_delete`) mantiene los titulares y las cuentas alias disponibles durante el período de retención regulatorio. La eliminación definitiva eliminaría la evidencia que necesitan las auditorías del BACEN.
* **Registra la fecha de cierre.** El `closingDate` en el alias da a los reguladores una marca de tiempo autorizada de cuándo terminó la relación.
* **Conserva el rastro de auditoría.** Midaz elimina las Cuentas del Ledger y las operaciones de forma lógica. Permanecen consultables para conciliación y reportes.

<Tip>
  Trata los ocho pasos como una sola transacción desde el punto de vista del cumplimiento. Si algún paso falla, detente y resuélvelo antes de continuar. No dejes al cliente en un estado de cierre parcial.
</Tip>
