> ## 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

> Sigue el flujo de ocho pasos para congelar, liquidar y archivar una cuenta de cliente en Ledger y CRM, conforme a los requisitos de cierre de cuentas y auditoría de BACEN.

Para cerrar una cuenta de cliente en Midaz, trabajas en dos áreas: el **Ledger** (cuentas y saldos) y **CRM** (titulares y cuentas alias). Las reglas de BACEN convierten el cierre de cuenta en un evento regulado, por lo que el orden importa. Primero, detén 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/products/midaz/crm/holders) hasta sus [Cuentas Alias](/es/products/midaz/crm/alias-accounts). Puedes ejecutar el flujo de dos formas. **[A través de la API](#via-api)** te da el endpoint, un payload de ejemplo y la justificación de cumplimiento para cada paso. **[A través de la Console](#via-console)** te da los mismos pasos como acciones de apuntar y hacer clic en la Console de Midaz.

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

## Resumen

***

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

| Fase                            | Pasos | Objetivo                                                                                        |
| ------------------------------- | ----- | ----------------------------------------------------------------------------------------------- |
| **1. Congelar**                 | 1–2   | Marca al Titular como inactivo y detén los nuevos créditos en el nivel del saldo.               |
| **2. Liquidar y poner en cero** | 3–4   | Resuelve la actividad pendiente y devuelve los fondos restantes al cliente.                     |
| **3. Cerrar y archivar**        | 5–8   | Desactiva las Cuentas del Ledger y archiva los registros de CRM según 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 propietarios de las cuentas. Esta guía abrevia las rutas a `/v1/.../accounts/{accountId}` para facilitar la lectura.
</Note>

## Requisitos previos

***

Antes de empezar, confirma que tienes lo siguiente:

* El `holderId` del cliente que vas a dar de baja.
* Los valores `accountId` vinculados a ese Titular en cada Ledger de la Organización. Recupéralos con `GET /v2/organizations/{organization_id}/holders/{holder_id}/accounts`; la respuesta está paginada, así que recupera todas las páginas. Agrega el parámetro de consulta opcional `ledger_id` solo cuando necesites acotar la lista a un Ledger.
* El `instrument_id` de cada Cuenta Alias, asociado con su `accountId` correspondiente. Lista los instrumentos del Titular con `GET /v2/organizations/{organization_id}/instruments?holder_id={holder_id}` (también paginado) y usa el campo `accountId` de cada instrumento para asociarlo con la Cuenta del Ledger. Los pasos 6 y 7 usan estos valores de `instrument_id`.
* Confirmación de tu equipo de cumplimiento de que puedes finalizar la relación con el cliente (sin retenciones legales, disputas abiertas ni requisitos regulatorios pendientes).
* Credenciales de API adecuadas con permiso para modificar titulares, instrumentos, saldos y cuentas. Los pasos 6 y 7 actualizan y eliminan instrumentos, por lo que las credenciales deben tener acceso `patch` y `delete` sobre el recurso `instruments`.

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

<h2 id="via-api">
  A través de la API
</h2>

***

Ejecuta el flujo de cierre completo mediante programación. Cada paso incluye el endpoint, un payload de ejemplo y la justificación de cumplimiento.

### Paso 1: Congela al Titular

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

```http theme={null}
PATCH /v2/organizations/{organization_id}/holders/{holder_id}
```

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

<Note>
  Marcar al 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 los nuevos créditos por sí solo: el Paso 2 bloquea las entradas en el nivel del saldo. Para una persona jurídica, establece `legalPerson.status` en su lugar.
</Note>

<h3 id="step-2-block-credits-on-the-accounts">
  Paso 2: Bloquea los créditos en las cuentas
</h3>

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

**Recupera los saldos de la cuenta:**

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

**Para cada `balanceId` que se devuelva, bloquea los fondos entrantes:**

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

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

<Warning>
  Repite este paso para **todos** los `balanceId` de **todas** las cuentas que pertenecen al Titular. Un solo saldo que quede abierto todavía puede recibir créditos y bloquear el cierre más adelante.
</Warning>

<Tip>
  Cuando estableces `allowReceiving` en `false`, el saldo bloquea las nuevas entradas de fondos, 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 indicadores de permiso, consulta [Saldos](/es/products/midaz/balances).
</Tip>

### Paso 3: Liquida la actividad pendiente

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

* **Revisa las transacciones en procesamiento.** Confirma que la cuenta no tenga transacciones pendientes ni sin confirmar. Confírmalas o cancélalas según corresponda con [Confirmar una transacción pendiente](/es/reference/products/midaz/v2/commit-transaction) o [Cancelar una transacción pendiente](/es/reference/products/midaz/v2/cancel-transaction).

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

### Paso 4: Pon el saldo en cero

Devuelve los fondos restantes al cliente (el titular de la cuenta) y confirma `available = 0` y `onHold = 0` en todos los saldos.

* Registra una **transacción de devolución** que mueva el monto `available` restante de cada cuenta del cliente al destino designado por el titular (por ejemplo, una cuenta de liquidación externa). Usa [Crear una transacción](/es/reference/products/midaz/v1/create-transaction-json).
* **Confirma `available = 0` y `onHold = 0`** en todos los saldos de todas las cuentas del Ledger antes de continuar. Puedes verificarlo con [Recuperar saldos por cuenta](/es/reference/products/midaz/v2/get-all-balances-by-account-id).

<Warning>
  Midaz **no permite eliminar una cuenta que todavía 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 resolver la actividad pendiente, elimina cada Cuenta del Ledger.

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

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

<Note>
  Eliminar una Cuenta del Ledger es una baja lógica. La cuenta y sus operaciones históricas permanecen disponibles para auditoría e informes, sujetas 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 /v2/organizations/{organization_id}/holders/{holder_id}/instruments/{instrument_id}
```

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

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

### Paso 7: Archiva las cuentas alias en CRM

Archiva cada Cuenta Alias en CRM. Usa un **borrado lógico**. Esto quita el registro del uso activo, pero lo conserva durante el período de retención regulatorio.

```http theme={null}
DELETE /v2/organizations/{organization_id}/holders/{holder_id}/instruments/{instrument_id}
```

<Warning>
  **No** envíes `hard_delete=true`. Un cierre regulado debe archivar (con un borrado lógico) el registro y conservarlo. No debe borrar el registro de forma permanente. Consulta [Eliminar un instrumento](/es/reference/products/midaz/v2/delete-instrument).
</Warning>

### Paso 8: Archiva al Titular en CRM

Después de archivar todas sus cuentas alias, archiva al propio Titular con un borrado lógico.

```http theme={null}
DELETE /v2/organizations/{organization_id}/holders/{holder_id}
```

<Warning>
  Como en el Paso 7, omite `hard_delete=true`. Mantén 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/products/midaz/v2/delete-holder).
</Warning>

<h2 id="via-console">
  A través de la Console
</h2>

***

Ejecuta el mismo flujo de cierre de ocho pasos desde la [Console de Midaz](/es/products/midaz/console/midaz-module). La Console cubre la mayor parte del flujo con acciones de apuntar y hacer clic, pero bloquear los créditos (Paso 2) todavía requiere la API. Cada paso a continuación indica el paso equivalente de la API en esta página.

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

### Paso 1: Congela al Titular

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

<Steps>
  <Step>
    En la página **Titulares**, busca al Titular que quieres 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>
    Confirma la actualización.
  </Step>
</Steps>

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

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

<Warning>
  **Este paso requiere la API. La Console no permite editar los indicadores de saldo después de crear la cuenta.** La Console permite establecer `allowReceiving` solo cuando creas una Cuenta por primera vez, no cuando editas un saldo existente. Usa la API para deshabilitar la recepción en todos los saldos.

  Sigue [Paso 2: Bloquea los créditos en las cuentas](#step-2-block-credits-on-the-accounts) en la sección A través de la API.
</Warning>

Para cada cuenta vinculada al Titular, usa la API para establecer `allowReceiving` en `false` en todos los `balanceId`. Esto bloquea las nuevas entradas mientras las salidas permanecen 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 en cero cualquier saldo.

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

  <Step>
    Revisa las transacciones pendientes y confírmalas o cancélalas según corresponda.
  </Step>
</Steps>

### Paso 4: Pon el saldo en cero

Devuelve los fondos restantes al cliente y confirma `available = 0` y `onHold = 0` en todos los saldos.

<Steps>
  <Step>
    En la página **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 por el titular, por ejemplo una cuenta de liquidación externa. Consulta [Crear una transacción](/es/products/midaz/console/creating-a-transaction).
  </Step>

  <Step>
    Abre cada cuenta y confirma **available = 0** y **onHold = 0** antes de continuar.
  </Step>
</Steps>

<Warning>
  Midaz **no permite eliminar una cuenta que todavía 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 resolver la actividad pendiente, elimina cada Cuenta del Ledger.

<Steps>
  <Step>
    En la página **Cuentas**, busca 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 el proceso para cada cuenta vinculada al Titular.
  </Step>
</Steps>

<Note>
  Eliminar una Cuenta del Ledger es una baja lógica. La cuenta y sus operaciones históricas permanecen disponibles para auditoría e informes, sujetas a tu política de retención. Consulta [Eliminar una cuenta](/es/products/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 **Cuentas Alias**, busca la cuenta alias que quieres 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`) con la fecha oficial de cierre en formato `YYYY-MM-DD`.
  </Step>

  <Step>
    Confirma la actualización.
  </Step>
</Steps>

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

### Paso 7: Archiva las cuentas alias en CRM

Archiva cada Cuenta Alias con un **borrado lógico**. Esto quita el registro del uso activo, pero lo conserva durante el período de retención regulatorio.

<Steps>
  <Step>
    En la página **Cuentas Alias**, busca la cuenta alias que quieres 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 el borrado estándar (lógico). Archiva y conserva el registro en lugar de borrarlo de forma permanente. En implementaciones reguladas, Midaz conserva el registro subyacente durante el período de retención. Consulta [Eliminar una Cuenta Alias](/es/products/midaz/console/crm-deleting-alias-account).
</Warning>

### Paso 8: Archiva al Titular en CRM

Después de archivar todas sus cuentas alias, archiva al propio Titular con un **borrado lógico**.

<Steps>
  <Step>
    En la página **Titulares**, busca al Titular que quieres 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 **Soft Delete** (la opción predeterminada), no Hard Delete. Mantén el registro del Titular bajo la política de retención aplicable para auditoría e inspección regulatoria. Consulta [Eliminar un Titular](/es/products/midaz/console/crm-deleting-a-holder).
</Warning>

## Notas de cumplimiento de BACEN

***

* **El orden es obligatorio.** Primero congela (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 confirma `available = 0` y `onHold = 0` antes de eliminar una cuenta. Midaz bloquea el cierre de una cuenta que tiene fondos, y ese cierre también rompería el cumplimiento.
* **Archiva, no borres.** Un borrado lógico (sin `hard_delete`) mantiene disponibles a los Titulares y las cuentas alias durante el período de retención regulatorio. La eliminación permanente eliminaría evidencia que las auditorías de BACEN necesitan.
* **Registra la fecha de cierre.** El `closingDate` del alias les da a los reguladores una marca de tiempo autorizada de cuándo terminó la relación.
* **Conserva el registro de auditoría.** Midaz elimina las Cuentas del Ledger y las operaciones de forma lógica. Permanecen consultables para conciliación e informes.

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