Dashboard General
{{ periodoNombre }}
| Vendedor | Ventas | Clientes |
|---|---|---|
| {{ v.nombre }} | {{ formatCurrency(v.ventas) }} | {{ v.clientes }} |
| Cliente | Ventas | Vendedor |
|---|---|---|
| {{ truncate(c.nombre, 25) }} | {{ formatCurrency(c.ventas) }} | {{ truncate(c.vendedor, 15) }} |
Vendedores
{{ periodoNombre }}
| Vendedor | Ventas | Clientes | Operaciones | |
|---|---|---|---|---|
| {{ v.nombre }} Cód: {{ v.codigo }} |
{{ formatCurrency(v.ventas) }} | {{ v.clientes }} | {{ v.operaciones }} | Cartera Artículos |
Top Clientes
{{ periodoNombre }}
| Cliente | Vendedor | Ventas |
|---|---|---|
| {{ truncate(c.nombre, 35) }} {{ c.codigo }} |
{{ truncate(c.vendedor, 20) }} | {{ formatCurrency(c.ventas) }} |
📦 Top Artículos
{{ periodoNombre }}
| Artículo | Ventas $ | Unidades | Clientes |
|---|---|---|---|
| {{ truncate(a.descripcion, 35) }} {{ a.codigo }} |
{{ formatCurrency(a.ventas) }} | {{ formatNumber(a.unidades) }} | {{ a.clientes }} |
🏢 {{ clienteDetalle.cliente?.razon_social }}
Artículos comprados - {{ getNombreMes(rangoDesde) }} a {{ getNombreMes(rangoHasta) }}
| Artículo | {{ getNombreMesCorto(p) }} | Total |
|---|---|---|
| {{ truncate(a.descripcion, 28) }} {{ a.codigo }} |
{{ a['m' + p + '_ventas'] > 0 ? formatCurrency(a['m' + p + '_ventas']) : '-' }} | {{ formatCurrency(a.total_ventas) }} |
📦 Artículos de {{ vendedorArticulos.vendedor?.nombre }}
{{ getNombreMes(rangoDesde) }} a {{ getNombreMes(rangoHasta) }}
| Artículo | {{ getNombreMesCorto(p) }} | Total | Clientes |
|---|---|---|---|
| {{ truncate(a.descripcion, 28) }} {{ a.codigo }} |
{{ a['m' + p + '_ventas'] > 0 ? formatCurrency(a['m' + p + '_ventas']) : '-' }} | {{ formatCurrency(a.total_ventas) }} | {{ a.clientes }} |
💡 Oportunidades para {{ articulosSugeridos.vendedor?.nombre }}
Artículos populares que tus clientes podrían comprar - {{ getNombreMes(rangoDesde) }} a {{ getNombreMes(rangoHasta) }}
| Artículo | Tus Clientes Compran |
Oportunidad No Compran |
Penetración | Vendedores Mercado |
Clientes Mercado |
Ventas Mercado |
|---|---|---|---|---|---|---|
| {{ truncate(a.descripcion, 28) }} {{ a.codigo }} |
{{ a.mis_clientes_compran }} | {{ a.mis_clientes_no_compran }} | {{ a.penetracion }}% | {{ a.vendedores_venden }} | {{ a.clientes_mercado }} | {{ formatCurrency(a.ventas_mercado) }} |
💡 Cómo leer esta tabla:
• Tus Clientes Compran: De tus {{ articulosSugeridos.total_mis_clientes }} clientes, cuántos ya compran este artículo
• Oportunidad (No Compran): Clientes tuyos que NO compran este artículo - ¡potenciales!
• Penetración: % de tus clientes que compran (rojo=baja, amarillo=media, verde=alta)
• Vendedores/Clientes Mercado: Cuántos venden y compran este artículo en total
• Filas resaltadas: Artículos que NINGUNO de tus clientes compra
📊 Evolutivo Vendedores
{{ getNombreMes(rangoDesde) }} - {{ getNombreMes(rangoHasta) }} 2025
| Vendedor | {{ getNombreMesCorto(p) }} $ | Total | Promedio |
|---|---|---|---|
| {{ v.nombre }} | {{ formatCurrency(v['m' + p + '_ventas']) }} | {{ formatCurrency(v.total_ventas) }} | {{ formatCurrency(v.total_ventas / getCantidadMeses()) }} |
📦 Evolutivo Artículos
{{ getNombreMes(rangoDesde) }} - {{ getNombreMes(rangoHasta) }} 2025
| Artículo | {{ getNombreMesCorto(p) }} | Total | Promedio | Clientes |
|---|---|---|---|---|
| {{ truncate(a.descripcion, 28) }} {{ a.codigo }} |
{{ a['m' + p + '_ventas'] > 0 ? formatCurrency(a['m' + p + '_ventas']) : '-' }} | {{ formatCurrency(a.total_ventas) }} | {{ formatCurrency(a.total_ventas / getCantidadMeses()) }} | {{ a.total_clientes }} |
💰 Resumen de Cobranzas
{{ getNombreMes(rangoDesde) }} - {{ getNombreMes(rangoHasta) }} 2025
| Vendedor | {{ getNombreMesCorto(p) }} $ | Ventas | Cobros | Promedio | Índice |
|---|---|---|---|---|---|
| {{ v.vendedor }} | {{ formatCurrency(v['c' + p]) }} | {{ formatCurrency(v.total_ventas) }} | {{ formatCurrency(v.total_cobros) }} | {{ formatCurrency(v.total_cobros / getCantidadMeses()) }} | {{ v.indice }}% |
💰 Cobranzas de {{ cobranzasDetalle.vendedor?.nombre }}
Detalle por cliente - {{ getNombreMes(rangoDesde) }} a {{ getNombreMes(rangoHasta) }}
| Cliente | {{ getNombreMesCorto(p) }} | Total | Promedio |
|---|---|---|---|
|
{{ truncate(c.nombre, 30) }}
{{ c.codigo }}
|
{{ c['c' + p] > 0 ? formatCurrency(c['c' + p]) : '-' }} | {{ formatCurrency(c.total_cobros) }} | {{ formatCurrency(c.total_cobros / getCantidadMeses()) }} |
📊 Ventas vs Cobranzas
Comparativa por cliente - {{ getNombreMes(rangoDesde) }} a {{ getNombreMes(rangoHasta) }}
| Cliente | Vendedor | Ventas | Cobros | Diferencia | % |
|---|---|---|---|---|---|
| {{ truncate(c.razon_social, 28) }} {{ c.cod_cliente }} |
{{ truncate(c.vendedor, 15) }} | {{ formatCurrency(c.total_ventas) }} | {{ formatCurrency(c.total_cobros) }} | {{ formatCurrency(c.total_ventas - c.total_cobros) }} | {{ c.total_ventas > 0 ? Math.round(c.total_cobros / c.total_ventas * 100) : 0 }}% |
Seleccioná un vendedor para ver su cartera
🎯 Cartera de {{ cartera.vendedor.nombre }}
{{ getNombreMes(rangoDesde) }} - {{ getNombreMes(rangoHasta) }} 2025
| Cliente | Cartera | {{ getNombreMesCorto(p) }} | Total | Promedio |
|---|---|---|---|---|
| {{ truncate(c.nombre, 28) }} {{ c.codigo }} |
✓ SíOtro | {{ c['m' + p + '_ventas'] > 0 ? formatCurrency(c['m' + p + '_ventas']) : '-' }} | {{ formatCurrency(c.total_ventas) }} | {{ formatCurrency(c.total_ventas / getCantidadMeses()) }} |
📦 Análisis de Stock - Acciones Comerciales
Artículos con stock que necesitan atención - {{ getNombreMes(rangoDesde) }} a {{ getNombreMes(rangoHasta) }}
Sin ventas
1 mes venta
2 meses venta
Mucho stock
| Estado | Artículo | Stock | Ventas $ | Vendedores | Faltan | Clientes | Frecuencia | $/Vendedor | Acción |
|---|---|---|---|---|---|---|---|---|---|
| 🔴 🟠 🟡 📊 ✅ | {{ truncate(a.descripcion, 25) }} {{ a.codigo }} |
{{ formatNumber(a.stock) }} | {{ a.ventas_total > 0 ? formatCurrency(a.ventas_total) : '-' }} | {{ a.vendedores }} | {{ a.vendedores_faltan }} | {{ a.clientes }} | {{ a.meses_con_venta }}/{{ a.total_meses }} | {{ a.promedio_vendedor > 0 ? formatCurrency(a.promedio_vendedor) : '-' }} | {{ a.accion }} |
💡 Cómo usar esta información:
• Crítico: Artículos con stock pero SIN ventas → Liquidar o promoción agresiva
• Muy Baja/Baja: Poca frecuencia de venta → Asignar a más vendedores (ver columna "Faltan")
• Faltan: De {{ stockAnalisis.total_vendedores }} vendedores activos, cuántos NO venden este artículo
• $/Vendedor: Promedio de venta por vendedor → Si es alto, más vendedores deberían venderlo
🔄 Clientes a Recuperar
Clientes que dejaron de comprar (última compra hace 2+ meses)
| Urgencia | Cliente | Cartera | Últ. Vendedor | Ventas Prev. | Último Mes | Meses Sin |
|---|---|---|---|---|---|---|
| 🔴 CRÍTICA 🟠 ALTA 🟡 MEDIA | {{ truncate(c.cliente, 25) }} {{ c.cod_cliente }} |
✓- | {{ truncate(c.ultimo_vendedor, 15) }}- | {{ formatCurrency(c.ventas_total) }} | {{ getNombreMesCorto(c.ultimo_periodo) }} | {{ c.meses_sin_compra }} |
📋 Clientes de Cartera Sin Ventas en el Año
Clientes asignados que no registran compras
| Código | Cliente |
|---|---|
| {{ c.cod_cliente }} | {{ truncate(c.cliente, 40) }} |