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.
- Banco de dados de onboarding:
organization,ledger,asset,account_type,account,portfolioesegment. - Banco de dados de transações:
balance,operation_route,operation,transaction_routeetransaction.
metadata de cada entidade no MongoDB, não nestas tabelas. Os nomes das colunas são nomes do banco de dados e podem ser diferentes dos nomes dos campos da API.
Tabelas
Tabela: organization
| Coluna | Tipo | Descrição |
|---|---|---|
| id | uuid | O identificador único da Organização. |
| parent_organization_id | uuid | O identificador único da Organização pai. |
| legal_name | text | O nome legal da Organização. |
| doing_business_as | text | O nome fantasia da Organização. |
| legal_document | text | O documento da Organização. |
| address | jsonb | O endereço da Organização. |
| status | text | O código do status. |
| status_description | text | A descrição do status. |
| 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: ledger
| Coluna | Tipo | Descrição |
|---|---|---|
| id | uuid | O identificador único do Ledger. |
| organization_id | uuid | O identificador único da Organização. |
| name | text | O nome do Ledger. |
| status | text | O código do status. |
| status_description | text | A descrição do status. |
| settings | jsonb | As configurações do Ledger. |
| 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: asset
| Coluna | Tipo | Descrição |
|---|---|---|
| id | uuid | O identificador único do Ativo. |
| organization_id | uuid | O identificador único da Organização. |
| ledger_id | uuid | O identificador único do Ledger. |
| name | text | O nome do Ativo. |
| type | text | O tipo do Ativo (currency, fiat, crypto, commodity, others). |
| code | text | O código usado para se referir ao Ativo. |
| status | text | O código do status. |
| status_description | text | A descrição do status. |
| 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: account_type
| Coluna | Tipo | Descrição |
|---|---|---|
| id | uuid | O identificador único do Tipo de Conta. |
| organization_id | uuid | O identificador único da Organização. |
| ledger_id | uuid | O identificador único do Ledger. |
| name | varchar(100) | Nome do Tipo de Conta. |
| description | text | Descrição do Tipo de Conta. |
| key_value | varchar(50) | A chave que identifica o Tipo de Conta no Ledger. |
| default_direction | varchar(16) | A direção do saldo padrão para Contas deste tipo: credit ou debit. |
| 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: account
| Coluna | Tipo | Descrição |
|---|---|---|
| id | uuid | O identificador único da Conta. |
| organization_id | uuid | O identificador único da Organização. |
| ledger_id | uuid | O identificador único do Ledger. |
| asset_code | text | O código usado para se referir ao Ativo. |
| name | text | O nome da Conta. |
| alias | text | O alias que as transações usam para identificar a Conta. |
| type | text | O tipo de conta. |
| parent_account_id | uuid | O identificador único da Conta Pai. |
| entity_id | text | Uma referência a um registro em um sistema externo. |
| holder_id | uuid | O identificador único do Titular dono da Conta. |
| holder_check_skipped | boolean | true quando uma flag skip ignorou a verificação do Titular na criação. |
| portfolio_id | uuid | O identificador único do Portfólio. |
| segment_id | uuid | O identificador único do Segmento. |
| status | text | O código do status. |
| status_description | text | A descrição do status. |
| blocked | boolean | true quando a Conta está bloqueada. |
| closed_at | timestamptz | Timestamp do encerramento, se aplicável (UTC). |
| 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: portfolio
| Coluna | Tipo | Descrição |
|---|---|---|
| id | uuid | O identificador único do Portfólio. |
| organization_id | uuid | O identificador único da Organização. |
| ledger_id | uuid | O identificador único do Ledger. |
| entity_id | text | O identificador único do usuário responsável pelo Portfólio. |
| name | text | O nome do Portfólio. |
| status | text | O código do status. |
| status_description | text | A descrição do status. |
| 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: segment
| Coluna | Tipo | Descrição |
|---|---|---|
| id | uuid | O identificador único do Segmento. |
| organization_id | uuid | O identificador único da Organização. |
| ledger_id | uuid | O identificador único do Ledger. |
| name | text | O nome do Segmento. |
| status | text | O código do status. |
| status_description | text | A descrição do status. |
| 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 | uuid | O identificador único do Saldo. |
| organization_id | uuid | O identificador único da Organização. |
| ledger_id | uuid | O identificador único do Ledger. |
| account_id | uuid | O identificador único da Conta. |
| alias | text | O alias da Conta. |
| key | text | A chave do saldo. O saldo padrão usa default. |
| asset_code | text | O código usado para se referir ao Ativo. |
| available | decimal | O valor disponível. |
| on_hold | decimal | Valor retido/reservado. |
| version | bigint | Versão do saldo. |
| account_type | text | O tipo de conta. |
| allow_sending | boolean | Se verdadeiro, indica que o envio de transações é permitido. |
| allow_receiving | boolean | Se verdadeiro, indica que o recebimento de transações é permitido. |
| direction | varchar(16) | A direção do saldo: credit ou debit. |
| overdraft_used | decimal | O valor de overdraft em uso. |
| settings | jsonb | As configurações do saldo, como o limite de overdraft. |
| 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: operation_route
| Coluna | Tipo | Descrição |
|---|---|---|
| id | uuid | O identificador único da Rota de Operação. |
| organization_id | uuid | O identificador único da Organização. |
| ledger_id | uuid | O identificador único do Ledger. Vazio para uma rota que pertence à Organização. |
| title | varchar(255) | Texto curto que resume o propósito da operação. Usado como nota de lançamento para identificação. |
| description | varchar(250) | Descrição detalhada do propósito e do uso da Rota de Operação. |
| code | text | O código da Rota de Operação. |
| operation_type | varchar(20) | A aplicabilidade do lançamento: source, destination ou bidirectional. |
| account_rule_type | varchar(20) | A regra que seleciona a conta: alias ou account_type. |
| account_rule_valid_if | text | Os valores que a regra de conta aceita. |
| accounting_entries | jsonb | Os lançamentos da rota. |
| 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: operation
| Coluna | Tipo | Descrição |
|---|---|---|
| id | uuid | O identificador único da Operação. |
| transaction_id | uuid | O identificador único da Transação. |
| organization_id | uuid | O identificador único da Organização. |
| ledger_id | uuid | O identificador único do Ledger. |
| account_id | uuid | O identificador único da Conta. |
| account_alias | text | O alias da conta usada na operação. |
| balance_id | uuid | O identificador único do Saldo. |
| balance_key | text | A chave do Saldo. |
| description | text | Descrição da operação. |
| type | text | O tipo da operação, como DEBIT, CREDIT, ON_HOLD ou RELEASE. |
| direction | varchar(10) | A direção da operação: debit ou credit. |
| asset_code | text | O código usado para se referir ao Ativo. |
| amount | decimal | O valor da operação. |
| available_balance | decimal | O valor disponível antes da operação. |
| on_hold_balance | decimal | O valor retido antes da operação. |
| available_balance_after | decimal | O valor disponível depois da operação. |
| on_hold_balance_after | decimal | O valor retido depois da operação. |
| balance_version_before | bigint | A versão do saldo antes da operação. |
| balance_version_after | bigint | A versão do saldo depois da operação. |
| balance_affected | boolean | false quando a operação não altera o saldo, como em uma transação de anotação. |
| chart_of_accounts | text | O nome do plano de contas ao qual a operação pertence. |
text | [Descontinuado] Identificador de rota legado, mantido para compatibilidade retroativa. Use route_id em vez disso. | |
| route_id | uuid | Identificador da rota usada pela operação (o campo de rota atual). |
| route_code | text | O código da rubrica contábil que o Midaz resolveu para a operação. |
| route_description | text | A descrição da rubrica contábil que o Midaz resolveu para a operação. |
| snapshot | jsonb | Contexto de sistema da operação, como o uso de overdraft antes e depois dela. |
| status | text | O código do status. |
| status_description | text | A descrição do status. |
| recorded_at | timestamptz | Timestamp de quando o ledger registrou a operação (UTC). |
| 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: transaction_route
| Coluna | Tipo | Descrição |
|---|---|---|
| id | uuid | O identificador único da Rota de Transação. |
| organization_id | uuid | O identificador único da Organização. |
| ledger_id | uuid | O identificador único do Ledger. Vazio para uma rota que pertence à Organização. |
| title | varchar(255) | Texto curto que resume o propósito da transação. Usado como nota de lançamento para identificação. |
| description | varchar(250) | Uma descrição para a Rota de Transação. |
| 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). |
operation_transaction_route vincula cada Rota de Transação às suas Rotas de Operação.
Tabela: transaction
| Coluna | Tipo | Descrição |
|---|---|---|
| id | uuid | O identificador único da transação. |
| parent_transaction_id | uuid | O identificador único da transação pai, como a transação que um estorno reverte. |
| group_id | uuid | Vincula as transações que uma requisição entre Ledgers cria. |
| organization_id | uuid | O identificador único da Organização. |
| ledger_id | uuid | O identificador único do Ledger. |
| description | text | Descrição da transação. |
text | [Descontinuado] Identificador de rota legado, mantido para compatibilidade retroativa. Use route_id em vez disso. | |
| route_id | uuid | Identificador da rota usada pela transação (o campo de rota atual). |
| status | text | O código do status. |
| status_description | text | A descrição do status. |
| amount | decimal | O valor enviado. |
| asset_code | text | O código usado para se referir ao Ativo. |
| chart_of_accounts_group_name | text | O nome do grupo do plano de contas usado para categorizar as operações de uma transação. |
| body | jsonb | Cópia interna da requisição da transação. |
| fees_skipped | boolean | true quando uma flag skip ignorou o cálculo de tarifas. |
| tracer_skipped | boolean | true quando uma flag skip ignorou o Tracer. |
| 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). |
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.
Figura 1. Tabelas do Midaz e seus relacionamentos.

