erp-construccion/docs/02-definicion-modulos/MAI-003-presupuestos-costos
2026-01-04 06:12:06 -06:00
..
especificaciones Initial commit - erp-construccion 2026-01-04 06:12:06 -06:00
historias-usuario Initial commit - erp-construccion 2026-01-04 06:12:06 -06:00
implementacion Initial commit - erp-construccion 2026-01-04 06:12:06 -06:00
requerimientos Initial commit - erp-construccion 2026-01-04 06:12:06 -06:00
_MAP.md Initial commit - erp-construccion 2026-01-04 06:12:06 -06:00
README.md Initial commit - erp-construccion 2026-01-04 06:12:06 -06:00
RESUMEN-EPICA-MAI-003.md Initial commit - erp-construccion 2026-01-04 06:12:06 -06:00

MAI-003: Presupuestos y Control de Costos

ID: MAI-003 Fase: 1 - Alcance Inicial Presupuesto: $30,000 MXN Story Points: 46 SP Sprint: Sprint 7-10 (Semanas 13-20) Prioridad: P1 Estado: En documentacion


Resumen Ejecutivo

Este modulo gestiona el ciclo completo de presupuestos de construccion, desde el catalogo de conceptos base hasta el control de costos reales y analisis de rentabilidad. Incluye gestion de Analisis de Precios Unitarios (APU), explosion de insumos, presupuestos multinivel (obra, etapa, prototipo), control presupuestal con curva S, y analisis de desviaciones con proyecciones.

Problema que Resuelve

Las constructoras pierden entre 5-15% de margen debido a:

  • Presupuestos desactualizados o imprecisos elaborados en Excel
  • Falta de control sobre costos reales vs presupuestados
  • Desconocimiento de rentabilidad real por prototipo/proyecto
  • Reaccion tardia ante desviaciones de costos
  • Dificultad para reutilizar conceptos y precios entre proyectos
  • Analisis de precios unitarios manuales propensos a errores

Sin este modulo: Elaboracion manual en Excel (8-10 horas por presupuesto), errores de calculo, imposibilidad de controlar costos en tiempo real, perdida de margen por desviaciones no detectadas.

Con este modulo: Catalogo centralizado de 10,000+ conceptos reutilizables, presupuestos generados en 2 horas con precision <3%, control de costos en tiempo real, alertas proactivas de desviaciones, +2 puntos de margen por mejor control.


Objetivos

  1. Catalogar conceptos reutilizables con APU detallados por especialidad
  2. Generar presupuestos rapidos y precisos en 3 niveles (obra, etapa, prototipo)
  3. Controlar costos reales vs presupuestados con curva S y alertas automaticas
  4. Analizar rentabilidad por proyecto/prototipo con simulaciones de escenarios
  5. Visibilidad total del estado financiero del portafolio de proyectos

Alcance Funcional

1. Catalogo de Conceptos y Precios Unitarios

Catlogo maestro de conceptos reutilizables:

  • 4 tipos de conceptos: Material, Mano de Obra, Maquinaria, Compuesto
  • Organizacion jerarquica por division CMIC (16 capitulos estandar)
  • Analisis de Precio Unitario (APU) detallado para conceptos compuestos
  • Versionado y historial de precios con trazabilidad
  • Regionalizacion de precios por zona geografica
  • Importacion/exportacion desde/hacia Excel, OPUS, Neodata

Analisis de Precios Unitarios (APU):

  • Explosion de insumos: materiales + mano de obra + maquinaria
  • Factor de Salario Real (FSR) para mano de obra
  • Cargos por indirectos (12%), financiamiento (3%), utilidad (10%)
  • Calculo automatico de Precio Unitario (PU) final

Ejemplo de concepto compuesto:

Concepto: "Cimentacion corrida de concreto f'c=200 kg/cm2"
├─ Materiales:
│  ├─ Concreto premezclado f'c=200: 1.05 m3 × $1,850 = $1,943
│  ├─ Acero de refuerzo 3/8": 25 kg × $18 = $450
│  ├─ Cimbra de madera: 6 m2 × $125 = $750
│  └─ Alambre recocido: 0.5 kg × $25 = $13
│  Subtotal Materiales: $3,156
│
├─ Mano de Obra:
│  ├─ Oficial albanil: 0.8 jornadas × $450 = $360
│  ├─ Ayudante general: 1.6 jornadas × $280 = $448
│  ├─ FSR (1.65×): $808 × 1.65 = $1,333
│  Subtotal Mano de Obra: $1,333
│
├─ Maquinaria:
│  ├─ Vibrador de concreto: 2 hrs × $80 = $160
│  ├─ Herramienta menor (3%): $3,156 × 3% = $95
│  Subtotal Maquinaria: $255
│
├─ Costo Directo (CD): $4,744
├─ Indirectos (12%): $569
├─ Financiamiento (3%): $142
├─ Utilidad (10%): $474
├─ Cargos adicionales (2%): $95
│
└─ Precio Unitario Final: $6,024/m3 + IVA

2. Presupuestos Maestros (Obra, Etapa, Prototipo)

Presupuesto de Obra:

  • Desglose completo por capitulos CMIC
  • Volumetrias totales del proyecto
  • Distribucion temporal (Curva S)
  • Versionado completo (baseline, ajustes, cambios de alcance)

Presupuesto de Etapa:

  • Subdivision por fases constructivas
  • Programacion de recursos por etapa
  • Validacion de suma = presupuesto de obra

Presupuesto de Prototipo:

  • Presupuesto detallado por modelo de vivienda
  • Generadores automaticos basados en caracteristicas:
    • Superficie de construccion
    • Perimetro de desplante
    • Numero de niveles
    • Tipo de acabados
  • Explosion de insumos por prototipo
  • Costo unitario por m2 de construccion

Ejemplo de generador automatico:

// Excavacion para cimentacion
formula: "desplantDepth * buildingPerimeter * 0.60 * 0.80"
inputs: {
  desplantDepth: 0.80m,      // Profundidad de desplante
  buildingPerimeter: 30m,    // Perimetro de construccion
  widthFactor: 0.60m,        // Ancho de cepa
  wasteFactorr: 0.80         // Factor de abundamiento
}
result: 14.40 m3 de excavacion

3. Control de Costos Reales y Desviaciones

Registro automatico de costos reales:

  • Integracion con modulo de Compras (MAI-004) - materiales
  • Integracion con modulo de Nomina (MAI-007) - mano de obra
  • Integracion con modulo de Subcontratos (MAI-012) - subcontratistas
  • Registro manual de otros costos

Dashboard de control con Curva S:

  • Costo Presupuestado (baseline)
  • Costo Real acumulado
  • Valor Ganado (Earned Value)
  • Proyeccion de costo final (EAC)

Analisis de desviaciones:

  • Desviacion en precio: (Precio Real - Precio Presupuestado) × Cantidad Real
  • Desviacion en cantidad: (Cantidad Real - Cantidad Presupuestada) × Precio Presupuestado
  • Desviacion mixta: (Precio Real - Precio Presupuestado) × (Cantidad Real - Cantidad Presupuestada)

Indicadores de desempeno:

CPI (Cost Performance Index) = Valor Ganado / Costo Real
  CPI > 1.0: Proyecto bajo presupuesto
  CPI < 1.0: Proyecto sobre presupuesto

SPI (Schedule Performance Index) = Valor Ganado / Valor Planificado
  SPI > 1.0: Proyecto adelantado
  SPI < 1.0: Proyecto retrasado

EAC (Estimate at Completion) = Presupuesto / CPI
  Proyeccion de costo final del proyecto

Alertas automaticas configurables:

  • Desviacion >5% en capitulo especifico
  • Desviacion >3% en presupuesto total
  • Proyeccion EAC excede presupuesto autorizado
  • Plan de accion obligatorio para desviaciones >5%

4. Analisis de Rentabilidad y Margenes

Analisis financiero por proyecto:

  • Ingresos totales (precio de venta × unidades)
  • Costos totales (presupuesto + desviaciones)
  • Margen bruto y margen neto
  • Punto de equilibrio (unidades minimas a vender)
  • Margen de seguridad

Comparacion de rentabilidad por prototipo:

  • Costo unitario por m2
  • Precio de venta por m2
  • Margen por prototipo
  • Rentabilidad relativa entre modelos

Simulador de escenarios:

  • Escenario optimista (-5% costos, +3% precio)
  • Escenario base (valores actuales)
  • Escenario pesimista (+8% costos, -2% precio)

Matriz de sensibilidad:

  • Impacto de variaciones de precio de venta (-10% a +10%)
  • Impacto de variaciones de costo (-10% a +10%)
  • Mapa de calor de rentabilidad

Ejemplo de analisis:

Proyecto: Residencial Los Pinos (150 viviendas)
Ingresos: $165.75M (150 × $1.105M)
Costos: $153.70M
Margen Bruto: $12.05M (7.3%)
Punto de Equilibrio: 110 viviendas (73%)
Margen de Seguridad: 27%
Resultado: Proyecto viable con margen saludable

Reutilizacion del Core ERP (30%)

Este modulo aprovecha la infraestructura del ERP Core:

Componente Core Uso en MAI-003 % Reutilizacion
MGN-001 (Usuarios) Gestion de usuarios con permisos 100%
MGN-002 (RBAC) Roles: Presupuestista, Director de Costos, Analista 100%
MGN-003 (Multi-tenant) Aislamiento de catalogos por constructora 100%
MGN-005 (Catalogos) Base para catalogo de conceptos 70%
MGN-007 (Auditoria) Trazabilidad de cambios en precios y presupuestos 100%
MGN-008 (Notificaciones) Alertas de desviaciones criticas 100%

Total estimado de reutilizacion: 30% del codigo proviene del core, 70% es especifico del modulo.


Lista de Requerimientos Funcionales

Requerimientos Funcionales (4)

  1. RF-COST-001: Catalogo de Conceptos y Precios Unitarios

    • Catalogo maestro de conceptos (material, mano de obra, maquinaria, compuesto)
    • Analisis de Precios Unitarios (APU) detallado
    • Versionado y historial de precios
    • Regionalizacion de precios
    • Importacion/exportacion Excel, OPUS, Neodata
  2. RF-COST-002: Presupuestos Maestros (Obra, Etapa, Prototipo)

    • Presupuesto de obra con desglose CMIC
    • Presupuesto de etapa por fase constructiva
    • Presupuesto de prototipo con generadores automaticos
    • Versionado completo (baseline, ajustes, cambios)
    • Curva S y distribucion temporal
  3. RF-COST-003: Control de Costos Reales y Desviaciones

    • Registro automatico desde compras, nomina, subcontratos
    • Dashboard con curva S
    • Calculo de desviaciones (precio, cantidad, mixta)
    • Proyecciones EAC (3 metodos)
    • Alertas automaticas y planes de accion
  4. RF-COST-004: Analisis de Rentabilidad y Margenes

    • Analisis financiero por proyecto
    • Comparacion de rentabilidad por prototipo
    • Punto de equilibrio y margen de seguridad
    • Simulador de escenarios
    • Matriz de sensibilidad

Especificaciones Tecnicas (4)

  1. ET-COST-001: Implementacion del Catalogo de Conceptos
  2. ET-COST-002: Implementacion de Presupuestos
  3. ET-COST-003: Implementacion de Control de Costos
  4. ET-COST-004: Implementacion de Analisis de Rentabilidad

Historias de Usuario (8)

Sprint 7 (13 SP):

Sprint 8 (13 SP):

Sprint 9 (10 SP):

Sprint 10 (5 SP):


Dependencias con Otros Modulos

Modulos que MAI-003 Consume (Input)

Modulo Relacion Datos Compartidos
MAI-001 (Fundamentos) Lee configuracion base Catalogos generales, parametros de sistema
MAI-002 (Proyectos) Lee estructura de proyectos Proyectos, etapas, prototipos, caracteristicas
MAI-004 (Compras) Lee ordenes de compra Costos reales de materiales, precios de proveedores
MAI-005 (Control de Obra) Lee avances fisicos Porcentaje de avance por partida, volumenes ejecutados
MAI-012 (Contratos) Lee subcontratos Costos de subcontratistas, alcances contratados

Modulos que Consumen MAI-003 (Output)

Modulo Relacion Datos Compartidos
MAI-002 (Proyectos) Provee costos unitarios Costo por prototipo, margen esperado
MAI-004 (Compras) Provee presupuesto de materiales Alertas de precios fuera de presupuesto
MAI-005 (Control de Obra) Provee presupuesto base Cantidades presupuestadas por partida
MAI-008 (Estimaciones) Provee precios unitarios Conceptos y PU para generacion de estimaciones
MAI-006 (Reportes) Provee datos financieros Indicadores de rentabilidad, desviaciones

Diagrama de Dependencias

┌─────────────────────────────────────────────────────────────┐
│                      MAI-003: Presupuestos                  │
│                                                             │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐     │
│  │   Catalogo   │  │ Presupuestos │  │   Control    │     │
│  │  Conceptos   │→→│   Maestros   │→→│    Costos    │     │
│  └──────────────┘  └──────────────┘  └──────────────┘     │
│         ↓                 ↓                   ↓             │
│  ┌─────────────────────────────────────────────────┐       │
│  │         Analisis de Rentabilidad                │       │
│  └─────────────────────────────────────────────────┘       │
└─────────────────────────────────────────────────────────────┘
          ↑                    ↑                    ↑
          │                    │                    │
    ┌─────┴──────┐      ┌─────┴──────┐      ┌─────┴──────┐
    │  MAI-002   │      │  MAI-004   │      │  MAI-005   │
    │ Proyectos  │      │  Compras   │      │   Control  │
    └────────────┘      └────────────┘      └────────────┘

Diagrama de Arquitectura

Arquitectura de 3 Capas

┌────────────────────────────────────────────────────────────────┐
│                   CAPA DE PRESENTACION                         │
│                      (React + Vite)                            │
├────────────────────────────────────────────────────────────────┤
│                                                                │
│  ┌───────────────┐  ┌───────────────┐  ┌───────────────┐     │
│  │   Catalogo    │  │ Presupuestos  │  │   Control     │     │
│  │  Conceptos    │  │   Maestros    │  │    Costos     │     │
│  │               │  │               │  │               │     │
│  │ - Lista con   │  │ - Wizard de   │  │ - Dashboard   │     │
│  │   busqueda    │  │   creacion    │  │   Curva S     │     │
│  │ - Formulario  │  │ - Generadores │  │ - Analisis de │     │
│  │   APU         │  │   automaticos │  │   desviaciones│     │
│  │ - Historial   │  │ - Versionado  │  │ - Alertas     │     │
│  └───────────────┘  └───────────────┘  └───────────────┘     │
│                                                                │
└────────────────────────────────────────────────────────────────┘
                              ↓ REST API
┌────────────────────────────────────────────────────────────────┐
│                     CAPA DE NEGOCIO                            │
│                       (NestJS)                                 │
├────────────────────────────────────────────────────────────────┤
│                                                                │
│  ┌──────────────────────────────────────────────────────┐     │
│  │              BudgetsModule                           │     │
│  ├──────────────────────────────────────────────────────┤     │
│  │                                                      │     │
│  │  Services:                                           │     │
│  │  - ConceptCatalogService (CRUD conceptos)            │     │
│  │  - APUCalculatorService (calculo PU compuestos)      │     │
│  │  - BudgetService (CRUD presupuestos)                 │     │
│  │  - BudgetGeneratorService (generadores automaticos)  │     │
│  │  - CostControlService (registro costos reales)       │     │
│  │  - VarianceAnalysisService (analisis desviaciones)   │     │
│  │  - ProfitabilityService (analisis rentabilidad)      │     │
│  │                                                      │     │
│  │  Controllers:                                        │     │
│  │  - ConceptCatalogController (9 endpoints)            │     │
│  │  - BudgetController (12 endpoints)                   │     │
│  │  - CostControlController (8 endpoints)               │     │
│  │  - ProfitabilityController (6 endpoints)             │     │
│  │                                                      │     │
│  │  Cron Jobs:                                          │     │
│  │  - CostAnalysisTask.analyzeDailyCosts() (6:00 AM)    │     │
│  │                                                      │     │
│  └──────────────────────────────────────────────────────┘     │
│                                                                │
└────────────────────────────────────────────────────────────────┘
                              ↓ TypeORM
┌────────────────────────────────────────────────────────────────┐
│                     CAPA DE DATOS                              │
│                   (PostgreSQL 14+)                             │
├────────────────────────────────────────────────────────────────┤
│                                                                │
│  Schema: budgets                                               │
│  ┌──────────────────────────────────────────────────────┐     │
│  │                                                      │     │
│  │  Tablas Principales:                                 │     │
│  │  - concept_catalog (conceptos base)                  │     │
│  │  - concept_price_history (historial precios)         │     │
│  │  - regions (regionalizacion)                         │     │
│  │  - budgets (presupuestos maestros)                   │     │
│  │  - budget_items (partidas jerarquicas)               │     │
│  │  - budget_versions (versionado)                      │     │
│  │  - actual_costs (costos reales)                      │     │
│  │  - cost_variances (desviaciones)                     │     │
│  │  - cost_projections (proyecciones EAC)               │     │
│  │  - profitability_analysis (analisis rentabilidad)    │     │
│  │  - prototype_profitability (rentabilidad prototipo)  │     │
│  │                                                      │     │
│  │  Funciones SQL:                                      │     │
│  │  - calculate_composite_price() (calculo PU)          │     │
│  │  - calculate_variances() (desviaciones)              │     │
│  │  - calculate_eac() (proyeccion costo final)          │     │
│  │  - calculate_profitability() (rentabilidad)          │     │
│  │                                                      │     │
│  │  Triggers:                                           │     │
│  │  - Auto-actualizacion de updated_at                  │     │
│  │  - Historial automatico de precios                   │     │
│  │  - Recalculo de totales en presupuestos              │     │
│  │  - Alertas en desviaciones >5%                       │     │
│  │                                                      │     │
│  └──────────────────────────────────────────────────────┘     │
│                                                                │
└────────────────────────────────────────────────────────────────┘

Modelo de Datos Simplificado

-- Schema principal
CREATE SCHEMA budgets;

-- Tipos ENUM
CREATE TYPE budgets.concept_type AS ENUM ('material', 'labor', 'equipment', 'composite');
CREATE TYPE budgets.budget_scope AS ENUM ('project', 'stage', 'prototype');
CREATE TYPE budgets.budget_status AS ENUM ('draft', 'in_review', 'approved', 'active', 'completed');

-- Tabla principal de conceptos
CREATE TABLE budgets.concept_catalog (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  constructora_id UUID NOT NULL REFERENCES constructoras.constructoras(id),
  code VARCHAR(50) NOT NULL,
  name VARCHAR(255) NOT NULL,
  concept_type budgets.concept_type NOT NULL,
  category VARCHAR(100),
  unit VARCHAR(20),
  base_price DECIMAL(12,2),
  region_id UUID REFERENCES budgets.regions(id),
  is_active BOOLEAN DEFAULT true,
  created_at TIMESTAMP DEFAULT NOW(),
  updated_at TIMESTAMP DEFAULT NOW()
);

-- Tabla de presupuestos
CREATE TABLE budgets.budgets (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  constructora_id UUID NOT NULL REFERENCES constructoras.constructoras(id),
  project_id UUID REFERENCES projects.projects(id),
  code VARCHAR(50) NOT NULL,
  scope budgets.budget_scope NOT NULL,
  status budgets.budget_status DEFAULT 'draft',
  total_amount DECIMAL(14,2),
  created_at TIMESTAMP DEFAULT NOW(),
  updated_at TIMESTAMP DEFAULT NOW()
);

-- Tabla de partidas del presupuesto
CREATE TABLE budgets.budget_items (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  budget_id UUID NOT NULL REFERENCES budgets.budgets(id),
  concept_id UUID REFERENCES budgets.concept_catalog(id),
  parent_id UUID REFERENCES budgets.budget_items(id),
  quantity DECIMAL(12,4),
  unit_price DECIMAL(12,2),
  total_amount DECIMAL(14,2),
  level INTEGER DEFAULT 0
);

-- Tabla de costos reales
CREATE TABLE budgets.actual_costs (
  id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
  budget_item_id UUID NOT NULL REFERENCES budgets.budget_items(id),
  source_type VARCHAR(50), -- 'purchase', 'payroll', 'subcontract', 'manual'
  source_id UUID,
  quantity DECIMAL(12,4),
  unit_cost DECIMAL(12,2),
  total_cost DECIMAL(14,2),
  cost_date DATE,
  created_at TIMESTAMP DEFAULT NOW()
);

Stack Tecnologico

Backend

  • Framework: NestJS 10+
  • ORM: TypeORM con PostgreSQL
  • Validacion: class-validator, class-transformer
  • Documentacion API: Swagger/OpenAPI
  • Testing: Jest

Frontend

  • Framework: React 18+ con TypeScript
  • Build Tool: Vite 5+
  • Estado: Zustand (stores por modulo)
  • UI Components: shadcn/ui + Tailwind CSS
  • Formularios: React Hook Form + Zod
  • Graficos: Chart.js para Curva S
  • Tablas: TanStack Table v8

Base de Datos

  • DBMS: PostgreSQL 14+
  • Schema: budgets
  • RLS: Row Level Security para multi-tenant
  • Triggers: Auto-actualizacion de totales y alertas
  • Funciones: Calculos complejos en SQL

DevOps

  • Contenedores: Docker + Docker Compose
  • CI/CD: GitHub Actions
  • Migraciones: TypeORM migrations
  • Monitoreo: Logs estructurados con Winston

Enlaces a Documentacion

Documentacion Tecnica Detallada

Requerimientos Funcionales

Especificaciones Tecnicas

Historias de Usuario

Implementacion


Indicadores Clave (KPIs)

Metricas de Adopcion

  • Proyectos con presupuesto formal: >95%
  • Conceptos reutilizados del catalogo: >90%
  • Conceptos duplicados: <5%

Metricas de Eficiencia

  • Tiempo de elaboracion de presupuesto: <2 horas (vs 8-10h manual)
  • Busqueda de conceptos: <200ms
  • Actualizacion masiva de precios: <5 seg (500 conceptos)
  • Generacion de presupuesto: <2 seg (100 partidas)

Metricas de Calidad

  • Precision presupuesto vs real: <3% desviacion
  • Alertas criticas con plan de accion: 100% en <48h
  • Proyeccion EAC vs costo final: <2% error

Metricas de Rentabilidad

  • Proyectos con margen >= target: >80%
  • Incremento de margen promedio: +2 puntos anuales
  • ROI del portafolio: >=12% anual

Puntos Criticos

  1. Calidad del catalogo de conceptos - Base de todo el sistema, requiere revision y depuracion continua
  2. Precision de generadores automaticos - Formulas deben validarse contra casos reales
  3. Integracion con compras/nomina - Registro automatico de costos reales depende de otros modulos
  4. Alertas de desviaciones - Configuracion de umbrales critica para evitar spam
  5. Performance en calculos masivos - Optimizacion de queries para presupuestos grandes (>1000 partidas)

Roles y Permisos

Rol Permisos
Presupuestista Crear/editar conceptos y presupuestos, actualizar precios
Director de Costos Aprobar presupuestos, ver analisis de rentabilidad, configurar alertas
Analista de Costos Registrar costos reales, analizar desviaciones, crear planes de accion
Director General Ver dashboard global, aprobar presupuestos criticos (>$10M)
Solo Lectura Ver presupuestos y reportes, sin edicion

Flujos de Trabajo

Flujo 1: Creacion de Presupuesto de Obra

1. [Presupuestista] Crea nuevo presupuesto desde proyecto
2. [Sistema] Sugiere conceptos del catalogo segun tipo de proyecto
3. [Presupuestista] Agrega partidas y conceptos, define cantidades
4. [Sistema] Calcula automaticamente PU compuestos con APU
5. [Sistema] Genera totales por capitulo CMIC
6. [Presupuestista] Revisa y envia a aprobacion
7. [Director de Costos] Valida margenes y rentabilidad esperada
8. [Director General] Aprueba presupuesto (si >$10M)
9. [Sistema] Marca presupuesto como "Aprobado" (baseline)
10. [Sistema] Habilita control de costos reales para el proyecto

Flujo 2: Control de Costos y Alertas

1. [Sistema] Registra automaticamente costos reales desde:
   - Modulo de Compras (materiales)
   - Modulo de Nomina (mano de obra)
   - Modulo de Subcontratos (subcontratistas)
2. [Cron Job Diario] Recalcula desviaciones y proyecciones
3. [Sistema] Detecta desviacion >5% en capitulo "Estructura"
4. [Sistema] Envia alerta a Director de Costos y Analista
5. [Analista de Costos] Investiga causa de desviacion
6. [Analista] Crea plan de accion correctivo (obligatorio)
7. [Director de Costos] Revisa y aprueba plan de accion
8. [Sistema] Monitorea ejecucion de plan de accion
9. [Sistema] Actualiza proyeccion EAC con nuevas estimaciones

Flujo 3: Analisis de Rentabilidad

1. [Director de Costos] Accede a dashboard de rentabilidad
2. [Sistema] Muestra analisis actualizado:
   - Margen bruto por proyecto
   - Comparacion de rentabilidad por prototipo
   - Punto de equilibrio
3. [Director] Ejecuta simulador de escenarios
4. [Sistema] Calcula impacto de:
   - Reducir costo de estructura 5%
   - Incrementar precio de venta 2%
5. [Sistema] Muestra matriz de sensibilidad
6. [Director] Identifica prototipos con baja rentabilidad
7. [Director] Solicita optimizacion de presupuesto de prototipo
8. [Presupuestista] Ajusta concepto y crea nueva version
9. [Sistema] Recalcula rentabilidad con nuevo presupuesto

Generado: 2025-12-06 Estado: Completo Mantenedores: @tech-lead @backend-team @frontend-team