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