Tendencia mensual de ventas
Ventas netas facturadas por mes en los últimos 12 meses.
Herramienta
SELECT YEAR(T0.DocDate) AS SalesYear, MONTH(T0.DocDate) AS SalesMonth, COUNT(T0.DocEntry) AS Invoices, SUM(T0.DocTotal - T0.VatSum) AS NetSales FROM OINV T0 WHERE T0.CANCELED = 'N' AND T0.DocDate >= DATEADD(month, -12, GETDATE()) GROUP BY YEAR(T0.DocDate), MONTH(T0.DocDate) ORDER BY SalesYear, SalesMonth
SELECT YEAR(T0."DocDate") AS "SalesYear", MONTH(T0."DocDate") AS "SalesMonth", COUNT(T0."DocEntry") AS "Invoices", SUM(T0."DocTotal" - T0."VatSum") AS "NetSales" FROM OINV T0 WHERE T0."CANCELED" = 'N' AND T0."DocDate" >= ADD_MONTHS(CURRENT_TIMESTAMP, -12) GROUP BY YEAR(T0."DocDate"), MONTH(T0."DocDate") ORDER BY "SalesYear", "SalesMonth"
Qué responde esta consulta
El dueño quiere una vista simple de 12 meses de ventas facturadas para el informe al directorio o un indicador del dashboard: ¿los ingresos crecen, se mantienen o son estacionales? Una fila por mes basta para pasarla directo a un gráfico de líneas en Excel.
Ejemplo de resultado
Valores de demostración ilustrativos. Sus columnas son las mismas; los números vienen de su empresa.
| SalesYear | SalesMonth | Invoices | NetSales |
|---|---|---|---|
| 2026 | 7 | 212 | 184300 |
| 2026 | 8 | 198 | 171950 |
| 2026 | 9 | 236 | 205480 |
| 2026 | 10 | 171 | 149200 |
SQL Server vs SAP HANA
DATEADD(month, -12, GETDATE()) se convierte en ADD_MONTHS(CURRENT_TIMESTAMP, -12). YEAR() y MONTH() existen en HANA con el mismo significado, así que el GROUP BY no cambia salvo por las comillas.
Errores comunes y soluciones
- El primer mes parece demasiado bajo: El período empieza en el número de día de hoy de hace 12 meses, así que el mes más antiguo solo se incluye en parte. Empiece desde el primer día de ese mes (por ejemplo con DATEFROMPARTS en SQL Server) si necesita 12 meses completos.
- Faltan los meses sin ventas: GROUP BY solo devuelve los meses que tienen facturas. Haga un join con un calendario o una lista de meses si su gráfico necesita un cero para los meses vacíos.
- Las cifras no coinciden con el reporte de Análisis de ventas: Esta consulta lee solo facturas de clientes. Reste por mes las notas de crédito de ORIN para obtener las ventas netas después de devoluciones.
- Los totales no cuadran con el reporte de Análisis de ventas (descuento de cabecera): Esta consulta lee DocTotal - VatSum de la cabecera del documento, que ya incluye el descuento de cabecera (OINV.DiscPrcnt) y además el flete. Si la cambia para sumar INV1.LineTotal, por ejemplo para ingresos por artículo, el descuento de cabecera no está dentro de LineTotal y la suma de líneas sobrestima las ventas. Use SUM(T1.LineTotal * (1 - T0.DiscPrcnt / 100.0)) (HANA: SUM(T1."LineTotal" * (1 - T0."DiscPrcnt" / 100.0))) y reste las notas de crédito de clientes (ORIN/RIN1) con el mismo factor. Vea Totales de ventas que no cuadran en SAP B1: solución del descuento de cabecera.
Consultas relacionadas
Referencia de tablas: Tabla OINV (Factura de clientes (cabecera))
Tres pasos, sin registro
Copie la versión correcta
Use la pestaña SQL Server para bases de datos MS SQL y la pestaña HANA para SAP B1 sobre HANA.
Abra el generador de consultas
En SAP Business One vaya a Herramientas → Consultas → Generador de consultas (Tools → Queries → Query Generator), pegue la consulta y haga clic en Ejecutar.
Guarde y comparta
Haga clic en Grabar, elija una categoría y asigne un nombre a la consulta. Su equipo podrá ejecutarla desde el gestor de consultas (Query Manager).
Preguntas sobre esta herramienta
¿Cómo ejecuto la consulta «Tendencia mensual de ventas» en SAP Business One?
Copie la versión que corresponde a su base de datos, abra Herramientas → Consultas → Generador de consultas, péguela en el cuadro SQL y haga clic en Ejecutar. Grábela para reutilizarla después.
¿Qué tablas usa esta consulta?
Lee OINV del esquema estándar de SAP Business One. No necesita campos definidos por el usuario.
¿Se puede convertir en un dashboard o una alerta?
Sí. Convertimos consultas en reportes de Crystal Reports, reportes de Excel que se actualizan solos, alertas de SAP B1 o mensajes de WhatsApp para gerentes.
Hechas para equipos de SAP Business One
¿Lo necesita dentro de SAP Business One?
Desarrollamos add-ons, reportes e integraciones para SAP B1 en SQL Server y HANA. Cuéntenos qué necesita y reciba un precio fijo, normalmente en 24 horas.
