# 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
