5.9 KiB
5.9 KiB
GAP ANALYSIS - MGN-002: Empresas y Organizaciones
Fecha: 2025-11-23 Basado en: Odoo base (res.company), Gamilit core, Construcción MAI-002 Estado: Gap analysis completado
Resumen Ejecutivo
| Métrica | Valor |
|---|---|
| Funcionalidades de Odoo | 8 |
| Funcionalidades incluidas en MGN-002 | 5 |
| Gaps identificados | 3 |
| Gaps P0 (críticos) | 0 |
| Gaps P1 (altos) | 1 |
| Gaps P2 (bajos) | 2 |
| % Cobertura | 63% |
1. FUNCIONALIDADES DE ODOO
Del Módulo base (res.company)
- Gestión de empresas: CRUD de empresas con datos completos
- Multi-company access: Usuario puede acceder a múltiples empresas
- Context switching: Cambio de empresa activa sin logout
- Configuración empresa: Logo, datos fiscales, moneda principal
- Holdings: Jerarquías de empresas (parent_id)
- Empresa como partner: Empresa vinculada a res.partner
- Consolidación financiera: Balance consolidado de holdings
- Transferencias inter-compañía: Transacciones entre empresas del grupo
2. FUNCIONALIDADES INCLUIDAS EN MGN-002
- ✅ Gestión de empresas: Incluida en MGN-002 (CRUD completo)
- ✅ Multi-empresa: Incluida en MGN-002 (Usuario accede a múltiples)
- ✅ Context switching: Incluida en MGN-002 (Cambio de empresa activa)
- ✅ Configuración empresa: Incluida en MGN-002 (Logo, datos fiscales, moneda)
- ✅ Holdings: Incluida en MGN-002 (parent_id jerárquico)
3. GAPS IDENTIFICADOS
Gap P0 (Críticos - Debe incluirse en MVP)
NO HAY GAPS P0
Gap P1 (Altos - Deseable para MVP)
GAP-MGN-002-001: Roles Diferentes por Empresa
- Descripción: Usuario puede tener un rol diferente en cada empresa (ej: Admin en Empresa A, Employee en Empresa B)
- Referencia Odoo: res.company.users_rel con roles específicos
- Impacto: ALTO
- Justificación impacto: En grupos empresariales, usuario puede ser gerente en una empresa y supervisor en otra. Sin esto, usuario tiene mismo rol en todas (limitación)
- Recomendación: CONSIDERAR para MVP o Fase 2
- Esfuerzo estimado: 8 SP
- Implementación sugerida:
-- Modificar tabla users_companies CREATE TABLE core.users_companies ( user_id UUID REFERENCES auth.users(id), company_id UUID REFERENCES core.companies(id), role_id UUID REFERENCES auth.roles(id), -- Rol específico en esta empresa is_default BOOLEAN DEFAULT FALSE, PRIMARY KEY (user_id, company_id) ); - Dependencias: MGN-001 (roles), MGN-002 (empresas)
Gap P2 (Medios/Bajos - No crítico)
GAP-MGN-002-002: Consolidación Financiera Multi-Empresa
- Descripción: Balance consolidado de holdings (suma automática de balances de empresas hijas)
- Referencia Odoo: account (consolidación)
- Impacto: MEDIO
- Justificación impacto: Útil para grupos empresariales, pero es funcionalidad contable avanzada. Puede implementarse con queries custom en MGN-004 o MGN-012
- Recomendación: POSPONER a Fase 2 o extensión MGN-004
- Esfuerzo estimado: 21 SP (complejo)
GAP-MGN-002-003: Transferencias Inter-Compañía Automáticas
- Descripción: Transferencias de inventario/financieras entre empresas del grupo con asientos automáticos
- Referencia Odoo: account (inter-company transactions)
- Impacto: BAJO
- Justificación impacto: Funcionalidad avanzada para holdings. No es esencial para mayoría de casos de uso
- Recomendación: POSPONER a Fase 2 o posterior
- Esfuerzo estimado: 13 SP
4. FUNCIONALIDADES SOBRANTES (No en Odoo, pero incluidas)
NO HAY FUNCIONALIDADES SOBRANTES
MGN-002 es implementación fiel de res.company de Odoo.
5. ANÁLISIS COMPARATIVO CON CONSTRUCCIÓN
Funcionalidades en ERP Construcción (MAI-002)
Implementadas:
- ✅ Gestión de empresas (CRUD)
- ✅ Multi-empresa (usuario accede a múltiples)
- ✅ Configuración empresa (logo, RFC, datos fiscales)
- ✅ Context switching
No implementadas:
- ❌ Holdings (parent_id)
- ❌ Roles diferentes por empresa
- ❌ Empresa vinculada a partner
Gaps vs Construcción
Funcionalidades que Construcción NO tiene pero DEBERÍA tener según Odoo:
- Holdings (P1): Para grupos constructoras (matriz con subsidiarias)
- Empresa como partner (P1): Patrón Odoo, simplifica catálogos
- Roles por empresa (P1): Usuario puede ser Admin en una empresa, Supervisor en otra
6. RECOMENDACIONES
Para MGN-002
- Considerar roles por empresa (GAP-001): Útil para grupos empresariales, pero NO bloquea MVP
- Agregar company.partner_id: Vincular empresa a partner (patrón Odoo)
- Validar jerarquías: Prevenir ciclos en parent_id (empresa A → B → A)
Para ERP Construcción
- Retroalimentación 1: Implementar holdings (parent_id) para grupos constructoras
- Retroalimentación 2: Vincular empresa a partner (simplifica catálogos)
- Retroalimentación 3: Considerar roles diferentes por empresa para organización matricial
7. IMPACTO EN STORY POINTS
| Concepto | SP Original | SP Gaps P0 | SP Nuevo | Δ SP |
|---|---|---|---|---|
| MGN-002 Original | 30 SP | - | 30 SP | - |
| GAP-001 (Roles por empresa) | - | 0 SP (P1) | - | - |
| MGN-002 Total | 30 SP | +0 SP | 30 SP | +0 SP |
Análisis: No hay gaps P0. MGN-002 puede implementarse sin cambios. Si se incluye GAP-001 (P1), serían +8 SP (+27%).
Recomendación:
- MVP: 30 SP (sin cambios)
- Fase 2: +8 SP (roles por empresa)