Volver al blog
Automatizaciónreportesventasn8n

Cómo generar reportes de ventas automáticos cada lunes sin tocar Excel

Automatiza tus reportes semanales de ventas con n8n, tu CRM y OpenAI. Recibe cada lunes un resumen claro con KPIs, comparación semana anterior y alertas, directo en email o WhatsApp.

Publicado el 16 de febrero de 2026·8 min de lectura

Todos los lunes alguien de tu equipo pasa entre una y tres horas haciendo lo mismo: abre el CRM, exporta los datos de la semana, los pega en Excel, calcula los totales, hace el gráfico y arma el email o la presentación para la reunión de las 10am.

Es trabajo necesario. Pero no es trabajo que requiera un humano — requiere un sistema.

En este artículo te explico cómo construir ese sistema: un workflow en n8n que cada lunes a las 7am extrae automáticamente los datos de la semana anterior, los procesa, genera un resumen en lenguaje natural y lo envía directo a los destinatarios correctos.

Sin Excel. Sin esfuerzo manual. Sin que nadie tenga que recordar hacerlo.


Por qué los reportes manuales son un problema

El problema no es solo el tiempo que consumen. Es lo que pasa cuando dependen de una persona:

Un sistema automático resuelve todos estos problemas de raíz: llega siempre, puntual, con el mismo formato y con análisis consistente.


El sistema que vas a construir

Al finalizar este tutorial tendrás un workflow que:

  1. Se activa automáticamente todos los lunes a las 7am
  2. Extrae datos de ventas de la semana anterior desde tu CRM o fuente de datos
  3. Calcula los KPIs principales y los compara con la semana anterior
  4. Genera un resumen ejecutivo en lenguaje natural con OpenAI
  5. Envía el reporte por email y/o WhatsApp a los destinatarios definidos

El reporte llega antes de que empiece la reunión semanal. El equipo tiene los números frescos sin que nadie haya tenido que trabajar para obtenerlos.


Paso 1: Define qué datos necesitas

Antes de tocar n8n, define los KPIs que quieres en el reporte. Tener claridad aquí evita construir algo que nadie lee.

KPIs más útiles para la mayoría de los negocios:

Empieza con los primeros cinco. Agregar más es fácil una vez que el sistema está funcionando.


Paso 2: Conecta tu fuente de datos

La fuente de datos depende de cómo gestionas tus ventas actualmente.

Si usas HubSpot:

n8n tiene integración nativa con HubSpot. El nodo "HubSpot" puede buscar deals cerrados en un rango de fechas específico. La query para la semana anterior:

Filtro: fechaCierre >= [lunes semana anterior] AND fechaCierre <= [domingo semana anterior]
AND etapa = "closedwon"

Si usas un Google Sheet como registro de ventas:

Usa el nodo "Google Sheets" para leer las filas donde la fecha de venta cae en la semana anterior. n8n puede filtrar directamente usando expresiones de fecha.

Si usas Shopify:

El nodo "Shopify" de n8n permite consultar órdenes por rango de fechas. Usa el endpoint de órdenes con los parámetros created_at_min y created_at_max.

Si usas otro CRM o sistema:

La mayoría de los CRMs modernos tienen API REST. En n8n, el nodo "HTTP Request" puede consultar cualquier API que entregue datos en JSON. Si tu CRM tiene API, puede conectarse a n8n.


Paso 3: Calcula los KPIs en n8n

Con los datos crudos en n8n, usa el nodo "Code" (JavaScript) para hacer los cálculos:

// Datos de la semana actual
const ventasSemanaActual = items[0].json.ventas;
const ticketsSemanaActual = items[0].json.tickets;

// Calcular KPIs
const totalVentas = ventasSemanaActual.reduce((sum, v) => sum + v.monto, 0);
const numTransacciones = ventasSemanaActual.length;
const ticketPromedio = totalVentas / numTransacciones;

// Datos de la semana anterior (del segundo item)
const totalSemanaAnterior = items[1].json.totalVentas;
const variacionSemana = ((totalVentas - totalSemanaAnterior) / totalSemanaAnterior * 100).toFixed(1);

// Top productos
const productosCounts = {};
ventasSemanaActual.forEach(v => {
  productosCounts[v.producto] = (productosCounts[v.producto] || 0) + v.monto;
});
const topProductos = Object.entries(productosCounts)
  .sort(([,a], [,b]) => b - a)
  .slice(0, 3);

return [{
  json: {
    totalVentas,
    numTransacciones,
    ticketPromedio: ticketPromedio.toFixed(0),
    variacionSemana: `${variacionSemana > 0 ? '+' : ''}${variacionSemana}%`,
    topProductos
  }
}];

Paso 4: Genera el resumen con OpenAI

Los números son útiles. Un análisis en lenguaje natural que los contextualiza es más útil todavía.

Configura el nodo "OpenAI" con este prompt:

Eres un analista de negocio. Con base en los siguientes KPIs de ventas, genera un resumen ejecutivo de máximo 150 palabras.

Datos de la semana:
- Ventas totales: ${{totalVentas}}
- Número de transacciones: {{numTransacciones}}
- Ticket promedio: ${{ticketPromedio}}
- Variación vs semana anterior: {{variacionSemana}}
- Top 3 productos: {{topProductos}}

El resumen debe:
1. Empezar con la cifra más relevante (si fue buena o mala semana)
2. Destacar el cambio más significativo vs la semana anterior
3. Mencionar el producto estrella de la semana
4. Si hay una variación negativa > 15%, agregar una nota de atención
5. Terminar con una frase orientada a la acción para la semana que comienza

Tono: directo, ejecutivo, sin adornos.

Resultado típico:

Semana del 5 al 11 de mayo — Resumen de ventas

Ventas de $47.850, un +12% sobre la semana anterior. El número de transacciones (134) fue el más alto del mes, impulsado principalmente por el lanzamiento de la colección de invierno que representó el 35% de las ventas de la semana.

El ticket promedio subió a $357, señal de que los clientes están comprando artículos de mayor valor. El producto estrella fue la chaqueta impermeable modelo X3 con 28 unidades vendidas.

Para esta semana: Mantener el impulso del lanzamiento con una campaña de recordatorio para quienes visitaron el sitio pero no compraron.


Paso 5: Envía el reporte

Por email (Gmail):

Usa el nodo "Gmail" para armar el email con el resumen y los KPIs formateados. Puedes agregar una tabla HTML simple con los números principales antes del resumen de texto.

Por WhatsApp:

Si el equipo directivo prefiere recibir el reporte por WhatsApp, usa el nodo "WhatsApp Business" para enviar el mensaje formateado. WhatsApp admite texto en negrita usando asteriscos, lo que permite dar jerarquía al contenido.

Destinatarios dinámicos:

Si necesitas enviar el mismo reporte a múltiples personas, configura una lista de destinatarios en Google Sheets. n8n lee la lista y envía a todos automáticamente. Para agregar o quitar destinatarios, solo editas la hoja — no hay que tocar el workflow.


Alertas automáticas para números fuera de rango

Agrega una capa de inteligencia al sistema: alertas cuando algo merece atención urgente.

Configura un nodo "IF" en n8n que verifique:

Las alertas llegan por un canal separado (Slack, Telegram o WhatsApp) con el contexto del problema para que el equipo pueda actuar ese mismo día.


Variantes del sistema

Reporte diario (en lugar de semanal):

Cambia el Schedule Trigger de "lunes a las 7am" a "todos los días a las 7am" y ajusta el rango de fechas al día anterior. Útil para negocios de e-commerce o restaurantes con alto volumen diario.

Reporte por canal de ventas:

Si vendes por múltiples canales (tienda física, e-commerce, marketplace, WhatsApp), el sistema puede generar un reporte consolidado con desglose por canal.

Dashboard en vivo (en lugar de reporte periódico):

Para negocios que necesitan datos en tiempo real, n8n puede alimentar un dashboard en Google Looker Studio o Notion que se actualiza automáticamente cada hora.


El tiempo que recuperas

Para una empresa con 5 personas en el equipo donde alguien dedica 2 horas cada semana a generar reportes:

Y eso sin contar el valor de tener los datos siempre disponibles, puntuales y sin errores.


¿Quieres que lo configure para tu empresa?

El sistema que describí en este artículo lo implemento con mis clientes en una semana. El proceso incluye conectar tu fuente de datos específica, definir los KPIs que más importan a tu negocio y configurar los destinatarios y canales de entrega.

El resultado: tus reportes llegan solos, sin que nadie tenga que recordar hacerlos.

Quiero mis reportes automáticos →

¿Tienes este problema en tu negocio?

En 30 minutos te digo exactamente qué automatizar primero y cuánto tiempo puedes recuperar.

Solicitar diagnóstico gratuito