Top 20 artículos más vendidos

Los artículos más vendidos por valor de venta, con la cantidad vendida, en un rango de fechas.

Tablas: OINV, INV1Uso: Planificación de compras y enfoque de producto.Parámetros: [%0] = fecha desde, [%1] = fecha hasta

Herramienta

SELECT TOP 20 T1.ItemCode, T1.Dscription AS ItemName,
  SUM(T1.Quantity) AS QtySold, SUM(T1.LineTotal * (1 - T0.DiscPrcnt / 100.0)) AS SalesValue
FROM OINV T0
INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry
WHERE T0.CANCELED = 'N' AND T0.DocDate BETWEEN '[%0]' AND '[%1]'
GROUP BY T1.ItemCode, T1.Dscription
ORDER BY SalesValue DESC
¿Necesita sus UDF en este reporte, o un dashboard? Lo adaptamos para su empresa.Personalizarla →

Qué responde esta consulta

El equipo de compras está planificando las compras del próximo trimestre y quiere saber qué 20 artículos generaron más ingresos en el último período, y cuántas unidades se necesitaron para ello. Responde qué productos merecen prioridad de stock y cuáles son solo ruido.

Ejemplo de resultado

Valores de demostración ilustrativos. Sus columnas son las mismas; los números vienen de su empresa.

ItemCodeItemNameQtySoldSalesValue
A00001Laser Printer 14204225200
A00005Toner Cartridge Black31013950
A00012Wireless Keyboard1857400
A00007Paper A4 Box5205720

SQL Server vs SAP HANA

SELECT TOP 20 se mantiene tal cual, porque SAP HANA también acepta TOP n (LIMIT 20 al final también funcionaría). Todo lo demás es el uso de comillas en los identificadores, incluido el alias "SalesValue" que se usa en ORDER BY.

Errores comunes y soluciones

  • Invalid column name 'Description': En SAP B1 la columna de descripción de la línea se escribe Dscription (sin la 'e'). Use T1.Dscription tanto en el SELECT como en el GROUP BY.
  • El mismo artículo aparece dos veces en el top 20: La consulta agrupa por la descripción de la línea, así que un artículo cuyo nombre se editó en algunas facturas se divide en dos filas. Agrupe solo por T1.ItemCode y haga un join con OITM para obtener el ItemName actual.
  • No se descuentan las devoluciones: Solo se leen las facturas de clientes (INV1). Agregue un UNION ALL de RIN1/ORIN con Quantity y LineTotal negativos si las devoluciones son importantes en su negocio.
  • Los totales no cuadran con el reporte de Análisis de ventas (descuento de cabecera): Un descuento ingresado en la cabecera del documento (OINV.DiscPrcnt) no está dentro de INV1.LineTotal, por eso un SUM(T1.LineTotal) simple sobrestima las ventas. La consulta de arriba lo aplica: SUM(T1.LineTotal * (1 - T0.DiscPrcnt / 100.0)) (HANA: SUM(T1."LineTotal" * (1 - T0."DiscPrcnt" / 100.0))). Las notas de crédito de clientes (ORIN/RIN1) deben restarse con el mismo factor, usando ORIN.DiscPrcnt. Vea Totales de ventas que no cuadran en SAP B1: solución del descuento de cabecera.
Ventas

Consultas relacionadas

Referencia de tablas: Tabla OINV (Factura de clientes (cabecera)) · Tabla INV1 (Factura de clientes (líneas))

Cómo funciona

Tres pasos, sin registro

1

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.

2

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.

3

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

Preguntas sobre esta herramienta

¿Cómo ejecuto la consulta «Top 20 artículos más vendidos» 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, INV1 del esquema estándar de SAP Business One. No necesita campos definidos por el usuario.

¿Qué debo ingresar cuando se abre la ventana de selección?

Esta consulta usa parámetros: [%0] = fecha desde, [%1] = fecha hasta. SAP B1 muestra una ventana de selección para cada uno al ejecutarla.

¿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.

¿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.