# Diagramas de relaciones físicas

Generados desde las claves foráneas reales. Cada flecha va de la tabla hija a su tabla padre y lleva el nombre de la columna de enlace. No incluye referencias JSON ni relaciones lógicas sin FK. Las conexiones repetidas con distintas columnas son relaciones diferentes.

## CRM

```mermaid
flowchart LR
    activities -->|"advisor_id"| advisors
    activities -->|"client_id"| clients
    activities -->|"empresa_id"| empresas
    activities -->|"user_id"| users
    advisors -->|"empresa_id"| empresas
    advisors -->|"user_id"| users
    audit_logs -->|"empresa_id"| empresas
    audit_logs -->|"user_id"| users
    client_addresses -->|"client_id"| clients
    client_assignments -->|"advisor_id"| advisors
    client_assignments -->|"assigned_by"| users
    client_assignments -->|"client_id"| clients
    client_contacts -->|"client_id"| clients
    client_documents -->|"client_id"| clients
    client_documents -->|"uploaded_by"| users
    clients -->|"advisor_id"| advisors
    clients -->|"created_by"| users
    clients -->|"empresa_id"| empresas
    clients -->|"persona_id"| personas
    clients -->|"pipeline_stage_id"| pipeline_stages
    clients -->|"updated_by"| users
    crm_notifications -->|"empresa_id"| empresas
    crm_notifications -->|"user_id"| users
    email_templates -->|"empresa_id"| empresas
    emails -->|"client_id"| clients
    emails -->|"email_template_id"| email_templates
    emails -->|"empresa_id"| empresas
    emails -->|"sent_by"| users
    pipeline_stages -->|"empresa_id"| empresas
    tasks -->|"advisor_id"| advisors
    tasks -->|"assigned_to"| users
    tasks -->|"client_id"| clients
    tasks -->|"created_by"| users
    tasks -->|"empresa_id"| empresas
```

## Catálogos

```mermaid
flowchart LR
```

## Contabilidad

```mermaid
flowchart LR
    accounting_accounts -->|"empresa_id"| empresas
    accounting_accounts -->|"parent_id"| accounting_accounts
    accounting_advance_applications -->|"advance_id"| accounting_advances
    accounting_advance_applications -->|"empresa_id"| empresas
    accounting_advance_applications -->|"entry_id"| accounting_entries
    accounting_advance_applications -->|"open_item_id"| accounting_open_items
    accounting_advances -->|"account_id"| accounting_accounts
    accounting_advances -->|"created_by"| users
    accounting_advances -->|"empresa_id"| empresas
    accounting_advances -->|"entry_id"| accounting_entries
    accounting_advances -->|"financial_account_id"| accounting_financial_accounts
    accounting_ats_exports -->|"created_by"| users
    accounting_ats_exports -->|"empresa_id"| empresas
    accounting_ats_exports -->|"factura_id"| facturas
    accounting_ats_imports -->|"created_by"| users
    accounting_ats_imports -->|"empresa_id"| empresas
    accounting_ats_imports -->|"entry_id"| accounting_entries
    accounting_ats_reimbursements -->|"created_by"| users
    accounting_ats_reimbursements -->|"empresa_id"| empresas
    accounting_ats_reimbursements -->|"received_document_id"| accounting_received_documents
    accounting_ats_reports -->|"created_by"| users
    accounting_ats_reports -->|"empresa_id"| empresas
    accounting_ats_reports -->|"reconciled_by"| users
    accounting_ats_reports -->|"reviewed_by"| users
    accounting_audit_logs -->|"empresa_id"| empresas
    accounting_audit_logs -->|"entry_id"| accounting_entries
    accounting_audit_logs -->|"user_id"| users
    accounting_bank_reconciliations -->|"closed_by"| users
    accounting_bank_reconciliations -->|"created_by"| users
    accounting_bank_reconciliations -->|"empresa_id"| empresas
    accounting_bank_reconciliations -->|"financial_account_id"| accounting_financial_accounts
    accounting_bank_statement_lines -->|"empresa_id"| empresas
    accounting_bank_statement_lines -->|"matched_by"| users
    accounting_bank_statement_lines -->|"matched_entry_line_id"| accounting_entry_lines
    accounting_bank_statement_lines -->|"reconciliation_id"| accounting_bank_reconciliations
    accounting_bank_transfers -->|"created_by"| users
    accounting_bank_transfers -->|"empresa_id"| empresas
    accounting_bank_transfers -->|"entry_id"| accounting_entries
    accounting_bank_transfers -->|"period_id"| accounting_periods
    accounting_bank_transfers -->|"posted_by"| users
    accounting_bank_transfers -->|"reversed_by"| users
    accounting_bank_transfers -->|"source_financial_account_id"| accounting_financial_accounts
    accounting_bank_transfers -->|"target_financial_account_id"| accounting_financial_accounts
    accounting_budgets -->|"account_id"| accounting_accounts
    accounting_budgets -->|"empresa_id"| empresas
    accounting_cash_sessions -->|"empresa_id"| empresas
    accounting_cash_sessions -->|"financial_account_id"| accounting_financial_accounts
    accounting_cash_sessions -->|"opened_by"| users
    accounting_cheques -->|"created_by"| users
    accounting_cheques -->|"empresa_id"| empresas
    accounting_cheques -->|"financial_account_id"| accounting_financial_accounts
    accounting_cheques -->|"open_item_id"| accounting_open_items
    accounting_cheques -->|"settlement_id"| accounting_open_item_settlements
    accounting_concepts -->|"account_id"| accounting_accounts
    accounting_concepts -->|"empresa_id"| empresas
    accounting_concepts -->|"tax_account_id"| accounting_accounts
    accounting_cost_centers -->|"empresa_id"| empresas
    accounting_entries -->|"created_by"| users
    accounting_entries -->|"empresa_id"| empresas
    accounting_entries -->|"period_id"| accounting_periods
    accounting_entries -->|"posted_by"| users
    accounting_entries -->|"reversal_of_id"| accounting_entries
    accounting_entries -->|"reversed_by"| users
    accounting_entry_attachments -->|"empresa_id"| empresas
    accounting_entry_attachments -->|"entry_id"| accounting_entries
    accounting_entry_attachments -->|"user_id"| users
    accounting_entry_lines -->|"account_id"| accounting_accounts
    accounting_entry_lines -->|"entry_id"| accounting_entries
    accounting_financial_accounts -->|"account_id"| accounting_accounts
    accounting_financial_accounts -->|"empresa_id"| empresas
    accounting_integration_logs -->|"empresa_id"| empresas
    accounting_integration_logs -->|"entry_id"| accounting_entries
    accounting_integration_settings -->|"accounts_payable_id"| accounting_accounts
    accounting_integration_settings -->|"accounts_receivable_id"| accounting_accounts
    accounting_integration_settings -->|"empresa_id"| empresas
    accounting_integration_settings -->|"input_vat_id"| accounting_accounts
    accounting_integration_settings -->|"output_vat_id"| accounting_accounts
    accounting_integration_settings -->|"purchases_expense_id"| accounting_accounts
    accounting_integration_settings -->|"sales_income_id"| accounting_accounts
    accounting_integration_settings -->|"sales_returns_id"| accounting_accounts
    accounting_integration_settings -->|"income_tax_withholding_payable_id"| accounting_accounts
    accounting_integration_settings -->|"income_tax_withholding_receivable_id"| accounting_accounts
    accounting_integration_settings -->|"purchase_returns_id"| accounting_accounts
    accounting_integration_settings -->|"vat_withholding_payable_id"| accounting_accounts
    accounting_integration_settings -->|"vat_withholding_receivable_id"| accounting_accounts
    accounting_inventory_movements -->|"empresa_id"| empresas
    accounting_inventory_movements -->|"entry_id"| accounting_entries
    accounting_inventory_movements -->|"inventario_id"| inventarios
    accounting_inventory_positions -->|"empresa_id"| empresas
    accounting_inventory_positions -->|"inventario_id"| inventarios
    accounting_open_item_applications -->|"empresa_id"| empresas
    accounting_open_item_applications -->|"open_item_id"| accounting_open_items
    accounting_open_item_settlements -->|"created_by"| users
    accounting_open_item_settlements -->|"empresa_id"| empresas
    accounting_open_item_settlements -->|"entry_id"| accounting_entries
    accounting_open_item_settlements -->|"financial_account_id"| accounting_financial_accounts
    accounting_open_item_settlements -->|"open_item_id"| accounting_open_items
    accounting_open_item_settlements -->|"period_id"| accounting_periods
    accounting_open_item_settlements -->|"reversed_by"| users
    accounting_open_items -->|"empresa_id"| empresas
    accounting_open_items -->|"entry_id"| accounting_entries
    accounting_open_items -->|"third_party_id"| personas
    accounting_periods -->|"closed_by"| users
    accounting_periods -->|"empresa_id"| empresas
    accounting_received_document_lines -->|"received_document_id"| accounting_received_documents
    accounting_received_documents -->|"created_by"| users
    accounting_received_documents -->|"empresa_id"| empresas
    accounting_received_documents -->|"provider_id"| personas
    accounting_received_documents -->|"modified_document_id"| accounting_received_documents
    accounting_received_withholding_details -->|"support_id"| accounting_received_withholding_supports
    accounting_received_withholding_supports -->|"factura_id"| facturas
    accounting_received_withholding_supports -->|"received_withholding_id"| accounting_received_withholdings
    accounting_received_withholdings -->|"created_by"| users
    accounting_received_withholdings -->|"customer_id"| personas
    accounting_received_withholdings -->|"empresa_id"| empresas
    accounting_settings -->|"cogs_account_id"| accounting_accounts
    accounting_settings -->|"customer_advance_account_id"| accounting_accounts
    accounting_settings -->|"empresa_id"| empresas
    accounting_settings -->|"inventory_account_id"| accounting_accounts
    accounting_settings -->|"result_account_id"| accounting_accounts
    accounting_settings -->|"supplier_advance_account_id"| accounting_accounts
    accounting_voucher_lines -->|"account_id"| accounting_accounts
    accounting_voucher_lines -->|"concept_id"| accounting_concepts
    accounting_voucher_lines -->|"iva_tarifa_id"| iva_tarifas
    accounting_voucher_lines -->|"tax_account_id"| accounting_accounts
    accounting_voucher_lines -->|"voucher_id"| accounting_vouchers
    accounting_vouchers -->|"created_by"| users
    accounting_vouchers -->|"empresa_id"| empresas
    accounting_vouchers -->|"entry_id"| accounting_entries
    accounting_vouchers -->|"financial_account_id"| accounting_financial_accounts
    accounting_vouchers -->|"period_id"| accounting_periods
    accounting_vouchers -->|"posted_by"| users
    accounting_vouchers -->|"reversed_by"| users
    accounting_year_closures -->|"closing_entry_id"| accounting_entries
    accounting_year_closures -->|"created_by"| users
    accounting_year_closures -->|"empresa_id"| empresas
    accounting_year_closures -->|"opening_entry_id"| accounting_entries
```

## Cuentas, empresas, usuarios y configuración

```mermaid
flowchart LR
    account_appearances -->|"cuenta_cliente_id"| cuentas_clientes
    account_appearances -->|"updated_by"| users
    account_data_policy_defaults -->|"cuenta_cliente_id"| cuentas_clientes
    account_data_policy_defaults -->|"responsible_company_id"| empresas
    account_holidays -->|"cuenta_cliente_id"| cuentas_clientes
    cuenta_cliente_modulo -->|"cuenta_cliente_id"| cuentas_clientes
    cuenta_cliente_modulo -->|"modulo_comercial_id"| modulos_comerciales
    empresa_user -->|"empresa_id"| empresas
    empresa_user -->|"user_id"| users
    empresas -->|"created_by"| users
    empresas -->|"cuenta_cliente_id"| cuentas_clientes
    model_has_permissions -->|"permission_id"| permissions
    model_has_roles -->|"role_id"| roles
    modulo_plan -->|"modulo_comercial_id"| modulos_comerciales
    modulo_plan -->|"plan_id"| planes
    personas -->|"actividad_economica_id"| actividades_economicas
    personas -->|"ciudad_id"| cantones
    personas -->|"created_by"| users
    personas -->|"empresa_id"| empresas
    personas -->|"nacionalidad_id"| paises
    personas -->|"pais_emision_id"| paises
    personas -->|"pais_id"| paises
    personas -->|"provincia_id"| provincias
    personas -->|"tipo_contribuyente_id"| tipos_contribuyentes
    personas -->|"updated_by"| users
    role_has_permissions -->|"permission_id"| permissions
    role_has_permissions -->|"role_id"| roles
    solicitudes_comerciales -->|"plan_id"| planes
    soporte_acceso_logs -->|"soporte_autorizacion_id"| soporte_autorizaciones
    soporte_acceso_logs -->|"super_admin_id"| users
    soporte_autorizaciones -->|"autorizado_por"| users
    soporte_autorizaciones -->|"cuenta_cliente_id"| cuentas_clientes
    soporte_autorizaciones -->|"revocado_por"| users
    soporte_autorizaciones -->|"super_admin_id"| users
    suscripciones -->|"cuenta_cliente_id"| cuentas_clientes
    suscripciones -->|"plan_id"| planes
    system_mail_configurations -->|"created_by"| users
    system_mail_configurations -->|"cuenta_cliente_id"| cuentas_clientes
    system_mail_configurations -->|"empresa_id"| empresas
    system_mail_configurations -->|"updated_by"| users
    user_hierarchy_audits -->|"actor_id"| users
    user_hierarchy_audits -->|"user_id"| users
    users -->|"created_by"| users
    users -->|"cuenta_cliente_id"| cuentas_clientes
    users -->|"empresa_id"| empresas
    users -->|"parent_user_id"| users
    users -->|"persona_id"| personas
```

## Facturación e inventario

```mermaid
flowchart LR
    comprobante_detalles -->|"comprobante_id"| comprobantes_electronicos
    comprobante_detalles -->|"factura_detalle_id"| factura_detalles
    comprobante_detalles -->|"inventario_id"| inventarios
    comprobantes_electronicos -->|"accounting_received_document_id"| accounting_received_documents
    comprobantes_electronicos -->|"empresa_id"| empresas
    comprobantes_electronicos -->|"factura_id"| facturas
    comprobantes_electronicos -->|"persona_id"| personas
    comprobantes_electronicos -->|"punto_emision_id"| facturacion_puntos_emision
    comprobantes_electronicos -->|"user_id"| users
    factura_campos_adicionales -->|"factura_id"| facturas
    factura_detalles -->|"factura_id"| facturas
    factura_detalles -->|"inventario_id"| inventarios
    factura_detalles -->|"servicio_id"| servicios
    factura_pagos -->|"factura_id"| facturas
    facturacion_configuraciones -->|"empresa_id"| empresas
    facturacion_correo_envios -->|"empresa_id"| empresas
    facturacion_inventario_movimientos -->|"comprobante_detalle_id"| comprobante_detalles
    facturacion_inventario_movimientos -->|"comprobante_id"| comprobantes_electronicos
    facturacion_inventario_movimientos -->|"empresa_id"| empresas
    facturacion_inventario_movimientos -->|"factura_detalle_id"| factura_detalles
    facturacion_inventario_movimientos -->|"factura_id"| facturas
    facturacion_inventario_movimientos -->|"inventario_id"| inventarios
    facturacion_puntos_emision -->|"empresa_id"| empresas
    facturas -->|"cliente_id"| personas
    facturas -->|"empresa_id"| empresas
    facturas -->|"punto_emision_id"| facturacion_puntos_emision
    facturas -->|"user_id"| users
    inventario_carga_detalles -->|"inventario_carga_id"| inventario_cargas
    inventario_cargas -->|"empresa_id"| empresas
    inventario_cargas -->|"user_id"| users
    inventarios -->|"empresa_id"| empresas
    inventarios -->|"inventario_carga_id"| inventario_cargas
    iva_tarifas -->|"empresa_id"| empresas
    servicios -->|"empresa_id"| empresas
    xml_sri_importaciones -->|"empresa_id"| empresas
    xml_sri_importaciones -->|"user_id"| users
```

## Formularios y políticas de datos

```mermaid
flowchart LR
    company_data_acceptances -->|"empresa_id"| empresas
    company_data_acceptances -->|"persona_id"| personas
    company_data_acceptances -->|"user_id"| users
    company_data_policies -->|"empresa_id"| empresas
    company_data_policies -->|"responsible_company_id"| empresas
    company_portal_consents -->|"empresa_id"| empresas
    legal_client_forms -->|"persona_id"| personas
    natural_client_forms -->|"persona_id"| personas
    natural_client_forms -->|"updated_by"| users
    proveedor_pn_formularios -->|"persona_id"| personas
```

## Gestión de tareas

```mermaid
flowchart LR
    task_configurations -->|"assigned_by"| users
    task_configurations -->|"configured_by"| users
    task_configurations -->|"empresa_id"| empresas
    task_configurations -->|"request_id"| template_assignment_requests
    task_configurations -->|"responsible_id"| users
    task_configurations -->|"template_id"| work_task_templates
    task_configurations -->|"work_task_id"| work_tasks
    task_labels -->|"cuenta_cliente_id"| cuentas_clientes
    task_mail_message_links -->|"configuration_id"| system_mail_configurations
    task_mail_message_links -->|"thread_id"| task_mail_threads
    task_mail_receipts -->|"configuration_id"| system_mail_configurations
    task_mail_threads -->|"configuration_id"| system_mail_configurations
    task_mail_threads -->|"notice_id"| work_task_notices
    task_reopen_requests -->|"requested_by"| users
    task_reopen_requests -->|"reviewed_by"| users
    task_reopen_requests -->|"work_task_id"| work_tasks
    task_time_sessions -->|"user_id"| users
    task_time_sessions -->|"work_task_id"| work_tasks
    template_assignment_requests -->|"empresa_id"| empresas
    template_assignment_requests -->|"requested_by"| users
    template_assignment_requests -->|"reviewed_by"| users
    template_assignment_requests -->|"template_id"| work_task_templates
    work_task_activities -->|"user_id"| users
    work_task_activities -->|"work_task_id"| work_tasks
    work_task_assignees -->|"user_id"| users
    work_task_assignees -->|"work_task_id"| work_tasks
    work_task_batches -->|"template_id"| work_task_templates
    work_task_batches -->|"user_id"| users
    work_task_capacities -->|"user_id"| users
    work_task_notices -->|"user_id"| users
    work_task_notices -->|"work_task_id"| work_tasks
    work_task_settings -->|"empresa_id"| empresas
    work_task_supervisors -->|"empresa_id"| empresas
    work_task_supervisors -->|"user_id"| users
    work_task_templates -->|"created_by"| users
    work_task_templates -->|"cuenta_cliente_id"| cuentas_clientes
    work_task_templates -->|"empresa_id"| empresas
    work_tasks -->|"completed_by"| users
    work_tasks -->|"correction_submitted_by"| users
    work_tasks -->|"created_by"| users
    work_tasks -->|"empresa_id"| empresas
    work_tasks -->|"previous_task_id"| work_tasks
    work_tasks -->|"reopened_by"| users
    work_tasks -->|"responsible_id"| users
    work_tasks -->|"template_id"| work_task_templates
```

## Infraestructura

```mermaid
flowchart LR
    exports -->|"user_id"| users
```

## Maestro de clientes y vencimientos

```mermaid
flowchart LR
    company_master_activities -->|"empresa_id"| empresas
    company_master_activities -->|"user_id"| users
    company_master_invitations -->|"created_by"| users
    company_master_invitations -->|"empresa_id"| empresas
    company_master_profiles -->|"empresa_id"| empresas
    company_master_schemas -->|"cuenta_cliente_id"| cuentas_clientes
    company_permit_notices -->|"empresa_id"| empresas
    company_permit_notices -->|"user_id"| users
    form_completion_notices -->|"empresa_id"| empresas
    form_completion_notices -->|"user_id"| users
```

## Recursos humanos

```mermaid
flowchart LR
    hr_accounting_entries -->|"created_by"| users
    hr_accounting_entries -->|"period_id"| hr_periods
    hr_adjustments -->|"created_by"| users
    hr_adjustments -->|"payslip_id"| hr_payslips
    hr_annual_records -->|"created_by"| users
    hr_annual_records -->|"empresa_id"| empresas
    hr_attendance -->|"created_by"| users
    hr_attendance -->|"employee_id"| hr_employees
    hr_audits -->|"empresa_id"| empresas
    hr_audits -->|"user_id"| users
    hr_benefit_payments -->|"created_by"| users
    hr_benefit_payments -->|"employee_id"| hr_employees
    hr_contracts -->|"created_by"| users
    hr_contracts -->|"employee_id"| hr_employees
    hr_documents -->|"created_by"| users
    hr_documents -->|"employee_id"| hr_employees
    hr_employees -->|"empresa_id"| empresas
    hr_employees -->|"previous_employment_id"| hr_employees
    hr_leaves -->|"created_by"| users
    hr_leaves -->|"employee_id"| hr_employees
    hr_leaves -->|"reviewed_by"| users
    hr_loans -->|"created_by"| users
    hr_loans -->|"employee_id"| hr_employees
    hr_mail_deliveries -->|"created_by"| users
    hr_mail_deliveries -->|"payslip_id"| hr_payslips
    hr_novelties -->|"created_by"| users
    hr_novelties -->|"employee_id"| hr_employees
    hr_novelties -->|"period_id"| hr_periods
    hr_parameter_versions -->|"created_by"| users
    hr_parameter_versions -->|"empresa_id"| empresas
    hr_payslips -->|"employee_id"| hr_employees
    hr_payslips -->|"period_id"| hr_periods
    hr_periods -->|"approved_by"| users
    hr_periods -->|"empresa_id"| empresas
    hr_tax_projections -->|"created_by"| users
    hr_tax_projections -->|"employee_id"| hr_employees
```
