erp-construccion/docs/08-epicas/EPIC-MAI-003-presupuestos.md

7.8 KiB

EPICA: EPIC-MAI-003 - Presupuestos y Costos

Metadata

Campo Valor
ID EPIC-MAI-003
Nombre Presupuestos y Control de Costos
Modulo presupuestos-costos
Fase Fase 1 - Alcance Inicial
Prioridad P0 (Critico)
Estado Backlog
Story Points 55
Sprint(s) Sprint 3-5

Descripcion

Sistema de presupuestos de construccion con estructura jerarquica de conceptos, partidas, Analisis de Precios Unitarios (APU), explosionado automatico de materiales y comparativo presupuesto vs real. Soporta presupuestos base (por prototipo de vivienda) y presupuestos ejecutivos (por proyecto/fraccionamiento).


Objetivo de Negocio

Proveer control presupuestal que:

  • Defina costos por concepto de obra con precision
  • Permita analisis de precios unitarios (APU)
  • Explosione materiales automaticamente para compras
  • Compare presupuesto vs ejecutado en tiempo real
  • Identifique desviaciones tempranas para toma de decisiones
  • Soporte multiples versiones de presupuesto
  • Facilite la elaboracion de estimaciones

Stakeholders

Rol Nombre/Equipo Responsabilidad
Product Owner Equipo Producto Definicion de funcionalidades
Tech Lead Equipo Backend Arquitectura de calculos
Presupuestador Construccion Elaboracion de APU y presupuestos
Residente de Obra Campo Control de avance y costos
Director de Construccion Gerencia Aprobacion y seguimiento

Historias de Usuario

ID Historia Prioridad SP Estado
US-MAI003-001 Como presupuestador, quiero crear presupuestos base por prototipo de vivienda para estandarizar costos P0 8 Backlog
US-MAI003-002 Como presupuestador, quiero crear partidas y conceptos jerarquicos para organizar el presupuesto P0 5 Backlog
US-MAI003-003 Como presupuestador, quiero elaborar APU para definir precios unitarios con detalle de insumos P0 8 Backlog
US-MAI003-004 Como presupuestador, quiero explosionar materiales del presupuesto para planificar compras P0 8 Backlog
US-MAI003-005 Como residente, quiero crear presupuesto ejecutivo desde base para aplicar a proyecto especifico P0 5 Backlog
US-MAI003-006 Como residente, quiero comparar presupuesto vs real para detectar desviaciones P0 8 Backlog
US-MAI003-007 Como presupuestador, quiero importar presupuesto desde Excel para migrar datos existentes P1 5 Backlog
US-MAI003-008 Como presupuestador, quiero versionar presupuestos para mantener historial de cambios P1 3 Backlog
US-MAI003-009 Como director, quiero ver dashboard de desviaciones para tomar decisiones oportunas P1 5 Backlog

Total Story Points: 55 SP


Criterios de Aceptacion de la Epica

Funcionales:

  • Estructura jerarquica: Partida -> Subpartida -> Concepto
  • APU con insumos (materiales, mano de obra, equipo, herramienta)
  • Explosionado automatico de materiales por cantidad de viviendas
  • Presupuesto base (por prototipo) y ejecutivo (por proyecto)
  • Comparativo presupuesto vs real con % desviacion
  • Versionado de presupuestos con historial
  • Import/Export Excel con formato estandar
  • Calculo de indirectos y utilidad

No Funcionales:

  • Performance: Calculo de explosionado < 5s para 1000 conceptos
  • Precision: 4 decimales en precios unitarios
  • Consistencia: Totales calculados automaticamente

Tecnicos:

  • Cobertura de tests > 80%
  • Funciones de calculo en PostgreSQL para performance
  • Documentacion de formulas de APU

Dependencias

Esta epica depende de:

Epica/Modulo Estado Bloqueante
EPIC-MAI-001 Fundamentos Backlog Si
EPIC-MAI-002 Proyectos Backlog Si
MGN-005 Catalogs (materiales) Backlog Si

Esta epica bloquea:

Epica/Modulo Razon
EPIC-MAI-004 Compras Explosion de materiales
EPIC-MAI-005 Control Obra Avance por concepto
EPIC-MAI-008 Estimaciones Base para facturacion
EPIC-MAE-014 Finanzas Control de costos

Desglose Tecnico

Database:

  • Schema: budget_management
  • Tablas: 12 (budgets, budget_versions, partidas, concepts, apu, apu_items, materials_explosion, budget_vs_actual, indirectos, rendimientos, etc.)
  • Funciones: 5 (calcular_apu, explosionar_materiales, comparar_real, recalcular_totales, versionar_presupuesto)
  • Triggers: Recalculo automatico de totales
  • RLS Policies: Si (por tenant y proyecto)

Backend:

  • Modulo: budgets
  • Entities: 12 (Budget, BudgetVersion, Partida, Concept, APU, APUItem, MaterialExplosion, etc.)
  • Services: BudgetService, APUService, ExplosionService, ComparisonService
  • Endpoints: 30+ (CRUD budgets, partidas, conceptos, APU, explosion, comparison)
  • Jobs: ExplosionCalculationJob
  • Tests: 45+

Frontend:

  • Paginas: 7 (Budgets, BudgetDetail, PartidaEditor, APUEditor, Explosion, Comparison, Dashboard)
  • Componentes: 25+ (BudgetTree, APUForm, ExplosionTable, ComparisonChart, PartidaDragDrop)
  • Stores: 1 (budgetsStore)

Estructura de Presupuesto

Presupuesto (Casa Tipo A - Fraccionamiento Las Palmas)
├── Partida 1: PRELIMINARES
│   ├── 1.1 Limpieza de terreno
│   │   └── APU: Peones + Herramienta
│   └── 1.2 Trazo y nivelacion
│       └── APU: Topografo + Equipo
├── Partida 2: CIMENTACION
│   ├── 2.1 Excavacion
│   │   └── APU: Retroexcavadora + Operador
│   └── 2.2 Zapatas aisladas
│       └── APU: Concreto fc=250 + Acero + MO
├── Partida 3: ESTRUCTURA
│   ├── 3.1 Columnas
│   ├── 3.2 Trabes
│   └── 3.3 Losa
├── ...
└── Partida N: LIMPIEZA FINAL
    └── Total = Suma de conceptos + Indirectos + Utilidad

Riesgos

Riesgo Probabilidad Impacto Mitigacion
Formulas de APU incorrectas Media Alto Validacion con presupuestadores expertos
Performance en explosionado Media Alto Calculo en DB, batch processing
Importacion Excel corrupta Alta Medio Validacion estricta, preview antes de importar
Desviaciones no detectadas Media Alto Alertas automaticas, dashboard

Definition of Ready (DoR)

  • Historias de usuario definidas
  • Criterios de aceptacion claros
  • Dependencias identificadas
  • Estimacion completada
  • Formato de APU estandar definido
  • Catalogo de partidas SAT mapeado
  • Template Excel de importacion definido
  • Sin bloqueadores activos

Definition of Done (DoD)

  • Codigo implementado y revisado
  • Tests pasando (unit, integration, e2e)
  • APU calculando correctamente
  • Explosionado funcionando
  • Comparativo mostrandose
  • Documentacion actualizada
  • Inventarios actualizados
  • Trazas registradas
  • Demo realizada con presupuestador
  • Product Owner aprobo

Documentacion Relacionada

  • Modulo: docs/02-definicion-modulos/MAI-003-presupuestos-costos/
  • User Stories: docs/05-user-stories/mai-003/
  • DDL Spec: docs/04-modelado/database-design/schemas/budget_management.sql
  • Especificaciones: docs/02-definicion-modulos/MAI-003-presupuestos-costos/especificaciones/

Historial

Fecha Cambio Autor
2025-12-05 Creacion de epica Requirements-Analyst
2025-12-05 Agregado Stakeholders, Riesgos, DoR/DoD Requirements-Analyst

Creada por: Requirements-Analyst Fecha: 2025-12-05 Ultima actualizacion: 2025-12-05