Tabelas
Cada tabela é estruturada para suportar consultas eficientes e integridade de dados, alinhada com o compromisso do Midaz com escalabilidade e flexibilidade.
Tabela: organization
| Coluna | Tipo | Descrição |
|---|---|---|
| id | uuid | O identificador único da Organização. |
| legalName | text | A razão social 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 metadata. |
| createdAt | timestamptz | Timestamp de criação (UTC). |
| updatedAt | timestamptz | Timestamp da última atualização (UTC). |
| deletedAt | timestamptz | Timestamp de exclusão lógica, 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 metadata. |
| createdAt | timestamptz | Timestamp de criação (UTC). |
| updatedAt | timestamptz | Timestamp da última atualização (UTC). |
| deletedAt | timestamptz | Timestamp de exclusão lógica, 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 de Ativo (currency, 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 metadata. |
| createdAt | timestamptz | Timestamp de criação (UTC). |
| updatedAt | timestamptz | Timestamp da última atualização (UTC). |
| deletedAt | timestamptz | Timestamp de exclusão lógica, 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 de exclusão lógica, 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 Portfolio. |
| segmentId | uuid | O identificador único do Segmento. |
| status | jsonb | Informações sobre o status. |
| metadata | jsonb | Pares chave-valor para adicionar como metadata. |
| createdAt | timestamptz | Timestamp de criação (UTC). |
| updatedAt | timestamptz | Timestamp da última atualização (UTC). |
| deletedAt | timestamptz | Timestamp de exclusão lógica, se aplicável (UTC). |
Tabela: portfolio
| Coluna | Tipo | Descrição |
|---|---|---|
| id | uuid | O identificador único do Portfolio. |
| 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 Portfolio. |
| name | text | O nome do Portfolio. |
| status | jsonb | Informações sobre o status. |
| metadata | jsonb | Pares chave-valor para adicionar como metadata. |
| createdAt | timestamptz | Timestamp de criação (UTC). |
| updatedAt | timestamptz | Timestamp da última atualização (UTC). |
| deletedAt | timestamptz | Timestamp de exclusão lógica, 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. |
| created_at | timestamptz | Timestamp de criação (UTC). |
| updated_at | timestamptz | Timestamp da última atualização (UTC). |
| deleted_at | timestamptz | Timestamp de exclusão lógica, 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 bloqueado/reservado. |
| version | integer | Versão do saldo, que é 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 de exclusão lógica, 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 resumindo 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. |
| type | text | O tipo de operação (débito/crédito). |
| 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 de exclusão lógica, se aplicável (UTC). |
Tabela: operation
| Coluna | Tipo | Descrição |
|---|---|---|
| id | uuid | O identificador único da Rota de Transaçã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ê deseja 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 | [Descontinuado] O nome do Plano de Contas ao qual a operação pertence. |
| route | text | O nome do grupo do plano de contas que categoriza a operação sob um grupo específico. |
| 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 após a operação. |
| status | jsonb | O status da transação (pending, completed, reversed). |
| metadata | jsonb | Pares chave-valor para adicionar como metadata. |
| createdAt | timestamptz | Timestamp de criação (UTC). |
| updatedAt | timestamptz | Timestamp da última atualização (UTC). |
| deletedAt | timestamptz | Timestamp de exclusão lógica, se aplicável (UTC). |
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 resumindo 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 Rotas de Operação que definem a lógica de débito e crédito para a transação. |
| metadata | object | Pares chave-valor para adicionar como metadata. |
| createdAt | timestamptz | Timestamp de criação (UTC). |
| updatedAt | timestamptz | Timestamp da última atualização (UTC). |
| deletedAt | timestamptz | Timestamp de exclusão lógica, 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. |
| route | text | O nome do grupo do plano de contas que categoriza a operação sob um grupo específico. |
| 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 | [Descontinuado] O nome do grupo usado para categorizar as operações de uma transação sob o mesmo grupo. |
| 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 na transação. |
| metadata | jsonb | Pares chave-valor para adicionar como metadata. |
| createdAt | timestamptz | Timestamp de criação (UTC). |
| updatedAt | timestamptz | Timestamp da última atualização (UTC). |
| deletedAt | timestamptz | Timestamp de exclusão lógica, se aplicável (UTC). |
Modelo de dados
Na Figura 1, você pode encontrar uma representação visual das tabelas principais do Midaz e seus relacionamentos. O diagrama ajuda desenvolvedores e administradores de BD a entender como as diferentes entidades estão interconectadas dentro do sistema, servindo como guia para manipulação e integração eficientes de dados.


