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

7.0 KiB

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)

  • Historias de usuario definidas
  • Criterios de aceptacion claros
  • Dependencias identificadas
  • 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