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

# Tipos de cuenta

> Registra Tipos de Cuenta para clasificar cuentas por Ledger, validar el campo `type` al crear cuentas y alinear el comportamiento de las cuentas con tus reglas contables.

Los Tipos de Cuenta clasifican las cuentas de tu ledger. Cada [**Tipo de Cuenta**](/es/reference/midaz/create-an-account-type) tiene un nombre, una descripción y un valor de clave único.

Registra los Tipos de Cuenta que coincidan con tu estructura contable. Cuando habilitas la validación de Tipo de Cuenta, el ledger comprueba el campo `type` de cada Cuenta nueva no externa contra estos tipos registrados.

## Cómo funciona la validación de Tipo de Cuenta

### Habilitación de la validación de Tipo de Cuenta

Habilitas la validación de Tipo de Cuenta por Ledger a través de la [API de Configuración del Ledger](/es/midaz/ledgers#ledger-settings). Envía una solicitud `PATCH` al endpoint de Configuración del Ledger:

<CodeGroup>
  ```json PATCH /v1/organizations/{org_id}/ledgers/{ledger_id}/settings theme={null}
  {
    "accounting": {
      "validateAccountType": true
    }
  }
  ```
</CodeGroup>

<Tip>
  Los cambios de configuración surten efecto de inmediato — no es necesario redesplegar. Puedes actualizarlos en cualquier momento a través de la API.
</Tip>

### Comportamiento del campo `type` en la API de Cuentas

Cuando creas una Cuenta, el comportamiento del campo `type` depende de la configuración de validación:

* **Validación deshabilitada (predeterminada):** Debes proporcionar un `type`. Acepta cualquier cadena de texto de hasta 256 caracteres. El ledger no lo compara con los Tipos de Cuenta registrados.
* **Validación habilitada:** El campo `type` debe coincidir con el `keyValue` de un Tipo de Cuenta registrado. Midaz guarda los nuevos valores de `keyValue` en minúsculas y compara el valor sin distinguir mayúsculas y minúsculas. Usa valores en minúsculas en las solicitudes y la configuración. Si no coincide, el ledger rechaza la cuenta con un error de validación. Las cuentas externas omiten esta comprobación.

<Tip>
  Antes de habilitar la validación de Tipo de Cuenta, revisa tus cuentas existentes. El campo `type` de una Cuenta existente no se puede cambiar, así que crea un Tipo de Cuenta registrado que coincida o recrea la Cuenta cuyo `type` deba cambiar.
</Tip>

### El campo `keyValue`

<Note>
  El campo `keyValue` identifica un Tipo de Cuenta. Tiene estas restricciones:

  * **Inmutable:** Estableces el `keyValue` cuando creas el Tipo de Cuenta. No puedes cambiarlo después. El endpoint de Actualización de Tipo de Cuenta no acepta este campo.
  * **Único por ledger:** Cada `keyValue` debe ser único dentro de un ledger.
  * **Usado para validación:** Cuando habilitas `validateAccountType` en la Configuración del Ledger, el ledger compara el campo `type` de cada Cuenta no externa sin distinguir mayúsculas y minúsculas con un `keyValue` registrado. El ledger rechaza cualquier Cuenta no externa con un `type` no registrado.
</Note>

## Gestión de Tipos de Cuenta

***

Gestionas tus Tipos de Cuenta a través de la API o de Lerian Console.

* [Crear un Tipo de Cuenta](/es/reference/midaz/create-an-account-type) — Registra un nuevo Tipo de Cuenta para tu Ledger.
* [Listar Tipos de Cuenta](/es/reference/midaz/list-account-types) — Recupera todos los Tipos de Cuenta configurados en tu Ledger.
* [Recuperar un Tipo de Cuenta](/es/reference/midaz/retrieve-an-account-type) — Obtén información detallada sobre un Tipo de Cuenta específico.
* [Actualizar un Tipo de Cuenta](/es/reference/midaz/update-an-account-type) — Modifica la definición de un Tipo de Cuenta existente.
* [Eliminar un Tipo de Cuenta](/es/reference/midaz/delete-an-account-type) — Elimina un Tipo de Cuenta que ya no está en uso.

<Note>
  **Consulta también**

  * [Enrutamiento de Transacciones](/es/midaz/transaction-routing-entities) — Las Rutas de Operación usan `ruleType: account_type` para validar el campo `type` de una cuenta contra los valores `account.validIf` configurados en la ruta.
  * [Asientos Contables](/es/midaz/accounting-entries) — Cómo Midaz resuelve las rúbricas de débito y crédito para las cuentas que estos tipos clasifican.
</Note>
