243 lines
9.0 KiB
Markdown
243 lines
9.0 KiB
Markdown
# EPICA: EPIC-MMD-004 - Inventario de Refacciones
|
|
|
|
## Metadata
|
|
|
|
| Campo | Valor |
|
|
|-------|-------|
|
|
| **ID** | EPIC-MMD-004 |
|
|
| **Nombre** | Inventario de Refacciones |
|
|
| **Modulo** | inventario-refacciones |
|
|
| **Fase** | Fase 1 - MVP |
|
|
| **Prioridad** | P0 (Critico) |
|
|
| **Estado** | Backlog |
|
|
| **Story Points** | 42 |
|
|
| **Sprint(s)** | Sprint 2-3 |
|
|
|
|
---
|
|
|
|
## Descripcion
|
|
|
|
Modulo de gestion de inventario especializado para refacciones diesel. Extiende el modulo MGN-011 Inventory del core con funcionalidades especificas: catalogos de partes por marca/modelo, equivalencias, ubicaciones en almacen, stock minimo, y solicitudes desde ordenes de servicio.
|
|
|
|
**Extiende:** MGN-011 Inventory (70% reutilizacion)
|
|
|
|
---
|
|
|
|
## Objetivo de Negocio
|
|
|
|
- Reducir perdidas de inventario de 15% a menos de 2%
|
|
- Evitar paros por falta de refacciones criticas
|
|
- Control de costos de partes por servicio
|
|
- Trazabilidad: que refaccion se uso en que vehiculo
|
|
- Facilitar reposicion automatica
|
|
|
|
---
|
|
|
|
## Historias de Usuario
|
|
|
|
| ID | Historia | Prioridad | SP | Estado |
|
|
|----|----------|-----------|-----|--------|
|
|
| US-MMD004-001 | Como almacenista, quiero registrar refacciones con codigo, descripcion y ubicacion para control | P0 | 5 | Backlog |
|
|
| US-MMD004-002 | Como almacenista, quiero registrar entrada de refacciones (compra, devolucion) para actualizar stock | P0 | 5 | Backlog |
|
|
| US-MMD004-003 | Como mecanico, quiero solicitar refaccion desde orden de servicio para usar en reparacion | P0 | 5 | Backlog |
|
|
| US-MMD004-004 | Como almacenista, quiero despachar refacciones solicitadas y actualizar stock automaticamente | P0 | 5 | Backlog |
|
|
| US-MMD004-005 | Como almacenista, quiero ver alertas de stock minimo para reabastecer a tiempo | P0 | 5 | Backlog |
|
|
| US-MMD004-006 | Como almacenista, quiero buscar refacciones por codigo, descripcion o equivalencia | P0 | 3 | Backlog |
|
|
| US-MMD004-007 | Como jefe de taller, quiero ver costo de refacciones por orden de servicio | P1 | 3 | Backlog |
|
|
| US-MMD004-008 | Como admin, quiero configurar ubicaciones de almacen (rack, estante, nivel) | P1 | 3 | Backlog |
|
|
| US-MMD004-009 | Como admin, quiero importar catalogo de refacciones desde Excel | P1 | 5 | Backlog |
|
|
| US-MMD004-010 | Como almacenista, quiero hacer inventario fisico y ajustar diferencias | P2 | 3 | Backlog |
|
|
|
|
**Total Story Points:** 42 SP
|
|
|
|
---
|
|
|
|
## Flujo de Movimientos de Inventario
|
|
|
|
```
|
|
┌────────────────────────────────────────────────────────────┐
|
|
│ ENTRADAS (+) │
|
|
├────────────────────────────────────────────────────────────┤
|
|
│ COMPRA │ Recepcion de compra a proveedor │
|
|
│ DEVOLUCION │ Cliente devuelve refaccion no usada │
|
|
│ AJUSTE+ │ Inventario fisico encontro mas │
|
|
│ TRANSFERENCIA│ Recibe de otro almacen (si aplica) │
|
|
└────────────────────────────────────────────────────────────┘
|
|
|
|
┌────────────────────────────────────────────────────────────┐
|
|
│ SALIDAS (-) │
|
|
├────────────────────────────────────────────────────────────┤
|
|
│ CONSUMO │ Usada en orden de servicio │
|
|
│ AJUSTE- │ Inventario fisico encontro menos │
|
|
│ MERMA │ Danada, perdida, obsoleta │
|
|
│ DEVOLUCION │ Devolucion a proveedor │
|
|
└────────────────────────────────────────────────────────────┘
|
|
```
|
|
|
|
---
|
|
|
|
## Criterios de Aceptacion de la Epica
|
|
|
|
**Funcionales:**
|
|
- [ ] Catalogo de refacciones con codigo, descripcion, ubicacion
|
|
- [ ] Categorias: INY, FIL, LUB, ELE, FRE, SUS, MOT, TRA
|
|
- [ ] Registro de movimientos con tipo y referencia
|
|
- [ ] Stock actual calculado automaticamente
|
|
- [ ] Alertas de stock minimo configurables
|
|
- [ ] Busqueda por codigo, descripcion, equivalencias
|
|
- [ ] Solicitud de refaccion desde orden de servicio
|
|
- [ ] Kardex por refaccion (historial movimientos)
|
|
- [ ] Costo de refacciones por orden
|
|
|
|
**No Funcionales:**
|
|
- [ ] Busqueda < 200ms
|
|
- [ ] Actualizacion de stock en tiempo real
|
|
- [ ] Soporte 5000+ SKUs
|
|
|
|
**Tecnicos:**
|
|
- [ ] Integracion con modulo Ordenes (consumos)
|
|
- [ ] Integracion con Compras (si existe)
|
|
- [ ] Export de inventario a Excel
|
|
- [ ] Auditoria de todos los movimientos
|
|
|
|
---
|
|
|
|
## Dependencias
|
|
|
|
**Esta epica depende de:**
|
|
| Epica/Modulo | Estado | Bloqueante |
|
|
|--------------|--------|------------|
|
|
| EPIC-MMD-001 Fundamentos | Backlog | Si |
|
|
| MGN-011 Inventory (Core) | Pendiente | Si |
|
|
|
|
**Esta epica bloquea:**
|
|
| Epica/Modulo | Razon |
|
|
|--------------|-------|
|
|
| EPIC-MMD-002 Ordenes | Requiere refacciones |
|
|
| EPIC-MMD-006 Cotizaciones | Requiere precios |
|
|
| EPIC-MMA-010 Proveedores | Requiere catalogo |
|
|
|
|
---
|
|
|
|
## Desglose Tecnico
|
|
|
|
**Database:**
|
|
- [ ] Schema: `parts_management`
|
|
- [ ] Tablas: 8 (parts, categories, locations, movements, stock, requests, equivalences, etc.)
|
|
- [ ] Funciones: 3 (calcular_stock, registrar_movimiento, alertar_minimo)
|
|
- [ ] Indices: Por codigo, categoria, ubicacion
|
|
|
|
**Backend:**
|
|
- [ ] Modulo: `parts-inventory`
|
|
- [ ] Extiende: InventoryModule (Core)
|
|
- [ ] Entities: 7 (Part, Category, Location, Movement, Stock, Request, Equivalence)
|
|
- [ ] Endpoints: 18+
|
|
- [ ] Tests: 30+
|
|
|
|
**Frontend:**
|
|
- [ ] Paginas: 4 (PartsList, PartDetail, MovementsLog, StockAlerts)
|
|
- [ ] Componentes: 12+ (PartCard, MovementForm, StockBadge, LocationSelect, etc.)
|
|
- [ ] Stores: 2 (partsStore, movementsStore)
|
|
|
|
---
|
|
|
|
## Estructura de Refaccion
|
|
|
|
```typescript
|
|
interface Part {
|
|
id: string;
|
|
code: string; // Codigo interno (ej: INY-0001)
|
|
barcode?: string; // Codigo de barras
|
|
description: string; // Descripcion completa
|
|
short_name: string; // Nombre corto
|
|
category_id: string; // INY, FIL, LUB, etc.
|
|
brand?: string; // Marca (Bosch, Delphi, etc.)
|
|
oem_number?: string; // Numero original fabricante
|
|
unit: string; // PZA, LT, KG, MTS
|
|
cost: number; // Costo de compra
|
|
price: number; // Precio de venta
|
|
min_stock: number; // Stock minimo
|
|
max_stock?: number; // Stock maximo
|
|
location_id: string; // Ubicacion en almacen
|
|
equivalences: string[]; // Codigos equivalentes
|
|
status: 'active' | 'discontinued';
|
|
}
|
|
```
|
|
|
|
---
|
|
|
|
## Endpoints API
|
|
|
|
| Metodo | Endpoint | Descripcion |
|
|
|--------|----------|-------------|
|
|
| GET | /api/parts | Listar refacciones (paginado, filtros) |
|
|
| POST | /api/parts | Crear refaccion |
|
|
| GET | /api/parts/:id | Detalle refaccion |
|
|
| PATCH | /api/parts/:id | Actualizar refaccion |
|
|
| GET | /api/parts/:id/kardex | Kardex de movimientos |
|
|
| POST | /api/movements | Registrar movimiento |
|
|
| GET | /api/stock/alerts | Alertas de stock bajo |
|
|
| POST | /api/parts/request | Solicitar desde orden |
|
|
| POST | /api/parts/import | Importar desde Excel |
|
|
| GET | /api/inventory/report | Reporte de inventario |
|
|
|
|
---
|
|
|
|
## Categorias de Refacciones
|
|
|
|
| Codigo | Categoria | Ejemplos |
|
|
|--------|-----------|----------|
|
|
| INY | Inyectores y Bombas | Inyectores, bombas, toberas |
|
|
| FIL | Filtros | Aire, aceite, diesel, hidraulico |
|
|
| LUB | Lubricantes | Aceites motor, transmision, hidraulico |
|
|
| ELE | Electrico | Sensores, alternadores, marchas |
|
|
| FRE | Frenos | Balatas, discos, tambores, cilindros |
|
|
| SUS | Suspension | Amortiguadores, rotulas, bujes |
|
|
| MOT | Motor | Empaques, anillos, camisas, valvulas |
|
|
| TRA | Transmision | Clutch, sincronizadores, baleros |
|
|
| ACC | Accesorios | Faros, espejos, mangueras |
|
|
| HER | Herramientas | Consumibles de taller |
|
|
|
|
---
|
|
|
|
## Riesgos
|
|
|
|
| Riesgo | Probabilidad | Impacto | Mitigacion |
|
|
|--------|--------------|---------|------------|
|
|
| Stock inicial incorrecto | Alta | Medio | Inventario fisico inicial |
|
|
| Movimientos no registrados | Media | Alto | Registro obligatorio desde orden |
|
|
| Equivalencias incorrectas | Media | Medio | Validacion manual |
|
|
|
|
---
|
|
|
|
## Definition of Ready (DoR)
|
|
|
|
- [x] Historias de usuario definidas
|
|
- [x] Categorias definidas
|
|
- [x] Flujo de movimientos claro
|
|
- [ ] Catalogo inicial de refacciones
|
|
|
|
## Definition of Done (DoD)
|
|
|
|
- [ ] CRUD de refacciones funcionando
|
|
- [ ] Movimientos con actualizacion de stock
|
|
- [ ] Alertas de stock minimo
|
|
- [ ] Solicitud desde ordenes
|
|
- [ ] Import Excel
|
|
- [ ] Kardex por refaccion
|
|
- [ ] Tests pasando
|
|
|
|
---
|
|
|
|
## Historial
|
|
|
|
| Fecha | Cambio | Autor |
|
|
|-------|--------|-------|
|
|
| 2025-12-06 | Creacion de epica | Requirements-Analyst |
|
|
|
|
---
|
|
|
|
**Creada por:** Requirements-Analyst
|
|
**Fecha:** 2025-12-06
|
|
**Ultima actualizacion:** 2025-12-06
|