| .. | ||
| especificaciones | ||
| historias-usuario | ||
| implementacion | ||
| requerimientos | ||
| _MAP.md | ||
| README.md | ||
| RESUMEN-EPICA-MAI-004.md | ||
MAI-004: Compras e Inventarios
ID: MAI-004 Fase: 1 - Alcance Inicial Presupuesto: $35,000 MXN Story Points: 48 SP Sprint: Sprint 11-14 (Semanas 21-28) Prioridad: P1 Estado: Documentado Reutilización Core ERP: 80% (MAE-012, MAE-013)
Resumen Ejecutivo
El módulo MAI-004: Compras e Inventarios gestiona el ciclo completo de adquisición y control de materiales en obras de construcción, desde la requisición hasta el consumo en campo. Especializado para la industria de la construcción, extiende los módulos core del ERP (MAE-012 Compras y MAE-013 Inventarios) con funcionalidades específicas como almacenes por obra, control presupuestal por partidas, y seguimiento de consumos en tiempo real.
Problema que Resuelve
Las constructoras enfrentan desafíos críticos en la gestión de materiales:
- Múltiples obras simultáneas con almacenes independientes
- Control presupuestal estricto por partida presupuestal
- Coordinación compleja entre residentes, compras y almacenistas
- Falta de visibilidad del inventario en tiempo real
- Mermas y desperdicios no controlados
- Paros de obra por falta de materiales
Sin este módulo: Requisiciones en papel, Excel para control de inventarios, falta de trazabilidad, desperdicios no detectados, compras no planificadas.
Con este módulo: Requisiciones digitales con aprobación automática, inventarios en tiempo real por obra, alertas de existencias bajas, trazabilidad completa, control vs presupuesto.
Objetivos
- Optimizar compras mediante requisiciones digitales y flujos de aprobación eficientes
- Control en tiempo real de inventarios por almacén y obra
- Trazabilidad completa desde requisición hasta consumo final
- Integración presupuestal para validar disponibilidad de recursos
- Movilidad con app para almacenistas en campo (MOB-002)
Alcance Funcional
1. Requisiciones de Material
- Creación de requisiciones vinculadas a obras y partidas presupuestales
- Flujo de aprobación multinivel (Residente → Superintendente → Compras)
- Validación automática contra presupuesto disponible
- Conversión de requisiciones aprobadas en órdenes de compra
- Estados: borrador, enviada, aprobada, rechazada, convertida
- Notificaciones automáticas por email y en app
2. Órdenes de Compra
- Generación automática desde requisiciones o manual
- Selección de proveedor con condiciones comerciales
- Gestión de precios, descuentos e impuestos
- Generación de PDF con formato profesional
- Control de estados: borrador, enviada, confirmada, recibida (parcial/total), cancelada
- Registro de recepciones parciales y totales
- Control de presupuesto comprometido
3. Almacenes por Obra
- Múltiples almacenes por obra de construcción
- Definición de ubicaciones y áreas dentro de cada almacén
- Asignación de responsable/almacenista
- Control de existencias por almacén y ubicación
- Niveles mínimos y máximos de inventario
- Alertas automáticas de existencias bajas
- Inventario cíclico y físico
4. Movimientos de Inventario
- Entradas: Desde órdenes de compra con registro de lote y ubicación
- Salidas: Consumo en obra vinculado a partidas presupuestales
- Transferencias: Entre almacenes de diferentes obras
- Ajustes: Mermas, devoluciones, correcciones con justificación
- Trazabilidad completa por material
- Cálculo automático de costos (PEPS, promedio ponderado)
- Validación de existencias antes de salidas
Reutilización del Core ERP (80%)
Módulos Core Base
| Módulo Core | Funcionalidad Reutilizada | Adaptación para Construcción |
|---|---|---|
| MAE-012 Compras | Sistema de requisiciones y OCs, gestión de proveedores, catálogo de materiales | Vinculación con partidas presupuestales, aprobaciones por obra, control de presupuesto comprometido |
| MAE-013 Inventarios | Control de almacenes, movimientos de inventario, kardex, valorización PEPS | Almacenes por obra, salidas vinculadas a partidas, transferencias entre obras, app móvil |
Componentes Reutilizados
Backend (NestJS):
- Servicios base de compras y proveedores
- Servicios de inventarios y almacenes
- Sistema de aprobaciones workflow
- Cálculo de costos y valorización
- Generación de PDFs
Frontend (React):
- Componentes UI de formularios y tablas
- Sistema de notificaciones
- Dashboard de métricas
- Exportación de reportes
Base de Datos:
- Schemas:
purchasing_management,inventory_management - Triggers para actualización automática de stock
- Stored procedures para PEPS y costos
- Políticas RLS para multi-tenancy
Extensiones Específicas para Construcción
- Vinculación presupuestal: Integración con MAI-002 (Presupuestos y Costos)
- Control por partidas: Salidas vinculadas a conceptos presupuestales
- Almacenes por obra: Múltiples almacenes independientes por proyecto
- App móvil MOB-002: Interfaz móvil para almacenistas en campo
- Reportes especializados: Consumo vs presupuesto, materiales por frente
Requerimientos Funcionales
RF-COMP-001: Requisiciones de Material
Gestión de solicitudes de material para obras de construcción con flujo de aprobación multinivel.
Especificaciones clave:
- Crear requisiciones vinculadas a obras y partidas presupuestales
- Definir cantidad, unidad de medida y fecha requerida
- Flujo de aprobación: Residente → Superintendente → Compras
- Conversión a órdenes de compra
RF-COMP-002: Órdenes de Compra
Gestión completa de órdenes de compra a proveedores con control de recepciones.
Especificaciones clave:
- Creación manual o desde requisiciones
- Selección de proveedor y condiciones comerciales
- Generación de PDF y envío por email
- Control de recepciones parciales y totales
RF-COMP-003: Almacenes por Obra
Gestión de almacenes y ubicaciones de inventario en cada obra.
Especificaciones clave:
- Múltiples almacenes por obra
- Ubicaciones y áreas dentro de almacenes
- Asignación de responsables
- Niveles de inventario y alertas
RF-COMP-004: Movimientos de Inventario
Registro y control de entradas, salidas y transferencias de inventario.
Especificaciones clave:
- Entradas desde órdenes de compra
- Salidas para consumo en obra
- Transferencias entre almacenes
- Ajustes de inventario con trazabilidad
Integración con App Móvil MOB-002 (Almacenista)
Descripción General
MOB-002: Almacenista es una aplicación móvil especializada para el personal de almacén en obra, permitiendo gestión de inventario en tiempo real con capacidades offline.
Funcionalidades Móviles
| Funcionalidad | Descripción | Prioridad |
|---|---|---|
| Recepción de materiales | Registro de entradas con escaneo de códigos y fotos | P0 |
| Salida de materiales | Procesamiento de entregas con firma digital | P0 |
| Consulta de inventario | Existencias en tiempo real por almacén | P0 |
| Conteo físico | Inventario cíclico con captura móvil | P1 |
| Escaneo de códigos | Barcode y QR scanner para trazabilidad | P1 |
| Modo offline | Trabajo sin conexión con sincronización automática | P0 |
| Transferencias | Envío/recepción de materiales entre obras | P2 |
| Fotografías | Evidencia fotográfica de materiales recibidos | P1 |
Stack Tecnológico Móvil
framework: React Native 0.73+
platform: Expo 50
language: TypeScript 5.3+
state_management: Zustand 4.x
navigation: React Navigation 6.x
offline_storage: WatermelonDB
sync: Background fetch + Queue
camera: expo-camera
barcode: expo-barcode-scanner
location: expo-location
push: Firebase Cloud Messaging
User Stories Móviles
US-MOB002-001: Recibir materiales
- Escanear código o buscar material
- Ingresar cantidad recibida
- Tomar foto de evidencia
- Asociar a orden de compra
- Registrar con ubicación GPS
US-MOB002-002: Entregar materiales a obra
- Seleccionar material del inventario
- Ingresar cantidad a entregar
- Seleccionar destino (frente/cuadrilla)
- Registrar quien recibe con firma digital
- Actualizar inventario automáticamente
US-MOB002-003: Realizar conteo físico
- Iniciar conteo de almacén
- Escanear o buscar items
- Registrar cantidades físicas
- Generar diferencias automáticamente
- Crear ajustes de inventario
US-MOB002-004: Consultar existencias
- Buscar material por nombre o código
- Ver existencia actual y ubicación
- Consultar movimientos recientes
- Verificar materiales en tránsito
Sincronización Offline
La app MOB-002 implementa una arquitectura robusta para trabajo offline:
- Almacenamiento local: WatermelonDB para datos relacionales
- Queue de cambios: Registro de operaciones pendientes
- Sincronización automática: Al recuperar conectividad
- Resolución de conflictos: Estrategia configurable (server-wins, client-wins, manual)
- Notificaciones: Push cuando hay datos nuevos
Ver especificación completa en EPIC-MAI-019
Dependencias con Otros Módulos
Dependencias Directas
| Módulo | Relación | Datos Compartidos |
|---|---|---|
| MGN-001 Usuarios | Asignación de almacenistas y responsables | Usuarios, roles, permisos |
| MGN-002 RBAC | Control de permisos por rol | Políticas de acceso |
| MGN-003 Multi-tenancy | Separación por constructora | Tenant ID, RLS |
| MGN-005 Catálogos | Catálogo de materiales y proveedores | Materiales, unidades, proveedores |
| MAI-001 Proyectos | Vinculación con obras | Obras, ubicaciones |
| MAI-002 Presupuestos | Control presupuestal y partidas | Partidas, presupuesto disponible |
Integraciones Futuras
| Módulo | Integración | Datos Compartidos |
|---|---|---|
| MAI-005 Control de Obra | Consumos en avances de obra | Salidas por frente, partidas |
| MAI-008 Estimaciones | Validación de materiales en obra | Materiales aplicados |
| MAE-014 Finanzas | Cuentas por pagar a proveedores | Órdenes autorizadas, pagos |
| MAI-012 Contratos | Subcontratos con materiales | Materiales contratados |
Arquitectura del Módulo
Diagrama de Arquitectura
┌─────────────────────────────────────────────────────────────────┐
│ CAPA DE PRESENTACIÓN │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────────┐ ┌──────────────────┐ │
│ │ Web App (React) │ │ Mobile (RN) │ │
│ │ │ │ │ │
│ │ - Requisiciones │ │ - Recepciones │ │
│ │ - Órdenes │ │ - Salidas │ │
│ │ - Almacenes │ │ - Inventario │ │
│ │ - Movimientos │ │ - Conteos │ │
│ │ - Reportes │ │ - Transferencias│ │
│ └──────────────────┘ └──────────────────┘ │
│ │ │ │
│ │ REST API │ │
│ └───────────┬───────────┘ │
└───────────────────────┼─────────────────────────────────────────┘
│
┌───────────────────────┼─────────────────────────────────────────┐
│ │ CAPA DE NEGOCIO │
├───────────────────────┼─────────────────────────────────────────┤
│ ▼ │
│ ┌─────────────────────────────────────────────────────────┐ │
│ │ NestJS Backend Services │ │
│ │ │ │
│ │ ┌──────────────────┐ ┌──────────────────┐ │ │
│ │ │ Purchasing │ │ Inventory │ │ │
│ │ │ Module │ │ Module │ │ │
│ │ │ │ │ │ │ │
│ │ │ - Requisitions │ │ - Warehouses │ │ │
│ │ │ - Purchase Orders│ │ - Stock │ │ │
│ │ │ - Suppliers │ │ - Movements │ │ │
│ │ │ - Approvals │ │ - Kardex │ │ │
│ │ └──────────────────┘ └──────────────────┘ │ │
│ │ │ │ │ │
│ │ └───────────┬───────────┘ │ │
│ └───────────────────────┼──────────────────────────────────┘ │
│ │ │
│ ┌───────────────────────┼──────────────────────────────────┐ │
│ │ Shared Services ▼ │ │
│ │ │ │
│ │ - Budget Validation - Notification Service │ │
│ │ - Workflow Engine - File Upload │ │
│ │ - PDF Generator - Audit Logging │ │
│ └───────────────────────────────────────────────────────────┘ │
└───────────────────────────┼─────────────────────────────────────┘
│
┌───────────────────────────┼─────────────────────────────────────┐
│ ▼ CAPA DE DATOS │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ PostgreSQL 15+ │ │
│ │ │ │
│ │ ┌───────────────────┐ ┌──────────────────┐ │ │
│ │ │ purchasing_ │ │ inventory_ │ │ │
│ │ │ management │ │ management │ │ │
│ │ │ │ │ │ │ │
│ │ │ - requisiciones │ │ - almacenes │ │ │
│ │ │ - ordenes_compra │ │ - inventario │ │ │
│ │ │ - recepciones │ │ - movimientos │ │ │
│ │ │ - aprobaciones │ │ - kardex │ │ │
│ │ └───────────────────┘ └──────────────────┘ │ │
│ │ │ │
│ │ Features: │ │
│ │ - Row Level Security (RLS) │ │
│ │ - Triggers para stock automático │ │
│ │ - Stored procedures PEPS │ │
│ │ - Funciones de cálculo de costos │ │
│ │ - Auditoría automática │ │
│ └────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
┌─────────────────────────────────────────────────────────────────┐
│ SERVICIOS EXTERNOS │
├─────────────────────────────────────────────────────────────────┤
│ │
│ ┌──────────────┐ ┌──────────────┐ ┌──────────────┐ │
│ │ Email/SMS │ │ File Storage │ │ Push │ │
│ │ (SendGrid) │ │ (S3/MinIO) │ │ (FCM) │ │
│ └──────────────┘ └──────────────┘ └──────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────┘
Schema de Base de Datos
Schema: purchasing_management
Tablas principales:
requisiciones- Cabecera de requisicionesrequisiciones_detalle- Items de requisicionesrequisiciones_aprobaciones- Flujo de aprobaciónrequisiciones_partidas- Vinculación presupuestalordenes_compra- Cabecera de órdenesordenes_compra_detalle- Items de órdenesordenes_compra_recepciones- Registro de recepcionesordenes_compra_documentos- Archivos adjuntos
Schema: inventory_management
Tablas principales:
almacenes- Almacenes por obraalmacenes_ubicaciones- Zonas y ubicacionesinventario_por_almacen- Stock actualniveles_inventario- Min/max por materialmovimientos_inventario- Registro de movimientosentradas_inventario- Detalle de entradassalidas_inventario- Detalle de salidastransferencias_inventario- Traspasos entre almacenesajustes_inventario- Ajustes y correccioneskardex- Historial de movimientos
Backend: NestJS
Módulos principales:
// Purchasing Module
@Module({
imports: [
TypeOrmModule.forFeature([
Requisicion,
RequisicionDetalle,
OrdenCompra,
OrdenCompraDetalle,
Recepcion
])
],
providers: [
RequisicionService,
OrdenCompraService,
RecepcionService,
ApprovalWorkflowService,
BudgetValidationService
],
controllers: [
RequisicionController,
OrdenCompraController,
RecepcionController
]
})
export class PurchasingModule {}
// Inventory Module
@Module({
imports: [
TypeOrmModule.forFeature([
Almacen,
Stock,
Movimiento,
Entrada,
Salida,
Transferencia,
Kardex
])
],
providers: [
AlmacenService,
StockService,
MovimientoService,
KardexService,
AlertService,
CostCalculationService
],
controllers: [
AlmacenController,
MovimientoController,
KardexController
]
})
export class InventoryModule {}
Frontend: React + TypeScript
Componentes principales:
// Requisiciones
- RequisicionesListView
- RequisicionFormModal
- RequisicionDetailView
- RequisicionApprovalPanel
- RequisicionItemsTable
- RequisicionWorkflowTimeline
// Órdenes de Compra
- OrdenesCompraListView
- OrdenCompraFormModal
- OrdenCompraDetailView
- OrdenCompraItemsTable
- OrdenCompraRecepcionModal
- OrdenCompraPDFPreview
- OrdenCompraStatusBadge
// Almacenes
- AlmacenesListView
- AlmacenFormModal
- AlmacenDetailView
- UbicacionesTreeView
- InventarioAlmacenTable
- ExistenciasBajasAlert
- AlmacenResponsableSelector
// Movimientos
- MovimientosInventarioListView
- EntradaInventarioFormModal
- SalidaInventarioFormModal
- TransferenciaInventarioFormModal
- AjusteInventarioFormModal
- KardexMaterialView
- SolicitudesSalidaPanel
- ValuacionInventarioReport
- MovimientoDetailView
Stack Tecnológico
Backend
framework: NestJS 10+
language: TypeScript 5.3+
database: PostgreSQL 15+
orm: TypeORM 0.3+
validation: class-validator + class-transformer
authentication: Passport + JWT
authorization: CASL (RBAC)
notifications: EventEmitter2 + SendGrid/AWS SES
files: Multer + S3/MinIO
pdf: PDFKit / Puppeteer
scheduling: @nestjs/schedule (CRON)
testing: Jest + Supertest
Frontend Web
framework: React 18+
language: TypeScript 5.3+
build: Vite 5+
state: Zustand 4.x
forms: React Hook Form + Zod
tables: TanStack Table v8
charts: Chart.js / Recharts
ui: Tailwind CSS + shadcn/ui
api: Axios + React Query
routing: React Router 6
pdf: jsPDF / react-pdf
excel: xlsx
testing: Vitest + Testing Library
Mobile (MOB-002)
framework: React Native 0.73+
platform: Expo 50
language: TypeScript 5.3+
state: Zustand 4.x
navigation: React Navigation 6.x
offline: WatermelonDB
sync: Background fetch + Queue
camera: expo-camera
barcode: expo-barcode-scanner
location: expo-location
signature: react-native-signature-canvas
push: Firebase Cloud Messaging
storage: AsyncStorage + SecureStore
Base de Datos
database: PostgreSQL 15+
schemas:
- purchasing_management
- inventory_management
features:
- Row Level Security (RLS)
- Triggers automáticos
- Stored procedures
- Functions para cálculos
- JSONB para flexibilidad
- Full-text search
- Particionamiento (futuro)
Flujos de Trabajo Clave
Flujo 1: Requisición a Orden de Compra
1. [Residente] Crea requisición de materiales
- Selecciona obra y partida presupuestal
- Agrega materiales del catálogo
- Especifica cantidades y fecha requerida
- Envía a aprobación
2. [Sistema] Valida presupuesto disponible
- Verifica saldo en partida presupuestal
- Rechaza automáticamente si no hay presupuesto
- Notifica al residente
3. [Superintendente] Revisa y aprueba
- Recibe notificación de requisición pendiente
- Revisa justificación y cantidades
- Aprueba o rechaza con comentarios
- Notifica al solicitante
4. [Jefe de Compras] Convierte a OC
- Selecciona proveedor
- Define condiciones comerciales
- Genera orden de compra
- Envía PDF por email al proveedor
- Marca requisición como convertida
5. [Sistema] Compromete presupuesto
- Registra monto comprometido en partida
- Actualiza saldo disponible
- Genera notificación a residente y finanzas
Flujo 2: Recepción de Material (App Móvil)
1. [Almacenista] Recibe notificación de material en tránsito
- App móvil muestra órdenes pendientes
- Selecciona orden a recibir
2. [Almacenista] Escanea o busca material
- Usa cámara para escanear código de barras/QR
- O busca manualmente en catálogo
- Verifica coincidencia con orden
3. [Almacenista] Registra recepción
- Ingresa cantidad recibida
- Toma foto de evidencia
- Registra lote y ubicación en almacén
- Captura firma del proveedor (si aplica)
- Documenta diferencias o daños
4. [App Móvil] Sincroniza con servidor
- Guarda datos localmente (offline)
- Sincroniza cuando hay conectividad
- Actualiza estado de orden
5. [Sistema] Genera entrada de almacén
- Crea movimiento de entrada
- Actualiza stock en almacén
- Calcula costo según PEPS
- Actualiza kardex
- Notifica a residente y compras
Flujo 3: Salida de Material a Obra
1. [Residente] Solicita material desde web
- Selecciona partida/frente de obra
- Especifica materiales y cantidades
- Envía solicitud a almacenista
2. [Almacenista] Recibe solicitud en app móvil
- Notificación push
- Verifica existencias disponibles
- Aprueba o rechaza solicitud
3. [Almacenista] Prepara material
- Ubica material en almacén
- Prepara cantidad solicitada
- Registra salida en app móvil
4. [Almacenista] Entrega material
- Selecciona quien recibe
- Captura firma digital
- Toma foto de evidencia
- Confirma salida
5. [Sistema] Registra consumo
- Genera movimiento de salida
- Actualiza stock de almacén
- Vincula con partida presupuestal
- Actualiza consumo vs presupuesto
- Actualiza kardex
- Notifica a residente
Indicadores Clave (KPIs)
KPIs Operativos
| Métrica | Descripción | Objetivo | Fórmula |
|---|---|---|---|
| Tiempo aprobación requisiciones | Tiempo promedio de aprobación | < 24 horas | AVG(fecha_aprobacion - fecha_solicitud) |
| Tasa rechazo requisiciones | Porcentaje de requisiciones rechazadas | < 10% | (rechazadas / total) × 100 |
| Cumplimiento entregas | Órdenes entregadas a tiempo | > 90% | (entregadas_a_tiempo / total) × 100 |
| Exactitud inventario | Diferencia físico vs sistema | > 95% | (1 - ABS(diferencia) / stock_sistema) × 100 |
| Rotación inventario | Veces que rota el inventario | > 2 veces/mes | costo_ventas / inventario_promedio |
| Valor inmovilizado | Material sin movimiento > 90 días | < 5% del total | valor_sin_movimiento / valor_total × 100 |
KPIs Financieros
| Métrica | Descripción | Objetivo |
|---|---|---|
| Presupuesto comprometido | Monto en órdenes pendientes | Visibilidad 100% |
| Desviación vs presupuesto | Diferencia consumo real vs presupuestado | ± 5% |
| Ahorro en compras | Por comparación de cotizaciones | > 5% |
| Costo de mermas | Valor de desperdicios y ajustes | < 2% |
Documentos Relacionados
Requerimientos Funcionales
- RF-COMP-001: Requisiciones de Material
- RF-COMP-002: Órdenes de Compra
- RF-COMP-003: Almacenes por Obra
- RF-COMP-004: Movimientos de Inventario
Especificaciones Técnicas
- ET-PURCH-001: Implementación de Proveedores
- ET-PURCH-002: Implementación de Requisiciones y OCs
- ET-PURCH-003: Implementación de Almacenes
- ET-PURCH-004: Implementación de Kárdex y Alertas
Historias de Usuario
- US-PURCH-001: Registro de Proveedor
- US-PURCH-002: Solicitar Cotizaciones (RFQ)
- US-PURCH-003: Crear Requisición desde Obra
- US-PURCH-004: Aprobar y Generar Orden de Compra
- US-PURCH-005: Recibir Material en Almacén
- US-PURCH-006: Control de Almacenes y Movimientos
- US-PURCH-007: Kárdex y Análisis de Consumo
- US-PURCH-008: Dashboard de Inventarios y Alertas
Otros Documentos
- RESUMEN-EPICA-MAI-004.md - Resumen ejecutivo completo
- TRACEABILITY.yml - Matriz de trazabilidad
- EPIC-MAI-019: Apps Móviles - Detalle de MOB-002
Puntos Críticos
- Sincronización offline-online (App Móvil) → Pérdida de datos si falla sincronización
- Validación presupuestal → Requisiciones sin presupuesto generan paros de obra
- Exactitud de inventarios → Diferencias afectan decisiones de compra
- Cálculo de costos PEPS → Errores impactan valuación contable
- Control de aprobaciones → Flujo roto puede generar compras no autorizadas
- Alertas de stock mínimo → Fallas en alertas causan faltantes de material
Roadmap de Implementación
Sprint 11 (13 SP) - Proveedores y Cotizaciones
- US-PURCH-001: Registro de Proveedor (5 SP)
- US-PURCH-002: Solicitar Cotizaciones RFQ (8 SP)
Sprint 12 (18 SP) - Requisiciones y OCs
- US-PURCH-003: Crear Requisición desde Obra (5 SP)
- US-PURCH-004: Aprobar y Generar Orden de Compra (8 SP)
- US-PURCH-005: Recibir Material en Almacén (5 SP)
Sprint 13 (12 SP) - Almacenes y Kárdex
- US-PURCH-006: Control de Almacenes y Movimientos (7 SP)
- US-PURCH-007: Kárdex y Análisis de Consumo (5 SP)
Sprint 14 (5 SP) - Dashboard y Alertas
- US-PURCH-008: Dashboard de Inventarios y Alertas (5 SP)
Total: 48 Story Points | 8 semanas | 4 sprints
Roles y Permisos
| Rol | Permisos |
|---|---|
| Residente de Obra | Crear requisiciones, solicitar salidas, consultar inventario |
| Superintendente | Aprobar requisiciones, consultar órdenes, ver reportes |
| Jefe de Compras | Crear/editar órdenes, gestionar proveedores, aprobar requisiciones |
| Almacenista | Gestionar almacén, registrar entradas/salidas, conteos físicos |
| Jefe de Almacén | Todos los permisos de almacenista + transferencias + ajustes |
| Contador | Consultar valuación, kardex, reportes financieros |
| Director | Vista ejecutiva, aprobación de ajustes mayores, todos los reportes |
Generado: 2025-12-06 Estado: Completo Mantenedores: @tech-lead @backend-team @frontend-team @mobile-team