erp-retail/docs/08-epicas/EPIC-RT-003-inventario.md

227 lines
7.0 KiB
Markdown

# EPICA: EPIC-RT-003 - Inventario Multi-Sucursal
## Metadata
| Campo | Valor |
|-------|-------|
| **ID** | EPIC-RT-003 |
| **Nombre** | Inventario Multi-Sucursal |
| **Modulo** | inventario |
| **Fase** | Fase 1 - MVP |
| **Prioridad** | P0 (Critico) |
| **Estado** | Backlog |
| **Story Points** | 42 |
| **Sprint(s)** | Sprint 3-4 |
---
## Descripcion
Gestión de inventario para cadenas de tiendas minoristas. Control de stock por sucursal, transferencias entre tiendas, recepción de mercancía, ajustes de inventario y alertas de reabastecimiento. Sincronización en tiempo real con todos los POS.
---
## Objetivo de Negocio
- Visibilidad de stock en todas las sucursales
- Evitar quiebres de stock
- Optimizar distribución de inventario
- Reducir sobre-stock y obsoletos
- Trazabilidad completa de movimientos
---
## Historias de Usuario
| ID | Historia | Prioridad | SP | Estado |
|----|----------|-----------|-----|--------|
| US-RT003-001 | Como gerente de tienda, quiero consultar stock de productos en mi sucursal | P0 | 3 | Backlog |
| US-RT003-002 | Como gerente de tienda, quiero ver stock de otras sucursales para transferencias | P0 | 3 | Backlog |
| US-RT003-003 | Como almacenista, quiero recibir mercancía de proveedor con validación de orden de compra | P0 | 5 | Backlog |
| US-RT003-004 | Como almacenista, quiero solicitar transferencia de otra sucursal para cubrir faltantes | P0 | 5 | Backlog |
| US-RT003-005 | Como almacenista, quiero confirmar recepción de transferencia para actualizar stock | P0 | 3 | Backlog |
| US-RT003-006 | Como gerente de tienda, quiero realizar ajuste de inventario con motivo documentado | P0 | 5 | Backlog |
| US-RT003-007 | Como gerente regional, quiero ver alertas de stock bajo por sucursal | P0 | 3 | Backlog |
| US-RT003-008 | Como gerente regional, quiero ver kardex de movimientos de un producto | P1 | 3 | Backlog |
| US-RT003-009 | Como gerente de tienda, quiero realizar inventario físico con conteo ciego | P1 | 5 | Backlog |
| US-RT003-010 | Como admin, quiero configurar stock mínimo y máximo por producto/sucursal | P0 | 3 | Backlog |
| US-RT003-011 | Como gerente regional, quiero ver valorización de inventario por sucursal | P1 | 4 | Backlog |
**Total Story Points:** 42 SP
---
## Tipos de Movimiento
```
ENTRADA
├── Compra a proveedor
├── Transferencia recibida
├── Devolución de cliente
└── Ajuste positivo
SALIDA
├── Venta POS
├── Transferencia enviada
├── Merma/Robo
├── Ajuste negativo
└── Devolución a proveedor
RESERVA
├── Apartado de cliente
└── Pedido e-commerce
```
---
## Flujo de Transferencia
```
SUCURSAL ORIGEN SUCURSAL DESTINO
│ │
▼ │
┌─────────────┐ │
│ SOLICITUD │ ◄────────────────────────┘
└──────┬──────┘ (crea solicitud)
┌─────────────┐
│ APROBADA │ ← Gerente origen aprueba
└──────┬──────┘
┌─────────────┐
│ EN_TRANSITO│ ← Mercancía en camino
└──────┬──────┘
┌─────────────┐
│ RECIBIDA │ ← Destino confirma recepción
└─────────────┘
```
---
## Criterios de Aceptacion de la Epica
**Funcionales:**
- [ ] Consultar stock por producto y sucursal
- [ ] Recibir mercancía con validación de OC
- [ ] Crear y aprobar transferencias
- [ ] Ajustes de inventario con motivo
- [ ] Alertas de stock bajo
- [ ] Kardex de movimientos
- [ ] Inventario físico con conteo ciego
- [ ] Valorización por sucursal
**No Funcionales:**
- [ ] Consulta de stock < 500ms
- [ ] Sincronización con POS < 5 segundos
- [ ] Historial de 2 años de movimientos
**Tecnicos:**
- [ ] Integración con módulo POS
- [ ] Integración con módulo Compras
- [ ] Eventos de stock para e-commerce
- [ ] Reportes de inventario
---
## Dependencias
**Esta epica depende de:**
| Epica/Modulo | Estado | Bloqueante |
|--------------|--------|------------|
| EPIC-RT-001 Fundamentos | Backlog | Si |
**Esta epica bloquea:**
| Epica/Modulo | Razon |
|--------------|-------|
| EPIC-RT-002 POS | Requiere stock para vender |
| EPIC-RT-004 Compras | Requiere control de entradas |
| EPIC-RT-009 E-commerce | Requiere disponibilidad de stock |
---
## Desglose Tecnico
**Database:**
- [ ] Schema: `inventory`
- [ ] Tablas: 8 (stock, stock_movements, transfers, transfer_items, adjustments, counts, locations, alerts)
- [ ] Funciones: 4 (update_stock, create_movement, check_alerts, valuate_stock)
- [ ] Indices: Por producto, sucursal, fecha, tipo
**Backend:**
- [ ] Modulo: `inventory`
- [ ] Entities: 7 (Stock, StockMovement, Transfer, TransferItem, Adjustment, PhysicalCount, Alert)
- [ ] Endpoints: 18
- [ ] Tests: 35
**Frontend:**
- [ ] Paginas: 6 (StockList, Movements, Transfers, Adjustments, PhysicalCount, Alerts)
- [ ] Componentes: 15 (StockCard, MovementForm, TransferModal, CountSheet, etc.)
- [ ] Stores: 1 (inventoryStore)
---
## Endpoints API
| Metodo | Endpoint | Descripcion |
|--------|----------|-------------|
| GET | /api/inventory/stock | Consultar stock (filtros) |
| GET | /api/inventory/stock/:productId | Stock de producto en todas las sucursales |
| POST | /api/inventory/receipts | Recibir mercancía |
| POST | /api/inventory/transfers | Crear transferencia |
| PATCH | /api/inventory/transfers/:id | Actualizar estado |
| POST | /api/inventory/adjustments | Crear ajuste |
| GET | /api/inventory/kardex/:productId | Kardex de producto |
| POST | /api/inventory/counts | Iniciar inventario físico |
| POST | /api/inventory/counts/:id/items | Registrar conteo |
| POST | /api/inventory/counts/:id/close | Cerrar y ajustar |
| GET | /api/inventory/alerts | Ver alertas de stock |
| GET | /api/inventory/valuation | Valorización |
---
## Riesgos
| Riesgo | Probabilidad | Impacto | Mitigacion |
|--------|--------------|---------|------------|
| Desincronización con POS | Media | Alto | Eventos en tiempo real |
| Transferencias perdidas | Baja | Alto | Estados y confirmaciones |
| Diferencias de inventario | Alta | Medio | Inventarios frecuentes |
---
## Definition of Ready (DoR)
- [x] Historias de usuario definidas
- [x] Criterios de aceptacion claros
- [x] Dependencias identificadas
- [x] Estimacion completada
- [ ] Motivos de ajuste definidos
- [ ] Proceso de transferencias aprobado
## Definition of Done (DoD)
- [ ] Flujo de transferencias funcionando
- [ ] Sincronización con POS operativa
- [ ] Inventario físico completo
- [ ] Alertas de stock activas
- [ ] 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