# EPICA: EPIC-RT-004 - Compras y Reabastecimiento ## Metadata | Campo | Valor | |-------|-------| | **ID** | EPIC-RT-004 | | **Nombre** | Compras y Reabastecimiento | | **Modulo** | compras | | **Fase** | Fase 1 - MVP | | **Prioridad** | P0 (Critico) | | **Estado** | Backlog | | **Story Points** | 38 | | **Sprint(s)** | Sprint 5-6 | --- ## Descripcion Gestión de compras a proveedores para reabastecimiento de tiendas. Incluye sugerencias automáticas de compra basadas en stock mínimo, gestión de órdenes de compra, recepción de mercancía y evaluación de proveedores. --- ## Objetivo de Negocio - Evitar quiebres de stock - Optimizar niveles de inventario - Negociar mejores condiciones con proveedores - Automatizar proceso de reabastecimiento - Control de costos de compra --- ## Historias de Usuario | ID | Historia | Prioridad | SP | Estado | |----|----------|-----------|-----|--------| | US-RT004-001 | Como comprador, quiero ver sugerencias de compra basadas en stock mínimo | P0 | 5 | Backlog | | US-RT004-002 | Como comprador, quiero crear orden de compra desde sugerencias | P0 | 5 | Backlog | | US-RT004-003 | Como comprador, quiero agregar productos manualmente a orden de compra | P0 | 3 | Backlog | | US-RT004-004 | Como comprador, quiero enviar orden de compra al proveedor por email | P0 | 3 | Backlog | | US-RT004-005 | Como almacenista, quiero recibir mercancía validando contra orden de compra | P0 | 5 | Backlog | | US-RT004-006 | Como almacenista, quiero registrar diferencias en recepción (faltantes/sobrantes) | P0 | 3 | Backlog | | US-RT004-007 | Como comprador, quiero gestionar catálogo de proveedores con datos de contacto | P0 | 3 | Backlog | | US-RT004-008 | Como comprador, quiero ver historial de compras por proveedor | P1 | 3 | Backlog | | US-RT004-009 | Como gerente, quiero ver métricas de cumplimiento de proveedores | P1 | 5 | Backlog | | US-RT004-010 | Como admin, quiero configurar lead times por proveedor para sugerencias | P2 | 3 | Backlog | **Total Story Points:** 38 SP --- ## Flujo de Orden de Compra ``` ┌─────────────┐ │ BORRADOR │ ← OC siendo creada └──────┬──────┘ │ ▼ ┌─────────────┐ │ CONFIRMADA │ ← Aprobada internamente └──────┬──────┘ │ ▼ ┌─────────────┐ │ ENVIADA │ ← Enviada al proveedor └──────┬──────┘ │ ├──────────────┐ ▼ ▼ ┌─────────────┐ ┌─────────────┐ │ RECIB_PARC │ │ RECIBIDA │ │ (parcial) │ │ (completa) │ └──────┬──────┘ └──────┬──────┘ │ │ ▼ ▼ ┌─────────────────────────┐ │ CERRADA │ └─────────────────────────┘ ``` --- ## Algoritmo de Sugerencias ``` ┌─────────────────────────────────────────────────────────┐ │ CÁLCULO DE SUGERENCIA DE COMPRA │ ├─────────────────────────────────────────────────────────┤ │ │ │ PARA CADA PRODUCTO: │ │ │ │ stock_actual = consultar_stock(producto, sucursal) │ │ stock_minimo = producto.stock_minimo │ │ stock_maximo = producto.stock_maximo │ │ ventas_diarias = promedio_ventas(producto, 30_dias) │ │ lead_time = proveedor.lead_time_dias │ │ │ │ punto_reorden = stock_minimo + (ventas_diarias * lead_time) │ │ │ SI stock_actual <= punto_reorden: │ │ cantidad_sugerida = stock_maximo - stock_actual │ │ CREAR_SUGERENCIA(producto, cantidad_sugerida) │ │ │ └─────────────────────────────────────────────────────────┘ ``` --- ## Criterios de Aceptacion de la Epica **Funcionales:** - [ ] Sugerencias automáticas de compra - [ ] Crear OC desde sugerencias - [ ] Agregar productos manualmente - [ ] Enviar OC por email - [ ] Recibir mercancía con validación - [ ] Registrar diferencias - [ ] Catálogo de proveedores - [ ] Métricas de cumplimiento **No Funcionales:** - [ ] Cálculo de sugerencias < 30 segundos (todos los productos) - [ ] Historial de 2 años de OC - [ ] Soporte para 50+ proveedores **Tecnicos:** - [ ] Integración con módulo Inventario - [ ] Envío de emails con PDF adjunto - [ ] Job programado para sugerencias --- ## Dependencias **Esta epica depende de:** | Epica/Modulo | Estado | Bloqueante | |--------------|--------|------------| | EPIC-RT-001 Fundamentos | Backlog | Si | | EPIC-RT-003 Inventario | Backlog | Si | **Esta epica bloquea:** | Epica/Modulo | Razon | |--------------|-------| | EPIC-RT-003 Inventario | Recepciones actualizan stock | --- ## Desglose Tecnico **Database:** - [ ] Schema: `purchases` - [ ] Tablas: 7 (purchase_orders, po_items, suppliers, supplier_products, receipts, receipt_items, suggestions) - [ ] Funciones: 3 (calculate_suggestions, validate_receipt, evaluate_supplier) - [ ] Indices: Por proveedor, fecha, estado **Backend:** - [ ] Modulo: `purchases` - [ ] Entities: 6 (PurchaseOrder, POItem, Supplier, SupplierProduct, Receipt, Suggestion) - [ ] Endpoints: 15 - [ ] Tests: 30 **Frontend:** - [ ] Paginas: 5 (Suggestions, PurchaseOrders, PODetail, Suppliers, Receipts) - [ ] Componentes: 12 (SuggestionCard, POForm, SupplierSelector, ReceiptValidator, etc.) - [ ] Stores: 1 (purchasesStore) --- ## Endpoints API | Metodo | Endpoint | Descripcion | |--------|----------|-------------| | GET | /api/purchases/suggestions | Ver sugerencias de compra | | POST | /api/purchases/orders | Crear orden de compra | | GET | /api/purchases/orders/:id | Detalle de OC | | PATCH | /api/purchases/orders/:id | Actualizar OC | | POST | /api/purchases/orders/:id/send | Enviar a proveedor | | POST | /api/purchases/receipts | Registrar recepción | | GET | /api/purchases/suppliers | Listar proveedores | | POST | /api/purchases/suppliers | Crear proveedor | | GET | /api/purchases/suppliers/:id/metrics | Métricas de proveedor | | POST | /api/purchases/calculate-suggestions | Recalcular sugerencias | --- ## Riesgos | Riesgo | Probabilidad | Impacto | Mitigacion | |--------|--------------|---------|------------| | Sugerencias incorrectas | Media | Alto | Validación manual antes de OC | | Proveedor no cumple | Media | Alto | Proveedores alternativos | | Recepciones incompletas | Media | Medio | Flujo de diferencias | --- ## Definition of Ready (DoR) - [x] Historias de usuario definidas - [x] Criterios de aceptacion claros - [x] Dependencias identificadas - [x] Estimacion completada - [ ] Catálogo inicial de proveedores - [ ] Lead times definidos ## Definition of Done (DoD) - [ ] Sugerencias de compra funcionando - [ ] Flujo completo de OC operativo - [ ] Recepción con validación - [ ] Métricas de proveedores - [ ] 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