Configurar Presupuesto
Exportar contenido
Control detallado de partidas presupuestarias y tracking de gastos vs. estimaciones.
Ubicación
Sección titulada «Ubicación»- Tipo:
ProjectBudgetItem - Tabla:
project_budget_items - Vista: Tab “Presupuesto” en detalle del proyecto
Características
Sección titulada «Características»Partidas Presupuestarias
Sección titulada «Partidas Presupuestarias»Cada item del presupuesto incluye:
interface ProjectBudgetItem { id: string; project_id: string; milestone_id?: string; // Asociar a hito específico category: string; // Categoría del gasto name: string; // Nombre descriptivo description?: string; // Detalles adicionales estimated_cost: number; // Coste estimado actual_cost: number; // Coste real is_approved: boolean; // Aprobación requerida approved_by?: string; // Quién aprobó approved_at?: string; // Cuándo se aprobó}Categorías Típicas
Sección titulada «Categorías Típicas»- Recursos Humanos
- Equipamiento
- Software y Licencias
- Materiales
- Servicios Externos
- Marketing
- Contingencia
- Otros
Sistema de Aprobación
Sección titulada «Sistema de Aprobación»- Se crea partida con
is_approved: false - Requiere aprobación de manager o admin
- Al aprobar: se registra
approved_byyapproved_at - Solo partidas aprobadas se suman a
budget_used
Tracking en Tiempo Real
Sección titulada «Tracking en Tiempo Real»Vista de Dashboard de Presupuesto
Sección titulada «Vista de Dashboard de Presupuesto»Muestra 3 cards principales:
- Presupuesto Total: Monto asignado
- Gastado: Suma de
actual_costde items aprobados - Restante: Diferencia, color rojo si es negativo
Barra de Progreso
Sección titulada «Barra de Progreso»- Verde: Dentro del presupuesto (0-80%)
- Amarillo: Aproximándose al límite (80-100%)
- Rojo: Sobre presupuesto (>100%)
Asociación con Hitos
Sección titulada «Asociación con Hitos»Las partidas pueden asociarse a hitos específicos:
- Permite tracking de presupuesto por fase
milestone_idvincula item a hito- Cálculo de
budget_useddel hito automático - Vista consolidada por hito y global
Alertas
Sección titulada «Alertas»El sistema genera alertas cuando:
- ⚠️ Presupuesto usado > 80%
- 🚨 Presupuesto excedido
- 📊 Diferencia significativa entre estimado y real
Cálculo de presupuesto usado
// Cálculo automático en ProjectDetail.tsxconst budgetPercentage = project.budget_total > 0 ? (project.budget_used / project.budget_total) * 100 : 0;
// Suma de costes reales de items aprobadosconst totalBudgetUsed = project.budget_items ?.filter(item => item.is_approved) .reduce((sum, item) => sum + item.actual_cost, 0) || 0;
// Actualización en proyectoawait supabase .from('projects') .update({ budget_used: totalBudgetUsed }) .eq('id', projectId);