Esta página es para desarrolladores y administradores de bases de datos. Contiene esquemas detallados de bases de datos y estructuras de tablas. Para una visión general a nivel de negocio de las entidades de Midaz y sus relaciones, consulta Sobre Midaz.
Tablas
Cada tabla permite consultas eficientes y mantiene la integridad de los datos.
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. |
| 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, fiat - fiduciaria, 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 principal. |
| 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. |
| operationType | text | operationType — la aplicabilidad de la entrada: source, destination o bidirectional. |
| 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 operació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 | Nombre del plan de cuentas al que pertenece la operación. |
| route | text | [Obsoleto] Identificador de ruta heredado, mantenido por compatibilidad con versiones anteriores. Usa routeId en su lugar. |
| routeId | uuid | Identificador de la ruta utilizada por la operación (el campo de ruta actual). |
| 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 | [Obsoleto] Identificador de ruta heredado, mantenido por compatibilidad con versiones anteriores. Usa routeId en su lugar. |
| routeId | uuid | Identificador de la ruta utilizada por la transacción (el campo de ruta actual). |
| status | jsonb | Información sobre el estado. |
| amount | text | Monto enviado. |
| assetCode | text | Código utilizado para referirse al Activo. |
| chartOfAccountsGroupName | text | Nombre del grupo del plan de cuentas usado para categorizar las operaciones de una transacción. |
| 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
La Figura 1 muestra las tablas principales de Midaz y sus relaciones. El diagrama ayuda a desarrolladores y administradores de bases de datos a ver cómo se conectan las entidades dentro del sistema. Úsalo como guía para el manejo y la integración de datos.
Figura 1. Tablas de Midaz y sus relaciones.

