Esta página es para desarrolladores y administradores de bases de datos. Contiene esquemas de bases de datos y estructuras de tablas detalladas. Para obtener una descripción general a nivel de negocio de las entidades de Midaz y sus relaciones, consulta Acerca de Midaz.
Tablas
Tabla: organization
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único de la Organización. |
| legalName | text | El nombre legal de la Organización. |
| parentOrganizationId | uuid | El identificador único de la Organización principal. |
| doingBusinessAs | text | El nombre comercial de la Organización. |
| legalDocument | text | El documento 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 agregar como metadatos. |
| createdAt | timestamptz | Marca de tiempo de creación (UTC). |
| updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
| deletedAt | timestamptz | La marca de tiempo de eliminación temporal, si corresponde (UTC). |
Tabla: ledger
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único del Ledger. |
| organizationId | uuid | El identificador único de la Organización. |
| name | text | El nombre del Ledger. |
| status | jsonb | Información sobre el estado. |
| metadata | jsonb | Pares clave-valor para agregar como metadatos. |
| createdAt | timestamptz | Marca de tiempo de creación (UTC). |
| updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
| deletedAt | timestamptz | Marca de tiempo de eliminación temporal, si corresponde (UTC). |
Tabla: asset
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único del Activo. |
| organizationId | uuid | El identificador único de la Organización. |
| ledgerId | uuid | El identificador único del Ledger. |
| name | text | El nombre del Activo. |
| type | enum | El tipo de Activo (currency, fiat, crypto, commodity, others). |
| code | text | El código usado para referirse al Activo. |
| status | text | Información sobre el estado. |
| metadata | jsonb | Pares clave-valor para agregar como metadatos. |
| createdAt | timestamptz | Marca de tiempo de creación (UTC). |
| updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
| deletedAt | timestamptz | Marca de tiempo de eliminación temporal, si corresponde (UTC). |
Tabla: account-type
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único del Tipo de cuenta. |
| ledgerId | uuid | El 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 creación (UTC). |
| updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
| deletedAt | timestamptz | Marca de tiempo de eliminación temporal, si corresponde (UTC). |
Tabla: account
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único de la Cuenta. |
| organizationId | uuid | El identificador único de la Organización. |
| ledgerId | uuid | El identificador único del Ledger. |
| assetCode | text | El código usado para referirse al Activo. |
| name | text | El nombre de la Cuenta. |
| alias | text | Un identificador único y fácil de usar para la cuenta. |
| type | text | El tipo de cuenta. |
| parentAccountId | uuid | El identificador único de la Cuenta principal. |
| entityId | text | El identificador único de la Entidad responsable de la Cuenta. |
| portfolioId | uuid | El identificador único del Portafolio. |
| segmentId | uuid | El identificador único del Segmento. |
| status | jsonb | Información sobre el estado. |
| metadata | jsonb | Pares clave-valor para agregar como metadatos. |
| createdAt | timestamptz | Marca de tiempo de creación (UTC). |
| updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
| deletedAt | timestamptz | Marca de tiempo de eliminación temporal, si corresponde (UTC). |
Tabla: portfolio
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único del Portafolio. |
| organizationId | uuid | El identificador único de la Organización. |
| ledgerId | uuid | El identificador único del Ledger. |
| entityId | text | El identificador único del usuario responsable del Portafolio. |
| name | text | El nombre del Portafolio. |
| status | jsonb | Información sobre el estado. |
| metadata | jsonb | Pares clave-valor para agregar como metadatos. |
| createdAt | timestamptz | Marca de tiempo de creación (UTC). |
| updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
| deletedAt | timestamptz | Marca de tiempo de eliminación temporal, si corresponde (UTC). |
Tabla: segment
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único del Segmento. |
| organizationId | uuid | El identificador único de la Organización. |
| ledgerId | uuid | El identificador único del Ledger. |
| name | text | El nombre del Segmento. |
| status | jsonb | Información sobre el estado. |
| metadata | jsonb | Pares clave-valor para agregar como metadatos. |
| created_at | timestamptz | Marca de tiempo de creación (UTC). |
| updated_at | timestamptz | Marca de tiempo de la última actualización (UTC). |
| deleted_at | timestamptz | Marca de tiempo de eliminación temporal, si corresponde (UTC). |
Tabla: balance
| Columna | Tipo | Descripción |
|---|---|---|
| id | text | El identificador único del Saldo. |
| organizationId | uuid | El identificador único de la Organización. |
| ledgerId | uuid | El identificador único del Ledger. |
| accountId | uuid | El identificador único de la Cuenta. |
| alias | text | El alias de la cuenta usado en la operación. |
| assetCode | text | El código usado para referirse al Activo. |
| available | text | Saldo disponible anterior. |
| onHold | text | Monto retenido/reservado. |
| version | integer | Versión del saldo, que se actualiza con cada transacción. |
| accountType | text | El tipo de cuenta. |
| allowSending | boolean | Si es true, indica que se permite enviar transacciones. |
| allowReceiving | boolean | Si es true, indica que se permite recibir transacciones. |
| createdAt | timestamptz | Marca de tiempo de creación (UTC). |
| updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
| deletedAt | timestamptz | Marca de tiempo de eliminación temporal, si corresponde (UTC). |
Tabla: operation-route
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único de la Ruta de operación. |
| organizationId | uuid | El identificador único de la Organización. |
| ledgerId | uuid | El identificador único del Ledger. |
| title | text | Texto breve que resume el propósito de la operación. Se usa como nota del asiento para identificación. |
| description | text | Descripción detallada del propósito y uso de la Ruta de operación. |
| operationType | text | operationType: la aplicabilidad del asiento: 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 creación (UTC). |
| updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
| deletedAt | timestamptz | Marca de tiempo de eliminación temporal, si corresponde (UTC). |
Tabla: operation
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único de la Operación. |
| transactionId | uuid | El identificador único de la Transacción. |
| organizationId | uuid | El identificador único de la Organización. |
| ledgerId | uuid | El identificador único del Ledger. |
| accountId | uuid | El identificador único de la cuenta de la cual quieres obtener los saldos. |
| balanceId | uuid | El identificador único del Saldo. |
| accountAlias | text | El alias de la cuenta usado en la operación. |
| description | text | Descripción de la transacción. |
| type | text | El tipo de la operación (débito o crédito). |
| assetCode | text | El nombre del activo usado en la operación. |
| chartOfAccounts | text | El nombre del plan de cuentas al que pertenece la operación. |
| route | text | [Obsoleto] Identificador de ruta heredado, que se mantiene por compatibilidad con versiones anteriores. Usa routeId en su lugar. |
| routeId | uuid | Identificador de la ruta usada por la operación (el campo de ruta actual). |
| amount | jsonb | Un objeto que contiene información sobre el monto usado en la operación. |
| balance | jsonb | Un objeto que contiene información sobre el saldo antes de la operación. |
| balanceAfter | jsonb | Un objeto que contiene información sobre el saldo después de la operación. |
| status | jsonb | El estado de la transacción (pending, completed, reversed). |
| metadata | jsonb | Pares clave-valor para agregar como metadatos. |
| createdAt | timestamptz | Marca de tiempo de creación (UTC). |
| updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
| deletedAt | timestamptz | Marca de tiempo de eliminación temporal, si corresponde (UTC). |
Tabla: transaction-route
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único de la Ruta de transacción. |
| organizationId | uuid | El identificador único de la Organización. |
| ledgerId | uuid | El identificador único del Ledger. |
| title | text | Texto breve que resume el propósito de la transacción. Se usa como nota del asiento para identificación. |
| description | text | Una descripción para la Ruta de transacción. |
| operationRoutes | array | Una lista de ID de Ruta de operación que definen la lógica de débito y crédito de la transacción. |
| metadata | object | Pares clave-valor para agregar como metadatos. |
| createdAt | timestamptz | Marca de tiempo de creación (UTC). |
| updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
| deletedAt | timestamptz | Marca de tiempo de eliminación temporal, si corresponde (UTC). |
Tabla: transaction
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único de la transacción. |
| organizationId | uuid | El identificador único de la Organización. |
| ledgerId | uuid | El identificador único del Ledger. |
| description | text | Descripción de la transacción. |
| route | text | [Obsoleto] Identificador de ruta heredado, que se mantiene por compatibilidad con versiones anteriores. Usa routeId en su lugar. |
| routeId | uuid | Identificador de la ruta usada por la transacción (el campo de ruta actual). |
| status | jsonb | Información sobre el estado. |
| amount | text | El monto enviado. |
| assetCode | text | El código usado para referirse al Activo. |
| chartOfAccountsGroupName | text | El nombre del grupo del plan de cuentas usado para categorizar las operaciones de una transacción. |
| source | array | La lista de cuentas usadas como origen. |
| destination | array | La lista de cuentas usadas como destino. |
| operations | array | La lista de operaciones en la transacción. |
| metadata | jsonb | Pares clave-valor para agregar como metadatos. |
| createdAt | timestamptz | Marca de tiempo de creación (UTC). |
| updatedAt | timestamptz | Marca de tiempo de la última actualización (UTC). |
| deletedAt | timestamptz | Marca de tiempo de eliminación temporal, si corresponde (UTC). |
Modelo de datos
La Figura 1 muestra las tablas principales de Midaz y sus relaciones. Úsala para guiar el manejo de datos y la integración.
Figura 1. Tablas de Midaz y sus relaciones.

