227 lines
7.0 KiB
Markdown
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
|