# EPICA: EPIC-VT-004 - Inventario ## Metadata | Campo | Valor | |-------|-------| | **ID** | EPIC-VT-004 | | **Nombre** | Inventario | | **Modulo** | inventario | | **Fase** | Fase 1 - MVP | | **Prioridad** | P0 (Critico) | | **Estado** | Backlog | | **Story Points** | 38 | | **Sprint(s)** | Sprint 3-4 | --- ## Descripcion Control de inventario especializado para materia prima de vidrio. Gestiona láminas de vidrio por tipo, espesor y dimensiones, incluyendo trazabilidad de lotes y control de desperdicio. Integra con el módulo de corte para optimizar uso de material. --- ## Objetivo de Negocio - Control preciso de existencias de vidrio - Trazabilidad de lotes para garantías - Minimizar desperdicio de material - Alertas de reabastecimiento oportunas - Valorización correcta de inventario --- ## Historias de Usuario | ID | Historia | Prioridad | SP | Estado | |----|----------|-----------|-----|--------| | US-VT004-001 | Como almacenista, quiero registrar entrada de láminas de vidrio con lote y proveedor | P0 | 5 | Backlog | | US-VT004-002 | Como almacenista, quiero consultar stock disponible por tipo y espesor de vidrio | P0 | 3 | Backlog | | US-VT004-003 | Como operador de corte, quiero reservar lámina específica para orden de producción | P0 | 5 | Backlog | | US-VT004-004 | Como operador de corte, quiero registrar consumo de lámina con desperdicio generado | P0 | 5 | Backlog | | US-VT004-005 | Como almacenista, quiero ver alertas de stock mínimo para generar pedidos | P0 | 3 | Backlog | | US-VT004-006 | Como admin, quiero definir stock mínimo por tipo de vidrio para configurar alertas | P0 | 2 | Backlog | | US-VT004-007 | Como contador, quiero ver valorización de inventario por método PEPS/UEPS | P1 | 5 | Backlog | | US-VT004-008 | Como almacenista, quiero realizar inventario físico y ajustar diferencias | P1 | 5 | Backlog | | US-VT004-009 | Como jefe de producción, quiero ver kardex de movimientos por lámina | P1 | 3 | Backlog | | US-VT004-010 | Como admin, quiero configurar ubicaciones de almacén para localizar material | P2 | 2 | Backlog | **Total Story Points:** 38 SP --- ## Tipos de Movimiento ``` ENTRADA ├── Compra a proveedor ├── Devolución de producción └── Ajuste positivo SALIDA ├── Consumo en producción ├── Desperdicio ├── Ajuste negativo └── Baja por rotura TRANSFERENCIA └── Entre ubicaciones ``` --- ## Criterios de Aceptacion de la Epica **Funcionales:** - [ ] Registrar entradas con lote, proveedor, dimensiones - [ ] Consultar stock por tipo, espesor, ubicación - [ ] Reservar material para producción - [ ] Registrar consumos y desperdicios - [ ] Alertas de stock mínimo - [ ] Kardex de movimientos - [ ] Valorización PEPS/UEPS - [ ] Inventario físico con ajustes **No Funcionales:** - [ ] Consulta de stock < 500ms - [ ] Soporte para 1000+ láminas - [ ] Historial de 2 años de movimientos **Tecnicos:** - [ ] Integración con módulo de corte - [ ] Integración con módulo de compras - [ ] Reportes de inventario --- ## Dependencias **Esta epica depende de:** | Epica/Modulo | Estado | Bloqueante | |--------------|--------|------------| | EPIC-VT-001 Fundamentos | Backlog | Si | **Esta epica bloquea:** | Epica/Modulo | Razon | |--------------|-------| | EPIC-VT-003 Produccion | Requiere material disponible | | EPIC-VT-005 Corte | Requiere láminas para cortar | --- ## Desglose Tecnico **Database:** - [ ] Schema: `inventory` - [ ] Tablas: 7 (glass_sheets, stock_movements, lots, locations, reservations, etc.) - [ ] Funciones: 3 (update_stock, calculate_value, reserve_sheet) - [ ] Indices: Por tipo, espesor, ubicación, lote **Backend:** - [ ] Modulo: `inventory` - [ ] Entities: 5 (GlassSheet, StockMovement, Lot, Location, Reservation) - [ ] Endpoints: 15 - [ ] Tests: 30 **Frontend:** - [ ] Paginas: 5 (StockList, SheetDetail, Movements, PhysicalCount, Reports) - [ ] Componentes: 12 (StockCard, MovementForm, ReservationModal, etc.) - [ ] Stores: 1 (inventoryStore) --- ## Endpoints API | Metodo | Endpoint | Descripcion | |--------|----------|-------------| | GET | /api/inventory/stock | Consultar stock | | POST | /api/inventory/entries | Registrar entrada | | POST | /api/inventory/exits | Registrar salida | | POST | /api/inventory/reservations | Crear reservación | | DELETE | /api/inventory/reservations/:id | Cancelar reservación | | GET | /api/inventory/kardex/:sheetId | Kardex de lámina | | GET | /api/inventory/valuation | Valorización | | POST | /api/inventory/physical-count | Inventario físico | | GET | /api/inventory/alerts | Alertas de stock | --- ## Riesgos | Riesgo | Probabilidad | Impacto | Mitigacion | |--------|--------------|---------|------------| | Discrepancias de inventario | Alta | Alto | Inventarios frecuentes | | Lotes no trazables | Media | Alto | Registro obligatorio de lote | | Desperdicio no registrado | Media | Medio | Validación en corte | --- ## Definition of Ready (DoR) - [x] Historias de usuario definidas - [x] Criterios de aceptacion claros - [x] Dependencias identificadas - [x] Estimacion completada - [ ] Catálogo de tipos de vidrio definido - [ ] Ubicaciones de almacén mapeadas ## Definition of Done (DoD) - [ ] Entradas y salidas funcionando - [ ] Kardex completo por lámina - [ ] Alertas de stock operativas - [ ] Tests de integración pasando - [ ] Documentación de API --- ## Historial | Fecha | Cambio | Autor | |-------|--------|-------| | 2025-12-08 | Creacion de epica | Claude-Agent | --- **Creada por:** Claude-Agent **Fecha:** 2025-12-08 **Ultima actualizacion:** 2025-12-08