# GAP ANALYSIS - MGN-008: Contabilidad Analítica

**Fecha:** 2025-11-23
**Basado en:** Odoo analytic, Construcción
**Estado:** Gap analysis completado

## Resumen Ejecutivo

| Métrica | Valor |
|---------|-------|
| **Funcionalidades de Odoo** | 8 |
| **Funcionalidades incluidas en MGN-008** | 7 |
| **Gaps identificados** | 2 |
| **Gaps P0 (críticos)** | 1 |
| **Gaps P1 (altos)** | 1 |
| **Gaps P2 (bajos)** | 0 |
| **% Cobertura** | 88% |

## 1. FUNCIONALIDADES DE ODOO

1. Cuentas analíticas (proyectos, departamentos, centros de costo)
2. Líneas analíticas automáticas
3. Campo `analytic_account_id` en TODAS las transacciones
4. Distribución analítica (60% Proyecto A, 40% Proyecto B)
5. Tags analíticos (torre, etapa, fase)
6. Reportes P&L por proyecto
7. **Planes analíticos** (multi-dimensional: proyecto + departamento + categoría)
8. **Presupuesto por cuenta analítica** (budget vs real)

## 2. FUNCIONALIDADES INCLUIDAS EN MGN-008

1. ✅ Cuentas analíticas
2. ✅ Líneas analíticas automáticas
3. ✅ Campo analytic_account_id universal
4. ✅ Distribución analítica
5. ✅ Tags analíticos
6. ✅ Reportes P&L por proyecto
7. ✅ Presupuesto básico

## 3. GAPS IDENTIFICADOS

### Gap P0 (Críticos)

#### GAP-MGN-008-001: Planes Analíticos Multi-Dimensionales
- **Descripción:** Análisis multi-dimensional (proyecto × departamento × categoría) en lugar de una sola dimensión
- **Referencia Odoo:** account.analytic.plan
- **Impacto:** CRÍTICO
- **Justificación:** Construcción requiere reportes como "Costos de materiales (categoría) por torre (proyecto) por departamento". Una sola dimensión NO es suficiente
- **Recomendación:** INCLUIR en MVP
- **Esfuerzo:** 21 SP
- **Implementación:**
  ```sql
  CREATE TABLE analytics.plans (
    id UUID PRIMARY KEY,
    name TEXT NOT NULL -- 'Proyectos', 'Departamentos', 'Categorías'
  );

  CREATE TABLE analytics.accounts (
    id UUID PRIMARY KEY,
    plan_id UUID REFERENCES analytics.plans(id),
    name TEXT NOT NULL
  );

  -- Líneas analíticas multi-dimensional
  CREATE TABLE analytics.distributions (
    line_id UUID REFERENCES analytics.lines(id),
    plan_id UUID REFERENCES analytics.plans(id),
    account_id UUID REFERENCES analytics.accounts(id),
    percentage NUMERIC(5,2) DEFAULT 100
  );
  ```
- **Ejemplo:**
  ```
  Compra de cemento $10,000:
  - Proyecto: Torre A (60%), Torre B (40%)
  - Departamento: Construcción (100%)
  - Categoría: Materiales (100%)

  Resultado: $6,000 en Torre A + Construcción + Materiales
            $4,000 en Torre B + Construcción + Materiales
  ```

### Gap P1 (Altos)

#### GAP-MGN-008-002: Alertas de Sobre-Presupuesto
- **Descripción:** Notificaciones automáticas cuando presupuesto por proyecto excede 90%, 100%, 110%
- **Referencia Odoo:** account_budget (budget alerts)
- **Impacto:** ALTO
- **Justificación:** Previene sobre-costos. Director recibe alerta cuando proyecto se acerca a límite
- **Recomendación:** CONSIDERAR para MVP o Fase 2
- **Esfuerzo:** 8 SP

## 4. ANÁLISIS COMPARATIVO CON CONSTRUCCIÓN

### Estado Actual Construcción

ERP Construcción tiene contabilidad analítica **PARCIAL**:
- ✅ Campo `project_id` en transacciones (NO es analytic_account_id universal)
- ❌ NO tiene cuentas analíticas formales
- ❌ NO tiene distribución analítica (proyecto A 60%, proyecto B 40%)
- ❌ NO tiene tags analíticos
- ❌ NO tiene multi-dimensional (solo proyecto, falta departamento/categoría)

**Impacto:** Reportes de costos por proyecto requieren queries complejos y son propensos a errores.

## 5. RECOMENDACIONES

### Para MGN-008
- [x] **INCLUIR GAP-001 (Planes multi-dimensionales):** CRÍTICO para construcción
- [ ] **CONSIDERAR GAP-002 (Alertas presupuesto):** Previene sobre-costos

### Para ERP Construcción
- [x] **MIGRAR project_id → analytic_account_id:** Adoptar patrón Odoo
- [x] **IMPLEMENTAR distribución analítica:** 60% Torre A, 40% Torre B
- [x] **AGREGAR tags analíticos:** torre, etapa, fase, tipo
- [x] **IMPLEMENTAR multi-dimensional:** proyecto × departamento × categoría

## 6. IMPACTO EN STORY POINTS

| Concepto | SP Original | SP Gaps P0 | SP Nuevo | Δ SP |
|----------|-------------|------------|----------|------|
| MGN-008 | 45 SP | +21 SP | 66 SP | +21 SP (+47%) |

## 7. IMPORTANCIA PARA CONSTRUCCIÓN

⭐⭐⭐⭐⭐ **CRÍTICO**

Contabilidad analítica universal es **LA FUNCIONALIDAD MÁS IMPORTANTE** para ERP de proyectos. Sin esto:
- ❌ Reportes P&L por proyecto son manuales (80 horas/mes)
- ❌ NO se puede saber rentabilidad de lote/torre en tiempo real
- ❌ Decisiones de negocio basadas en intuición, no datos

Con esto:
- ✅ Reportes automáticos en segundos
- ✅ Rentabilidad por lote/torre/proyecto en dashboard
- ✅ Decisiones basadas en datos reales
- ✅ Ahorro: 80 horas/mes contador + mejores decisiones

## 8. REFERENCIAS

- [ALCANCE-POR-MODULO.md - MGN-008](../ALCANCE-POR-MODULO.md#mgn-008-contabilidad-analitica)
- [odoo-analytic-analysis.md](../../00-analisis-referencias/odoo/odoo-analytic-analysis.md)
- [GAP-ANALYSIS.md](../../00-analisis-referencias/construccion/GAP-ANALYSIS.md)
