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

> Registre Tipos de Conta para aplicar a classificação por Ledger, validar o campo type na criação da conta e alinhar o comportamento da conta às suas regras contábeis.

Tipos de Conta classificam as contas do seu ledger. Cada [**Tipo de Conta**](https://docs.lerian.studio/pt/reference/products/midaz/v2/create-account-type.md) tem um nome, uma descrição, um valor de chave único e uma [direção do saldo](https://docs.lerian.studio/pt/products/midaz/balance-overdraft.md) padrão.

Você registra os Tipos de Conta que correspondem à sua estrutura contábil. Quando você habilita a validação de Tipo de Conta, o ledger confere o campo `type` de cada nova Conta não externa contra esses tipos registrados.

## Como funciona a validação de Tipo de Conta

### Habilitar a validação de Tipo de Conta

Você habilita a validação de Tipo de Conta por ledger pela [API de Configurações do Ledger](https://docs.lerian.studio/pt/products/midaz/ledgers.md#ledger-settings). Envie uma requisição `PATCH` ao endpoint de Configurações do Ledger:

```json PATCH /v2/organizations/{organization_id}/ledgers/{ledger_id}/settings theme={null}
{
  "accounting": {
    "validateAccountType": true
  }
}
```

### Comportamento do campo `type` na API de Contas

Quando você cria uma Conta, o comportamento do campo `type` depende da configuração de validação:

* **Validação desabilitada (padrão):** você deve informar um `type`. Ele aceita qualquer valor de string com até 256 caracteres. O ledger não o compara aos Tipos de Conta registrados.
* **Validação habilitada:** o campo `type` deve corresponder ao `keyValue` de um Tipo de Conta registrado. O Midaz guarda os novos valores de `keyValue` em minúsculas e compara o valor sem diferenciar maiúsculas de minúsculas. Use valores em minúsculas nas requisições e na configuração. Se não corresponder, o ledger rejeita a conta com um erro de validação. Contas externas pulam essa checagem.

> [!TIP]
>
> O Midaz confere o `type` apenas quando você cria uma Conta. Você não pode alterar o `type` de uma Conta existente.

### O campo `keyValue`

> [!NOTE]
>
> O campo `keyValue` identifica um Tipo de Conta. Ele tem estas restrições:
>
> * **Imutável:** você define o `keyValue` quando cria o Tipo de Conta. Você não pode alterá-lo depois. O endpoint de atualização de Tipo de Conta não aceita esse campo.
> * **Único por ledger:** cada `keyValue` deve ser único dentro de um ledger.
> * **Usado na validação:** quando você habilita `validateAccountType` nas Configurações do Ledger, o ledger compara o campo `type` de cada Conta não externa com um `keyValue` registrado, sem diferenciar maiúsculas de minúsculas. O ledger rejeita qualquer Conta não externa com um `type` não registrado.

## Gerenciar Tipos de Conta

***

Você gerencia Tipos de Conta pela API ou pelo Lerian Console.

* [Criar um Tipo de Conta](https://docs.lerian.studio/pt/reference/products/midaz/v2/create-account-type.md): registre um novo Tipo de Conta para o seu Ledger.
* [Listar Tipos de Conta](https://docs.lerian.studio/pt/reference/products/midaz/v2/list-account-types.md): busque todos os Tipos de Conta configurados no seu Ledger.
* [Buscar um Tipo de Conta](https://docs.lerian.studio/pt/reference/products/midaz/v2/get-account-type-by-id.md): obtenha informações detalhadas sobre um Tipo de Conta específico.
* [Atualizar um Tipo de Conta](https://docs.lerian.studio/pt/reference/products/midaz/v2/update-account-type.md): modifique a definição de um Tipo de Conta existente.
* [Excluir um Tipo de Conta](https://docs.lerian.studio/pt/reference/products/midaz/v2/delete-account-type.md): remova um Tipo de Conta que não está mais em uso.

> [!NOTE]
>
> **Veja também**
>
> * [Roteamento de Transações](https://docs.lerian.studio/pt/products/midaz/transaction-routing-entities.md): as Rotas de Operação usam `ruleType: account_type` para validar o `type` de uma conta contra os valores `account.validIf` configurados na rota.
> * [Lançamentos contábeis](https://docs.lerian.studio/pt/products/midaz/accounting-entries.md): como o Midaz resolve as rubricas de débito e de crédito para as contas que esses tipos classificam.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.