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

# Modelo de dados

> Consulte as tabelas e os schemas principais que sustentam o Midaz, criado para desenvolvedores e administradores de banco de dados que trabalham perto dos dados.

<Tip>
  **Esta página é para desenvolvedores e administradores de banco de dados.** Ela contém schemas detalhados do banco de dados e estruturas de tabelas. Para uma visão geral em nível de negócio das entidades do Midaz e seus relacionamentos, veja [Sobre o Midaz](/pt/products/midaz/about-midaz).
</Tip>

Explore as tabelas e os schemas principais que sustentam o Midaz. À medida que o Midaz evolui, ele pode adicionar novos campos e tabelas.

## Tabelas

***

### Tabela: `organization`

| Coluna                   | Tipo          | Descrição                                        |
| :----------------------- | :------------ | :----------------------------------------------- |
| **id**                   | `uuid`        | O identificador único da Organização.            |
| **legalName**            | `text`        | O nome legal da Organização.                     |
| **parentOrganizationId** | `uuid`        | O identificador único da Organização pai.        |
| **doingBusinessAs**      | `text`        | O nome fantasia da Organização.                  |
| **legalDocument**        | `text`        | O documento da Organização.                      |
| **status**               | `jsonb`       | Informações sobre o status.                      |
| **address**              | `jsonb`       | Informações sobre o endereço da Organização.     |
| **metadata**             | `jsonb`       | Pares chave-valor para adicionar como metadados. |
| **createdAt**            | `timestamptz` | Timestamp de criação (UTC).                      |
| **updatedAt**            | `timestamptz` | Timestamp da última atualização (UTC).           |
| **deletedAt**            | `timestamptz` | O timestamp da soft delete, se aplicável (UTC).  |

### Tabela: `ledger`

| Coluna             | Tipo          | Descrição                                        |
| :----------------- | :------------ | :----------------------------------------------- |
| **id**             | `uuid`        | O identificador único do Ledger.                 |
| **organizationId** | `uuid`        | O identificador único da Organização.            |
| **name**           | `text`        | O nome do Ledger.                                |
| **status**         | `jsonb`       | Informações sobre o status.                      |
| **metadata**       | `jsonb`       | Pares chave-valor para adicionar como metadados. |
| **createdAt**      | `timestamptz` | Timestamp de criação (UTC).                      |
| **updatedAt**      | `timestamptz` | Timestamp da última atualização (UTC).           |
| **deletedAt**      | `timestamptz` | Timestamp da soft delete, se aplicável (UTC).    |

### Tabela: `asset`

| Coluna             | Tipo          | Descrição                                                              |
| :----------------- | :------------ | :--------------------------------------------------------------------- |
| **id**             | `uuid`        | O identificador único do Ativo.                                        |
| **organizationId** | `uuid`        | O identificador único da Organização.                                  |
| **ledgerId**       | `uuid`        | O identificador único do Ledger.                                       |
| **name**           | `text`        | O nome do Ativo.                                                       |
| **type**           | `enum`        | O tipo do Ativo (`currency`, `fiat`, `crypto`, `commodity`, `others`). |
| **code**           | `text`        | O código usado para se referir ao Ativo.                               |
| **status**         | `text`        | Informações sobre o status.                                            |
| **metadata**       | `jsonb`       | Pares chave-valor para adicionar como metadados.                       |
| **createdAt**      | `timestamptz` | Timestamp de criação (UTC).                                            |
| **updatedAt**      | `timestamptz` | Timestamp da última atualização (UTC).                                 |
| **deletedAt**      | `timestamptz` | Timestamp da soft delete, se aplicável (UTC).                          |

### Tabela: `account-type`

| Coluna          | Tipo          | Descrição                                                                   |
| :-------------- | :------------ | :-------------------------------------------------------------------------- |
| **id**          | `uuid`        | O identificador único do Tipo de Conta.                                     |
| **ledgerId**    | `uuid`        | O identificador único do Ledger.                                            |
| **name**        | `text`        | Nome do Tipo de Conta.                                                      |
| **description** | `text`        | Descrição do Tipo de Conta.                                                 |
| **keyValue**    | `text`        | Valor personalizado definido pelo usuário para identificar o Tipo de Conta. |
| **createdAt**   | `timestamptz` | Timestamp de criação (UTC).                                                 |
| **updatedAt**   | `timestamptz` | Timestamp da última atualização (UTC).                                      |
| **deletedAt**   | `timestamptz` | Timestamp da soft delete, se aplicável (UTC).                               |

### Tabela: `account`

| Coluna              | Tipo          | Descrição                                                 |
| :------------------ | :------------ | :-------------------------------------------------------- |
| **id**              | `uuid`        | O identificador único da Conta.                           |
| **organizationId**  | `uuid`        | O identificador único da Organização.                     |
| **ledgerId**        | `uuid`        | O identificador único do Ledger.                          |
| **assetCode**       | `text`        | O código usado para se referir ao Ativo.                  |
| **name**            | `text`        | O nome da Conta.                                          |
| **alias**           | `text`        | Um identificador único e amigável para a conta.           |
| **type**            | `text`        | O tipo de conta.                                          |
| **parentAccountId** | `uuid`        | O identificador único da Conta Pai.                       |
| **entityId**        | `text`        | O identificador único da Entidade responsável pela Conta. |
| **portfolioId**     | `uuid`        | O identificador único do Portfólio.                       |
| **segmentId**       | `uuid`        | O identificador único do Segmento.                        |
| **status**          | `jsonb`       | Informações sobre o status.                               |
| **metadata**        | `jsonb`       | Pares chave-valor para adicionar como metadados.          |
| **createdAt**       | `timestamptz` | Timestamp de criação (UTC).                               |
| **updatedAt**       | `timestamptz` | Timestamp da última atualização (UTC).                    |
| **deletedAt**       | `timestamptz` | Timestamp da soft delete, se aplicável (UTC).             |

### Tabela: `portfolio`

| Coluna             | Tipo          | Descrição                                                    |
| :----------------- | :------------ | :----------------------------------------------------------- |
| **id**             | `uuid`        | O identificador único do Portfólio.                          |
| **organizationId** | `uuid`        | O identificador único da Organização.                        |
| **ledgerId**       | `uuid`        | O identificador único do Ledger.                             |
| **entityId**       | `text`        | O identificador único do usuário responsável pelo Portfólio. |
| **name**           | `text`        | O nome do Portfólio.                                         |
| **status**         | `jsonb`       | Informações sobre o status.                                  |
| **metadata**       | `jsonb`       | Pares chave-valor para adicionar como metadados.             |
| **createdAt**      | `timestamptz` | Timestamp de criação (UTC).                                  |
| **updatedAt**      | `timestamptz` | Timestamp da última atualização (UTC).                       |
| **deletedAt**      | `timestamptz` | Timestamp da soft delete, se aplicável (UTC).                |

### Tabela: `segment`

| Coluna             | Tipo          | Descrição                                        |
| :----------------- | :------------ | :----------------------------------------------- |
| **id**             | `uuid`        | O identificador único do Segmento.               |
| **organizationId** | `uuid`        | O identificador único da Organização.            |
| **ledgerId**       | `uuid`        | O identificador único do Ledger.                 |
| **name**           | `text`        | O nome do Segmento.                              |
| **status**         | `jsonb`       | Informações sobre o status.                      |
| **metadata**       | `jsonb`       | Pares chave-valor para adicionar como metadados. |
| **created\_at**    | `timestamptz` | Timestamp de criação (UTC).                      |
| **updated\_at**    | `timestamptz` | Timestamp da última atualização (UTC).           |
| **deleted\_at**    | `timestamptz` | Timestamp da soft delete, se aplicável (UTC).    |

### Tabela: `balance`

| Coluna             | Tipo          | Descrição                                                          |
| :----------------- | :------------ | :----------------------------------------------------------------- |
| **id**             | `text`        | O identificador único do Saldo.                                    |
| **organizationId** | `uuid`        | O identificador único da Organização.                              |
| **ledgerId**       | `uuid`        | O identificador único do Ledger.                                   |
| **accountId**      | `uuid`        | O identificador único da Conta.                                    |
| **alias**          | `text`        | O alias da conta usado na operação.                                |
| **assetCode**      | `text`        | O código usado para se referir ao Ativo.                           |
| **available**      | `text`        | Saldo disponível anterior.                                         |
| **onHold**         | `text`        | Valor retido/reservado.                                            |
| **version**        | `integer`     | Versão do saldo, atualizada a cada transação.                      |
| **accountType**    | `text`        | O tipo de conta.                                                   |
| **allowSending**   | `boolean`     | Se verdadeiro, indica que o envio de transações é permitido.       |
| **allowReceiving** | `boolean`     | Se verdadeiro, indica que o recebimento de transações é permitido. |
| **createdAt**      | `timestamptz` | Timestamp de criação (UTC).                                        |
| **updatedAt**      | `timestamptz` | Timestamp da última atualização (UTC).                             |
| **deletedAt**      | `timestamptz` | Timestamp da soft delete, se aplicável (UTC).                      |

### Tabela: `operation-route`

| Coluna             | Tipo          | Descrição                                                                                         |
| :----------------- | :------------ | :------------------------------------------------------------------------------------------------ |
| **id**             | `uuid`        | O identificador único da Rota de Operação.                                                        |
| **organizationId** | `uuid`        | O identificador único da Organização.                                                             |
| **ledgerId**       | `uuid`        | O identificador único do Ledger.                                                                  |
| **title**          | `text`        | Texto curto que resume o propósito da operação. Usado como nota de lançamento para identificação. |
| **description**    | `text`        | Descrição detalhada do propósito e uso da Rota de Operação.                                       |
| **operationType**  | `text`        | `operationType` — a aplicabilidade do lançamento: `source`, `destination` ou `bidirectional`.     |
| **account**        | `jsonb`       | Define a regra para selecionar a conta que participará da operação (débito ou crédito).           |
| **createdAt**      | `timestamptz` | Timestamp de criação (UTC).                                                                       |
| **updatedAt**      | `timestamptz` | Timestamp da última atualização (UTC).                                                            |
| **deletedAt**      | `timestamptz` | Timestamp da soft delete, se aplicável (UTC).                                                     |

### Tabela: `operation`

| Coluna                                                        | Tipo          | Descrição                                                                                                               |
| :------------------------------------------------------------ | :------------ | :---------------------------------------------------------------------------------------------------------------------- |
| **id**                                                        | `uuid`        | O identificador único da Operação.                                                                                      |
| **transactionId**                                             | `uuid`        | O identificador único da Transação.                                                                                     |
| **organizationId**                                            | `uuid`        | O identificador único da Organização.                                                                                   |
| **ledgerId**                                                  | `uuid`        | O identificador único do Ledger.                                                                                        |
| **accountId**                                                 | `uuid`        | O identificador único da conta da qual você quer recuperar os saldos.                                                   |
| **balanceId**                                                 | `uuid`        | O identificador único do Saldo.                                                                                         |
| **accountAlias**                                              | `text`        | O alias da conta usado na operação.                                                                                     |
| **description**                                               | `text`        | Descrição da transação.                                                                                                 |
| **type**                                                      | `text`        | O tipo da operação (débito ou crédito).                                                                                 |
| **assetCode**                                                 | `text`        | O nome do ativo usado na operação.                                                                                      |
| **chartOfAccounts**                                           | `text`        | O nome do plano de contas ao qual a operação pertence.                                                                  |
| <Icon icon="triangle-exclamation" color="#f1ba5c" />**route** | `text`        | **\[Descontinuado]** Identificador de rota legado, mantido para compatibilidade retroativa. Use `routeId` em vez disso. |
| **routeId**                                                   | `uuid`        | Identificador da rota usada pela operação (o campo de rota atual).                                                      |
| **amount**                                                    | `jsonb`       | Um objeto contendo informações sobre o valor usado na operação.                                                         |
| **balance**                                                   | `jsonb`       | Um objeto contendo informações sobre o saldo antes da operação.                                                         |
| **balanceAfter**                                              | `jsonb`       | Um objeto contendo informações sobre o saldo depois da operação.                                                        |
| **status**                                                    | `jsonb`       | O status da transação (pendente, concluída, estornada).                                                                 |
| **metadata**                                                  | `jsonb`       | Pares chave-valor para adicionar como metadados.                                                                        |
| **createdAt**                                                 | `timestamptz` | Timestamp de criação (UTC).                                                                                             |
| **updatedAt**                                                 | `timestamptz` | Timestamp da última atualização (UTC).                                                                                  |
| **deletedAt**                                                 | `timestamptz` | Timestamp da soft delete, se aplicável (UTC).                                                                           |

**Campo descontinuado**: este campo permanece para compatibilidade retroativa. Não o use.

### Tabela: `transaction-route`

| Coluna              | Tipo          | Descrição                                                                                          |
| :------------------ | :------------ | :------------------------------------------------------------------------------------------------- |
| **id**              | `uuid`        | O identificador único da Rota de Transação.                                                        |
| **organizationId**  | `uuid`        | O identificador único da Organização.                                                              |
| **ledgerId**        | `uuid`        | O identificador único do Ledger.                                                                   |
| **title**           | `text`        | Texto curto que resume o propósito da transação. Usado como nota de lançamento para identificação. |
| **description**     | `text`        | Uma descrição para a Rota de Transação.                                                            |
| **operationRoutes** | `array`       | Uma lista de IDs de Rota de Operação que define a lógica de débito e crédito da transação.         |
| **metadata**        | `object`      | Pares chave-valor para adicionar como metadados.                                                   |
| **createdAt**       | `timestamptz` | Timestamp de criação (UTC).                                                                        |
| **updatedAt**       | `timestamptz` | Timestamp da última atualização (UTC).                                                             |
| **deletedAt**       | `timestamptz` | Timestamp da soft delete, se aplicável (UTC).                                                      |

### Tabela: `transaction`

| Coluna                                                        | Tipo          | Descrição                                                                                                               |
| :------------------------------------------------------------ | :------------ | :---------------------------------------------------------------------------------------------------------------------- |
| **id**                                                        | `uuid`        | O identificador único da transação.                                                                                     |
| **organizationId**                                            | `uuid`        | O identificador único da Organização.                                                                                   |
| **ledgerId**                                                  | `uuid`        | O identificador único do Ledger.                                                                                        |
| **description**                                               | `text`        | Descrição da transação.                                                                                                 |
| <Icon icon="triangle-exclamation" color="#f1ba5c" />**route** | `text`        | **\[Descontinuado]** Identificador de rota legado, mantido para compatibilidade retroativa. Use `routeId` em vez disso. |
| **routeId**                                                   | `uuid`        | Identificador da rota usada pela transação (o campo de rota atual).                                                     |
| **status**                                                    | `jsonb`       | Informações sobre o status.                                                                                             |
| **amount**                                                    | `text`        | O valor enviado.                                                                                                        |
| **assetCode**                                                 | `text`        | O código usado para se referir ao Ativo.                                                                                |
| **chartOfAccountsGroupName**                                  | `text`        | O nome do grupo do plano de contas usado para categorizar as operações de uma transação.                                |
| **source**                                                    | `array`       | A lista de contas usadas como origem.                                                                                   |
| **destination**                                               | `array`       | A lista de contas usadas como destino.                                                                                  |
| **operations**                                                | `array`       | A lista de operações da transação.                                                                                      |
| **metadata**                                                  | `jsonb`       | Pares chave-valor para adicionar como metadados.                                                                        |
| **createdAt**                                                 | `timestamptz` | Timestamp de criação (UTC).                                                                                             |
| **updatedAt**                                                 | `timestamptz` | Timestamp da última atualização (UTC).                                                                                  |
| **deletedAt**                                                 | `timestamptz` | Timestamp da soft delete, se aplicável (UTC).                                                                           |

**Campo descontinuado**: este campo permanece para compatibilidade retroativa. Não o use.

## Modelo de dados

***

*Figura 1* mostra as tabelas principais do Midaz e seus relacionamentos. Use-a para orientar o tratamento de dados e a integração.

<Frame caption="Figura 1. Tabelas do Midaz e seus relacionamentos.">
  <img src="https://mintcdn.com/lerian-49cb71fc/vdBt8wfgjsNRO1rf/images/pt/d2/midaz-data-model-v3.svg?fit=max&auto=format&n=vdBt8wfgjsNRO1rf&q=85&s=b0dfaf82ffcdc27fe3d009111d3f8aa1" alt="Tabelas principais do banco de dados do Midaz e os relacionamentos entre elas, como referência para o tratamento de dados e a integração" width="2914" height="3834" data-path="images/pt/d2/midaz-data-model-v3.svg" />
</Frame>
