199 lines
6.3 KiB
Markdown
199 lines
6.3 KiB
Markdown
# EPICA: EPIC-VT-002 - Cotizaciones
|
||
|
||
## Metadata
|
||
|
||
| Campo | Valor |
|
||
|-------|-------|
|
||
| **ID** | EPIC-VT-002 |
|
||
| **Nombre** | Cotizaciones |
|
||
| **Modulo** | cotizaciones |
|
||
| **Fase** | Fase 1 - MVP |
|
||
| **Prioridad** | P0 (Critico) |
|
||
| **Estado** | Backlog |
|
||
| **Story Points** | 34 |
|
||
| **Sprint(s)** | Sprint 2-3 |
|
||
|
||
---
|
||
|
||
## Descripcion
|
||
|
||
Sistema de cotizaciones especializado para productos de vidrio. Permite calcular precios por dimensiones (alto x ancho x espesor), tipo de vidrio, acabados y procesamientos adicionales. Genera PDFs profesionales y permite conversión directa a órdenes de producción.
|
||
|
||
---
|
||
|
||
## Objetivo de Negocio
|
||
|
||
- Reducir tiempo de cotización de 30 min a 5 min
|
||
- Eliminar errores de cálculo manual de áreas
|
||
- Estandarizar precios por tipo de vidrio y espesor
|
||
- Mejorar presentación profesional con PDFs
|
||
- Agilizar conversión de cotización a producción
|
||
|
||
---
|
||
|
||
## Historias de Usuario
|
||
|
||
| ID | Historia | Prioridad | SP | Estado |
|
||
|----|----------|-----------|-----|--------|
|
||
| US-VT002-001 | Como vendedor, quiero crear cotización ingresando dimensiones de piezas para calcular automáticamente el área en m² | P0 | 5 | Backlog |
|
||
| US-VT002-002 | Como vendedor, quiero seleccionar tipo de vidrio y espesor de un catálogo para aplicar precio correcto | P0 | 3 | Backlog |
|
||
| US-VT002-003 | Como vendedor, quiero agregar acabados (sandblast, grabado, bisel) para calcular costo adicional | P0 | 5 | Backlog |
|
||
| US-VT002-004 | Como vendedor, quiero ver resumen de cotización con desglose de costos para revisar antes de enviar | P0 | 3 | Backlog |
|
||
| US-VT002-005 | Como vendedor, quiero generar PDF de cotización con logo y datos fiscales para enviar al cliente | P0 | 5 | Backlog |
|
||
| US-VT002-006 | Como vendedor, quiero enviar cotización por email al cliente para agilizar proceso | P1 | 3 | Backlog |
|
||
| US-VT002-007 | Como jefe de ventas, quiero convertir cotización aprobada a orden de producción para iniciar fabricación | P0 | 5 | Backlog |
|
||
| US-VT002-008 | Como admin, quiero configurar precios por tipo de vidrio y espesor para mantener lista actualizada | P0 | 3 | Backlog |
|
||
| US-VT002-009 | Como admin, quiero definir márgenes de utilidad por cliente para aplicar descuentos automáticos | P2 | 2 | Backlog |
|
||
|
||
**Total Story Points:** 34 SP
|
||
|
||
---
|
||
|
||
## Flujo de Cotización
|
||
|
||
```
|
||
┌─────────────┐
|
||
│ BORRADOR │ ← Se inicia cotización
|
||
└──────┬──────┘
|
||
│
|
||
▼
|
||
┌─────────────┐
|
||
│ CALCULADA │ ← Áreas y precios calculados
|
||
└──────┬──────┘
|
||
│
|
||
▼
|
||
┌─────────────┐
|
||
│ ENVIADA │ ← Enviada a cliente
|
||
└──────┬──────┘
|
||
│
|
||
├──────────────┐
|
||
▼ ▼
|
||
┌─────────────┐ ┌─────────────┐
|
||
│ APROBADA │ │ RECHAZADA │
|
||
└──────┬──────┘ └─────────────┘
|
||
│
|
||
▼
|
||
┌─────────────┐
|
||
│ CONVERTIDA │ ← Se genera orden de producción
|
||
└─────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## Criterios de Aceptacion de la Epica
|
||
|
||
**Funcionales:**
|
||
- [ ] Crear cotización con cliente y datos de contacto
|
||
- [ ] Agregar líneas con dimensiones (alto × ancho × espesor)
|
||
- [ ] Calcular automáticamente área en m² y precio
|
||
- [ ] Seleccionar tipo de vidrio de catálogo
|
||
- [ ] Agregar acabados con precio adicional
|
||
- [ ] Generar PDF profesional
|
||
- [ ] Enviar por email
|
||
- [ ] Convertir a orden de producción
|
||
|
||
**No Funcionales:**
|
||
- [ ] Cálculo de precio < 100ms
|
||
- [ ] Generación PDF < 3 segundos
|
||
- [ ] Soporte para cotizaciones de 50+ líneas
|
||
|
||
**Tecnicos:**
|
||
- [ ] Integración con catálogo de vidrios
|
||
- [ ] Integración con módulo de producción
|
||
- [ ] Templates PDF configurables
|
||
|
||
---
|
||
|
||
## Dependencias
|
||
|
||
**Esta epica depende de:**
|
||
| Epica/Modulo | Estado | Bloqueante |
|
||
|--------------|--------|------------|
|
||
| EPIC-VT-001 Fundamentos | Backlog | Si |
|
||
|
||
**Esta epica bloquea:**
|
||
| Epica/Modulo | Razon |
|
||
|--------------|-------|
|
||
| EPIC-VT-003 Produccion | Requiere cotizaciones aprobadas |
|
||
|
||
---
|
||
|
||
## Desglose Tecnico
|
||
|
||
**Database:**
|
||
- [ ] Schema: `quotes`
|
||
- [ ] Tablas: 5 (quotes, quote_lines, glass_types, finishes, prices)
|
||
- [ ] Funciones: 2 (calculate_area, calculate_total)
|
||
- [ ] Indices: Por cliente, fecha, estado
|
||
|
||
**Backend:**
|
||
- [ ] Modulo: `quotations`
|
||
- [ ] Entities: 4 (Quote, QuoteLine, GlassType, Finish)
|
||
- [ ] Endpoints: 12
|
||
- [ ] Tests: 25
|
||
|
||
**Frontend:**
|
||
- [ ] Paginas: 4 (QuotesList, QuoteCreate, QuoteDetail, QuotePDF)
|
||
- [ ] Componentes: 10 (QuoteForm, LineEditor, PriceCalculator, etc.)
|
||
- [ ] Stores: 1 (quotesStore)
|
||
|
||
---
|
||
|
||
## Endpoints API
|
||
|
||
| Metodo | Endpoint | Descripcion |
|
||
|--------|----------|-------------|
|
||
| POST | /api/quotes | Crear cotización |
|
||
| GET | /api/quotes | Listar cotizaciones (paginado) |
|
||
| GET | /api/quotes/:id | Detalle de cotización |
|
||
| PATCH | /api/quotes/:id | Actualizar cotización |
|
||
| POST | /api/quotes/:id/lines | Agregar línea |
|
||
| DELETE | /api/quotes/:id/lines/:lineId | Eliminar línea |
|
||
| POST | /api/quotes/:id/calculate | Recalcular totales |
|
||
| POST | /api/quotes/:id/send | Enviar por email |
|
||
| POST | /api/quotes/:id/convert | Convertir a orden |
|
||
| GET | /api/quotes/:id/pdf | Generar PDF |
|
||
|
||
---
|
||
|
||
## Riesgos
|
||
|
||
| Riesgo | Probabilidad | Impacto | Mitigacion |
|
||
|--------|--------------|---------|------------|
|
||
| Cálculos complejos de acabados | Media | Alto | Catálogo bien definido |
|
||
| Precios desactualizados | Media | Medio | Validación al enviar |
|
||
| PDFs no profesionales | Baja | Medio | Templates revisados |
|
||
|
||
---
|
||
|
||
## Definition of Ready (DoR)
|
||
|
||
- [x] Historias de usuario definidas
|
||
- [x] Criterios de aceptacion claros
|
||
- [x] Dependencias identificadas
|
||
- [x] Estimacion completada
|
||
- [ ] Catálogo de vidrios definido
|
||
- [ ] Template PDF aprobado
|
||
|
||
## Definition of Done (DoD)
|
||
|
||
- [ ] Flujo completo de cotización funcionando
|
||
- [ ] Generación de PDFs correcta
|
||
- [ ] Conversión a orden de producción
|
||
- [ ] 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
|