# 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