Esta página es para desarrolladores y administradores de bases de datos. Contiene esquemas de bases de datos y estructuras de tablas detalladas. Para una descripción general de negocio de las entidades de Midaz y sus relaciones, consulta Acerca de Midaz.
- Base de datos de onboarding:
organization,ledger,asset,account_type,account,portfolioysegment. - Base de datos de transacciones:
balance,operation_route,operation,transaction_routeytransaction.
metadata de cada entidad en MongoDB, no en estas tablas. Los nombres de las columnas son nombres de la base de datos y pueden diferir de los nombres de los campos de la API.
Tablas
Tabla: organization
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único de la Organización. |
| parent_organization_id | uuid | El identificador único de la Organización principal. |
| legal_name | text | El nombre legal de la Organización. |
| doing_business_as | text | El nombre comercial de la Organización. |
| legal_document | text | El documento de la Organización. |
| address | jsonb | La dirección de la Organización. |
| status | text | El código del estado. |
| status_description | text | La descripción del estado. |
| 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: ledger
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único del Ledger. |
| organization_id | uuid | El identificador único de la Organización. |
| name | text | El nombre del Ledger. |
| status | text | El código del estado. |
| status_description | text | La descripción del estado. |
| settings | jsonb | La configuración del Ledger. |
| 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: asset
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único del Activo. |
| organization_id | uuid | El identificador único de la Organización. |
| ledger_id | uuid | El identificador único del Ledger. |
| name | text | El nombre del Activo. |
| type | text | El tipo de Activo (currency, fiat, crypto, commodity, others). |
| code | text | El código usado para referirse al Activo. |
| status | text | El código del estado. |
| status_description | text | La descripción del estado. |
| 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: account_type
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único del Tipo de cuenta. |
| organization_id | uuid | El identificador único de la Organización. |
| ledger_id | uuid | El identificador único del Ledger. |
| name | varchar(100) | Nombre del Tipo de cuenta. |
| description | text | Descripción del Tipo de cuenta. |
| key_value | varchar(50) | La clave que identifica el Tipo de cuenta en el Ledger. |
| default_direction | varchar(16) | La dirección del saldo predeterminada para las cuentas de este tipo: credit o debit. |
| 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: account
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único de la Cuenta. |
| organization_id | uuid | El identificador único de la Organización. |
| ledger_id | uuid | El identificador único del Ledger. |
| asset_code | text | El código usado para referirse al Activo. |
| name | text | El nombre de la Cuenta. |
| alias | text | El alias que usan las transacciones para identificar la Cuenta. |
| type | text | El tipo de cuenta. |
| parent_account_id | uuid | El identificador único de la Cuenta principal. |
| entity_id | text | Una referencia a un registro en un sistema externo. |
| holder_id | uuid | El identificador único del Holder propietario de la Cuenta. |
| holder_check_skipped | boolean | true cuando un indicador skip omitió la verificación del Holder en la creación. |
| portfolio_id | uuid | El identificador único del Portafolio. |
| segment_id | uuid | El identificador único del Segmento. |
| status | text | El código del estado. |
| status_description | text | La descripción del estado. |
| blocked | boolean | true cuando la Cuenta está bloqueada. |
| closed_at | timestamptz | Marca de tiempo del cierre, si corresponde (UTC). |
| 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: portfolio
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único del Portafolio. |
| organization_id | uuid | El identificador único de la Organización. |
| ledger_id | uuid | El identificador único del Ledger. |
| entity_id | text | El identificador único del usuario responsable del Portafolio. |
| name | text | El nombre del Portafolio. |
| status | text | El código del estado. |
| status_description | text | La descripción del estado. |
| 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: segment
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único del Segmento. |
| organization_id | uuid | El identificador único de la Organización. |
| ledger_id | uuid | El identificador único del Ledger. |
| name | text | El nombre del Segmento. |
| status | text | El código del estado. |
| status_description | text | La descripción del estado. |
| 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 | uuid | El identificador único del Saldo. |
| organization_id | uuid | El identificador único de la Organización. |
| ledger_id | uuid | El identificador único del Ledger. |
| account_id | uuid | El identificador único de la Cuenta. |
| alias | text | El alias de la Cuenta. |
| key | text | La clave del saldo. El saldo predeterminado usa default. |
| asset_code | text | El código usado para referirse al Activo. |
| available | decimal | El monto disponible. |
| on_hold | decimal | Monto retenido/reservado. |
| version | bigint | Versión del saldo. |
| account_type | text | El tipo de cuenta. |
| allow_sending | boolean | Si es true, indica que se permite enviar transacciones. |
| allow_receiving | boolean | Si es true, indica que se permite recibir transacciones. |
| direction | varchar(16) | La dirección del saldo: credit o debit. |
| overdraft_used | decimal | El monto de sobregiro en uso. |
| settings | jsonb | La configuración del saldo, como el límite de sobregiro. |
| 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: operation_route
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único de la Ruta de operación. |
| organization_id | uuid | El identificador único de la Organización. |
| ledger_id | uuid | El identificador único del Ledger. Vacío para una ruta que pertenece a la Organización. |
| title | varchar(255) | Texto breve que resume el propósito de la operación. Se usa como nota del asiento para identificación. |
| description | varchar(250) | Descripción detallada del propósito y el uso de la Ruta de operación. |
| code | text | El código de la Ruta de operación. |
| operation_type | varchar(20) | La aplicabilidad del asiento: source, destination o bidirectional. |
| account_rule_type | varchar(20) | La regla que selecciona la cuenta: alias o account_type. |
| account_rule_valid_if | text | Los valores que acepta la regla de cuenta. |
| accounting_entries | jsonb | Los asientos de la ruta. |
| 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: operation
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único de la Operación. |
| transaction_id | uuid | El identificador único de la Transacción. |
| organization_id | uuid | El identificador único de la Organización. |
| ledger_id | uuid | El identificador único del Ledger. |
| account_id | uuid | El identificador único de la Cuenta. |
| account_alias | text | El alias de la cuenta usada en la operación. |
| balance_id | uuid | El identificador único del Saldo. |
| balance_key | text | La clave del Saldo. |
| description | text | Descripción de la operación. |
| type | text | El tipo de la operación, como DEBIT, CREDIT, ON_HOLD o RELEASE. |
| direction | varchar(10) | La dirección de la operación: debit o credit. |
| asset_code | text | El código usado para referirse al Activo. |
| amount | decimal | El monto de la operación. |
| available_balance | decimal | El monto disponible antes de la operación. |
| on_hold_balance | decimal | El monto retenido antes de la operación. |
| available_balance_after | decimal | El monto disponible después de la operación. |
| on_hold_balance_after | decimal | El monto retenido después de la operación. |
| balance_version_before | bigint | La versión del saldo antes de la operación. |
| balance_version_after | bigint | La versión del saldo después de la operación. |
| balance_affected | boolean | false cuando la operación no cambia el saldo, como en una transacción de anotación. |
| chart_of_accounts | text | El nombre del plan de cuentas al que pertenece la operación. |
text | [Obsoleto] Identificador de ruta heredado, que se mantiene por compatibilidad con versiones anteriores. Usa route_id en su lugar. | |
| route_id | uuid | Identificador de la ruta usada por la operación (el campo de ruta actual). |
| route_code | text | El código de la rúbrica contable que Midaz resolvió para la operación. |
| route_description | text | La descripción de la rúbrica contable que Midaz resolvió para la operación. |
| snapshot | jsonb | Contexto de sistema de la operación, como el uso del sobregiro antes y después de ella. |
| status | text | El código del estado. |
| status_description | text | La descripción del estado. |
| recorded_at | timestamptz | Marca de tiempo de cuando el ledger registró la operación (UTC). |
| 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: transaction_route
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único de la Ruta de transacción. |
| organization_id | uuid | El identificador único de la Organización. |
| ledger_id | uuid | El identificador único del Ledger. Vacío para una ruta que pertenece a la Organización. |
| title | varchar(255) | Texto breve que resume el propósito de la transacción. Se usa como nota del asiento para identificación. |
| description | varchar(250) | Una descripción para la Ruta de transacción. |
| 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). |
operation_transaction_route vincula cada Ruta de transacción con sus Rutas de operación.
Tabla: transaction
| Columna | Tipo | Descripción |
|---|---|---|
| id | uuid | El identificador único de la transacción. |
| parent_transaction_id | uuid | El identificador único de la transacción principal, como la transacción que una reversión revierte. |
| group_id | uuid | Vincula las transacciones que crea una solicitud entre Ledgers. |
| organization_id | uuid | El identificador único de la Organización. |
| ledger_id | uuid | El identificador único del Ledger. |
| description | text | Descripción de la transacción. |
text | [Obsoleto] Identificador de ruta heredado, que se mantiene por compatibilidad con versiones anteriores. Usa route_id en su lugar. | |
| route_id | uuid | Identificador de la ruta usada por la transacción (el campo de ruta actual). |
| status | text | El código del estado. |
| status_description | text | La descripción del estado. |
| amount | decimal | El monto enviado. |
| asset_code | text | El código usado para referirse al Activo. |
| chart_of_accounts_group_name | text | El nombre del grupo del plan de cuentas usado para categorizar las operaciones de una transacción. |
| body | jsonb | Copia interna de la solicitud de la transacción. |
| fees_skipped | boolean | true cuando un indicador skip omitió el cálculo de comisiones. |
| tracer_skipped | boolean | true cuando un indicador skip omitió Tracer. |
| 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). |
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.

