Cotizaciones
Sistema completo de gestión de cotizaciones para clientes del mercado público y privado.
Descripción
Módulo para listar, filtrar y gestionar todas las cotizaciones creadas en el sistema. Permite hacer seguimiento del estado de cada cotización, desde su creación hasta su conversión en orden de compra.
Características Principales
📋 Listado de Cotizaciones
Tabla con las cotizaciones del período seleccionado. Columnas:
| Columna | Contenido |
|---|---|
| N° | Folio/ID de la cotización (ordenable). |
| Unidad | Nombre de la unidad + N° de OC asociada (ordenable). |
| Creada por | Ejecutivo que la creó + fecha de creación (ordenable). |
| Estado | Badge con el estado de la cotización. |
| Tipo | Badge: Compra Ágil o Convenio Marco. |
| Total Venta | Total de venta + cantidad de productos. |
| Total Costo | Costo total (calculado según el tipo de cotización). |
| Margen | Margen en monto (verde si ≥ 0, rojo si < 0) y porcentaje. |
Las columnas N°, Unidad y Creada por son ordenables (ascendente/descendente).
🔍 Búsqueda y Filtros
- Período — selector de mes (
YYYY-MM); carga las cotizaciones de ese mes. - Búsqueda — campo "Buscar por folio o unidad"; filtra en memoria por folio, nombre de la unidad y RUT de la unidad.
Casos de Uso
- Ejecutivo: Revisa sus cotizaciones activas y hace seguimiento
- Manager: Supervisa cotizaciones del equipo completo
- Admin: Gestiona y analiza todas las cotizaciones del sistema
Interfaz y Componentes
Vista de Lista
[Pendiente: Screenshot de la tabla de cotizaciones]
Acciones por Fila
Cada cotización ofrece un menú de acciones (⋮):
- Ver detalle — abre un modal con la tabla de productos (producto, cantidad, precio neto, costo, margen y total) y los totales de la cotización (neto, costo, margen, descuento si aplica, IVA y total).
- Editar — abre el formulario de Compra Ágil o de Convenio Marco según el tipo. Disponible solo si el usuario tiene rol Manager o es el dueño de la cotización.
- Descargar PDF — genera el PDF estándar de la cotización.
- Descargar con specs — genera el PDF incluyendo especificaciones técnicas de los productos.
- Eliminar — borra la cotización, con confirmación ("¿Eliminar cotización?" · "Esta acción no se puede deshacer.").
Integraciones
- Firebase Firestore - Almacenamiento de cotizaciones
- Cloud Functions - Generación de PDFs
- Email Service - Envío de cotizaciones por correo
- BigQuery - Catálogo de productos
Estados de Cotización
| Estado | Descripción | Acciones Disponibles |
|---|---|---|
| Borrador | En edición | Editar, Enviar, Eliminar |
| Enviada | Esperando respuesta | Ver, Reenviar |
| Aceptada | Cliente aceptó | Convertir en OC, Facturar |
| Rechazada | Cliente rechazó | Ver, Archivar |
| Vencida | Plazo expirado | Ver, Renovar, Archivar |
Configuración Requerida
Plantilla de Cotización
[Pendiente: Configuración de plantilla PDF]
Vigencia
[Pendiente: Configuración de días de vigencia]
Flujo de Trabajo
Crear Cotización → Enviar a Cliente → Cliente Acepta → Generar OC → Facturar
↓
Cliente Rechaza → Archivar
↓
Cotización Vence → Renovar/Archivar
Datos Técnicos
Modelo de Datos
interface Quotation {
id: string;
clientRut: string;
clientName: string;
createdAt: Date;
expiresAt: Date;
status: 'draft' | 'sent' | 'accepted' | 'rejected' | 'expired';
products: QuotationProduct[];
total: number;
executiveId: string;
type: 'compra-agil' | 'convenio-marco' | 'private';
}
[Pendiente: Modelo completo de datos]