Sistema NEXUS v3.4 migrado con: Estructura principal: - core/orchestration: Sistema SIMCO + CAPVED (27 directivas, 28 perfiles) - core/catalog: Catalogo de funcionalidades reutilizables - shared/knowledge-base: Base de conocimiento compartida - devtools/scripts: Herramientas de desarrollo - control-plane/registries: Control de servicios y CI/CD - orchestration/: Configuracion de orquestacion de agentes Proyectos incluidos (11): - gamilit (submodule -> GitHub) - trading-platform (OrbiquanTIA) - erp-suite con 5 verticales: - erp-core, construccion, vidrio-templado - mecanicas-diesel, retail, clinicas - betting-analytics - inmobiliaria-analytics - platform_marketing_content - pos-micro, erp-basico Configuracion: - .gitignore completo para Node.js/Python/Docker - gamilit como submodule (git@github.com:rckrdmrd/gamilit-workspace.git) - Sistema de puertos estandarizado (3005-3199) Generated with NEXUS v3.4 Migration System EPIC-010: Configuracion Git y Repositorios
229 lines
7.9 KiB
Markdown
229 lines
7.9 KiB
Markdown
# 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
|