Tablas
Cada tabla está estructurada para soportar consultas eficientes e integridad de los datos, alineándose con el compromiso de Midaz con la escalabilidad y la flexibilidad.
Tabla: organization
Columna | Tipo | Descripción |
---|---|---|
id | uuid | Identificador único de la organización. |
legalName | text | Razón social de la organización. |
parentOrganizationId | uuid | Identificador único de la organización padre. |
doingBusinessAs | text | Nombre comercial de la organización. |
legalDocument | text | Documento legal de la organización. |
status | jsonb | Información sobre el estado. |
address | jsonb | Información sobre la dirección de la organización. |
metadata | jsonb | Pares clave-valor para añadir como metadatos. |
createdAt | timestamptz | Marca de tiempo de la creación (UTC). |
updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
deletedAt | timestamptz | Marca de tiempo de la eliminación lógica, si aplica (UTC). |
Tabla: ledger
Columna | Tipo | Descripción |
---|---|---|
id | uuid | Identificador único del ledger (libro mayor). |
organizationId | uuid | Identificador único de la organización. |
name | text | Nombre del ledger. |
status | jsonb | Información sobre el estado. |
metadata | jsonb | Pares clave-valor para añadir como metadatos. |
createdAt | timestamptz | Marca de tiempo de la creación (UTC). |
updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
deletedAt | timestamptz | Marca de tiempo de la eliminación lógica, si aplica (UTC). |
Tabla: asset
Columna | Tipo | Descripción |
---|---|---|
id | uuid | Identificador único del activo. |
organizationId | uuid | Identificador único de la organización. |
ledgerId | uuid | Identificador único del ledger. |
name | text | Nombre del activo. |
type | enum | Tipo de Activo (currency - moneda, crypto - cripto, commodity - materia prima, others - otros). |
code | text | Código utilizado para referirse al activo. |
status | text | Información sobre el estado. |
metadata | jsonb | Pares clave-valor para añadir como metadatos. |
createdAt | timestamptz | Marca de tiempo de la creación (UTC). |
updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
deletedAt | timestamptz | Marca de tiempo de la eliminación lógica, si aplica (UTC). |
Tabla: account-type
Columna | Tipo | Descripción |
---|---|---|
id | uuid | Identificador único del tipo de cuenta. |
ledgerId | uuid | Identificador único del ledger. |
name | text | Nombre del tipo de cuenta. |
description | text | Descripción del tipo de cuenta. |
keyValue | text | Valor personalizado definido por el usuario para identificar el tipo de cuenta. |
createdAt | timestamptz | Marca de tiempo de la creación (UTC). |
updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
deletedAt | timestamptz | Marca de tiempo de la eliminación lógica, si aplica (UTC). |
Tabla: account
Columna | Tipo | Descripción |
---|---|---|
id | uuid | Identificador único de la cuenta. |
organizationId | uuid | Identificador único de la organización. |
ledgerId | uuid | Identificador único del ledger. |
assetCode | text | Código utilizado para referirse al activo. |
name | text | Nombre de la cuenta. |
alias | text | Identificador único y fácil de usar para la cuenta. |
type | text | Tipo de cuenta. |
parentAccountId | uuid | Identificador único de la cuenta padre. |
entityId | text | Identificador único de la entidad responsable de la cuenta. |
portfolioId | uuid | Identificador único de la cartera. |
segmentId | uuid | Identificador único del segmento. |
status | jsonb | Información sobre el estado. |
metadata | jsonb | Pares clave-valor para añadir como metadatos. |
createdAt | timestamptz | Marca de tiempo de la creación (UTC). |
updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
deletedAt | timestamptz | Marca de tiempo de la eliminación lógica, si aplica (UTC). |
Tabla: portfolio
Columna | Tipo | Descripción |
---|---|---|
id | uuid | Identificador único de la cartera. |
organizationId | uuid | Identificador único de la organización. |
ledgerId | uuid | Identificador único del ledger. |
entityId | text | Identificador único del usuario responsable de la cartera. |
name | text | Nombre de la cartera. |
status | jsonb | Información sobre el estado. |
metadata | jsonb | Pares clave-valor para añadir como metadatos. |
createdAt | timestamptz | Marca de tiempo de la creación (UTC). |
updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
deletedAt | timestamptz | Marca de tiempo de la eliminación lógica, si aplica (UTC). |
Tabla: segment
Columna | Tipo | Descripción |
---|---|---|
id | uuid | Identificador único del segmento. |
organizationId | uuid | Identificador único de la organización. |
ledgerId | uuid | Identificador único del ledger. |
name | text | Nombre del segmento. |
status | jsonb | Información sobre el estado. |
metadata | jsonb | Pares clave-valor para añadir como metadatos. |
created_at | timestamptz | Marca de tiempo de la creación (UTC). |
updated_at | timestamptz | Marca de tiempo de la última actualización (UTC). |
deleted_at | timestamptz | Marca de tiempo de la eliminación lógica, si aplica (UTC). |
Tabla: balance
Columna | Tipo | Descripción |
---|---|---|
id | text | Identificador único del saldo. |
organizationId | uuid | Identificador único de la organización. |
ledgerId | uuid | Identificador único del ledger. |
accountId | uuid | Identificador único de la cuenta. |
alias | text | Alias de la cuenta utilizado en la operación. |
assetCode | text | Código utilizado para referirse al activo. |
available | text | Saldo disponible anterior. |
onHold | text | Monto en espera reservado. |
version | integer | Versión del saldo, que se actualiza con cada transacción. |
accountType | text | Tipo de cuenta. |
allowSending | boolean | Si es verdadero, indica que se permite enviar transacciones. |
allowReceiving | boolean | Si es verdadero, indica que se permite recibir transacciones. |
createdAt | timestamptz | Marca de tiempo de la creación (UTC). |
updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
deletedAt | timestamptz | Marca de tiempo de la eliminación lógica, si aplica (UTC). |
Tabla: operation-route
Columna | Tipo | Descripción |
---|---|---|
id | uuid | Identificador único de la ruta de operación. |
organizationId | uuid | Identificador único de la organización. |
ledgerId | uuid | Identificador único del ledger. |
title | text | Texto breve que resume el propósito de la operación. Se utiliza como nota de entrada para la identificación. |
description | text | Descripción detallada del propósito y uso de la Ruta de Operación. |
type | text | Tipo de operación (débito o crédito). |
account | jsonb | Define la regla para seleccionar la cuenta que participará en la operación (débito o crédito). |
createdAt | timestamptz | Marca de tiempo de la creación (UTC). |
updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
deletedAt | timestamptz | Marca de tiempo de la eliminación lógica, si aplica (UTC). |
Tabla: operation
Columna | Tipo | Descripción |
---|---|---|
id | uuid | Identificador único de la ruta de transacción. |
transactionId | uuid | Identificador único de la transacción. |
organizationId | uuid | Identificador único de la organización. |
ledgerId | uuid | Identificador único del ledger. |
accountId | uuid | Identificador único de la cuenta de la que se desea recuperar los saldos. |
balanceId | uuid | Identificador único del saldo. |
accountAlias | text | Alias de la cuenta utilizado en la operación. |
description | text | Descripción de la transacción. |
type | text | Tipo de la operación (débito o crédito). |
assetCode | text | Nombre del activo utilizado en la operación. |
chartOfAccounts | text | [Obsoleto] Nombre del plan de cuentas al que pertenece la operación. |
route | text | Nombre del grupo del plan de cuentas que categoriza la operación bajo un grupo específico. |
amount | jsonb | Objeto que contiene información sobre el monto utilizado en la operación. |
balance | jsonb | Objeto que contiene información sobre el saldo antes de la operación. |
balanceAfter | jsonb | Objeto que contiene información sobre el saldo después de la operación. |
status | jsonb | Estado de la transacción (pendiente, completada, revertida). |
metadata | jsonb | Pares clave-valor para añadir como metadatos. |
createdAt | timestamptz | Marca de tiempo de la creación (UTC). |
updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
deletedAt | timestamptz | Marca de tiempo de la eliminación lógica, si aplica (UTC). |
Tabla: transaction-route
Columna | Tipo | Descripción |
---|---|---|
id | uuid | Identificador único de la ruta de transacción. |
organizationId | uuid | Identificador único de la organización. |
ledgerId | uuid | Identificador único del ledger. |
title | text | Texto breve que resume el propósito de la transacción. Se utiliza como nota de entrada para la identificación. |
description | text | Descripción de la ruta de transacción. |
operationRoutes | array | Lista de IDs de rutas de operación que definen la lógica de débito y crédito para la transacción. |
metadata | object | Pares clave-valor para añadir como metadatos. |
createdAt | timestamptz | Marca de tiempo de la creación (UTC). |
updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
deletedAt | timestamptz | Marca de tiempo de la eliminación lógica, si aplica (UTC). |
Tabla: transaction
Columna | Tipo | Descripción |
---|---|---|
id | uuid | Identificador único de la transacción. |
organizationId | uuid | Identificador único de la organización. |
ledgerId | uuid | Identificador único del ledger. |
description | text | Descripción de la transacción. |
route | text | Nombre del grupo del plan de cuentas que categoriza la operación bajo un grupo específico. |
status | jsonb | Información sobre el estado. |
amount | text | Monto enviado. |
assetCode | text | Código utilizado para referirse al Activo. |
chartOfAccountsGroupName | text | [Obsoleto] Nombre del grupo utilizado para categorizar las operaciones de una transacción bajo el mismo grupo. |
source | array | Lista de cuentas utilizadas como origen. |
destination | array | Lista de cuentas utilizadas como destino. |
operations | array | Lista de operaciones en la transacción. |
metadata | jsonb | Pares clave-valor para añadir como metadatos. |
createdAt | timestamptz | Marca de tiempo de la creación (UTC). |
updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
deletedAt | timestamptz | Marca de tiempo de la eliminación lógica, si aplica (UTC). |
Modelo de datos
En la Figura 1, puedes encontrar una representación visual de las tablas centrales en Midaz y sus relaciones. El diagrama ayuda a los desarrolladores y administradores de bases de datos a comprender cómo las diferentes entidades están interconectadas dentro del sistema, sirviendo como guía para la gestión e integración eficiente de datos.

Figura 1. Tablas de Midaz y sus relaciones.