Análisis de ventas por mes

Buenas Noches a la comunidad de sap , estoy intentando hacer un análisis de venta mensual de los artículos vendidos, pero observo que análisis de ventas del nativo no toma las facturas que se aplicó una nota de crédito , y el query que realice me muestra un análisis de ventas tomando en cuenta las NC y cuando comparó con el nativo no me muestra la misma cantidad vendida del mes estaria muy agradecido quien me brinde la ayuda…

Declare @fromdate as datetime
Declare @Todate as datetime
set @fromdate = ( select min(Ta.[docDate]) from inv1 ta where Ta.[docDate] >= [%0])
set @Todate = ( select max(Tb.[docDate]) from inv1 tb where Tb.[docDate] <= [%1])
SELECT  
T0."CardName", 
T0."DocDate", 
T0."DocNum", 
T0.[DocStatus] as Documento,
T0.[DocTotal] as Monto_FAct,
T3."ItemCode", 
T3."Dscription",
T3."NoInvtryMv", 
T3."Quantity" as Cantidad,
T3."PriceBefDi" as Precio_Venta_Unitario,
T3."StockPrice" as Costo_Unitario_Articulo,
T3."LineTotal" as Venta_Total,
T3."StockValue"as Costo_Venta_Total,
(T3."LineTotal" -
T3."StockValue") as Ganancia,
T0."DiscPrcnt",
T0."DiscSum", 
T0."Series"
FROM OINV T0  
INNER JOIN INV1 T3 ON T0."DocEntry" = T3."DocEntry" 
WHERE T0."DocDate" BETWEEN @fromdate AND @Todate AND   T0."CANCELED" ='N' AND T0."DocType"= 'I'

UNION ALL
--Notas Credito
SELECT 
T0."CardName", 
T0."DocDate", 
T0."DocNum", 
T0.[DocStatus] as Documento,
T0.[DocTotal] as Monto_FAct,
T3."ItemCode", 
T3."Dscription",
T3."NoInvtryMv", 
T3."Quantity" as Cantidad,
T3."PriceBefDi" as Precio_Venta_Unitario,
T3."StockPrice" as Costo_Unitario_Articulo,
T3."LineTotal" as Venta_Total,
T3."StockValue" as Costo_Venta_Total,
(T3."LineTotal" -
T3."StockValue") as Ganancia,
T0."DiscPrcnt",
T0."DiscSum", 
T0."Series"
FROM ORIN T0  
INNER JOIN RIN1 T3 ON T0."DocEntry" = T3."DocEntry" 
WHERE T0."DocDate" BETWEEN @fromdate AND @Todate AND T0."CANCELED" ='N' AND T0."DocType" ='I'
ORDER BY "DocDate", "DocNum"

es sap b1 verdad

Saludos?

Cuando tengas esta duda, hace clic sobre el autor del tema.
Y en el recuadro, te dice qué versión de SAP usa. :+1:

En este caso, evidentemente @Jorge_Hernand no ha leído cómo usar el foro.
Publicó en categoría incorrecta y no ha puesto el código de forma correcta :frowning:

NO entiendo, tu explicación si dice que el nativo no procesa las facturas con notas de credito y en tu query estas adicionando las NC es logico que no te van a coincidir las consultas.

o que no te coinciden.

saludos

1 me gusta

@lxrealmtz , Quiero realizar un reporte del análisis de ventas mensual donde me refleje la cantidad de artículos vendidos, importes de ventas, Ganancia Bruta,% de ganancia bruta . este query que yo realice no me funciona bien ya que me trae el dato de la NC y lo toma como un análisis de ventas incluyendo la factura que se realizó la NC, no se mi explico bien

ok ya tengo tu query, en el que veo Las facturas y las notas de credito, por lo que entiendo quieres quitar las notas de credito?

@lxrealmtz Correcto pero el análisis de ventas del nativo , en su análisis al parecer no toma en cuentas ni la factura que se Aplicó la NC , y tampoco la Nc , corrijanme si no es asi , tendran un análisis parecido al nativo

checa este de articulos, la verdad yo no lo uso ya que lo que nosotros facturamos son servicios.

DECLARE @cambio numeric(22,12 )
SET @cambio=(SELECT avg(T0.[Rate]) 
			 FROM ORTT T0 
			 WHERE T0.[Currency] ='MXP' 
				   and  T0.[RateDate] between [%0] and [%1])

SET @cambio = IIF(@cambio > 0, @cambio, 1) --VERIFICARMOS QUE LA TASA > 0

SELECT 
	T1.[ItemCode]
	,T2.[SWW]
	, T1.[Dscription]
	, AVG(T1.[Price]*@cambio)AS 'Precio Prome '
	, T2.[AvgPrice]as 'Costo'
	,(AVG(T1.[Price]*@cambio)-T2.[AvgPrice]) as'Ganancia'
	,((AVG(T1.[Price]*@cambio)-T2.[AvgPrice])/ AVG(T1.[Price]*@cambio))*100 as '%'
	,(SELECT 
		SUM(T4.[Quantity]) 
	  FROM 
		OINV T3 INNER JOIN INV1 T4 ON T3.DocEntry = T4.DocEntry 
	  WHERE 
		T3.[DocDate] between [%0] and [%1] 
		and T3.[InvntSttus] <> 'C'  
		and T4.[ItemCode] =T1.[ItemCode]) as 'Total item Vendidas' 
	,(T2.[AvgPrice]-(T2.[AvgPrice]*0.2)) as 'Costo -20%'
FROM 
	OINV T0  INNER JOIN INV1 T1 ON T0.DocEntry = T1.DocEntry 
	INNER JOIN OITM T2 ON T1.ItemCode = T2.ItemCode 
WHERE 
	T0.[DocDate] between [%0] and [%1] 
	--and T0.[DocStatus] not Like 'c%%' 
	-- and T0.[InvntSttus] not Like 'c%%' 
              and T1.[Price] > 0
	and  T1.[ItemCode] NOT Like 'PRODUC%%' 
GROUP BY 
	T1.[ItemCode]
	,T2.[SWW],T1.[Dscription]
	,T2.[AvgPrice] 
ORDER BY 
	T1.[ItemCode]

tengo este otro que es un Reporte de Ventas por Gerente.
espero alguno te ayude.

select T0.CardCode,T0.CardName,T0.DocNum,T3.PymntGroup,T0.DocDate,T4.SlpName,T6.descript 'zona',T7.GroupName 'Tipo Cliente',T8.ListName 'Lista De Precio',T0.DocTotal-T0.VatSum 'brutas'

,(select isnull(SUM(T1.DocTotal - t1.VatSum),0) from ORIN as T1 where T1.TransId = T2.TransId)as Total

from OINV  T0

left join OJDT as T2 on convert(varchar,T0.DocNum )= T2.Ref2

INNER JOIN OCTG   T3 ON T0.GroupNum = T3.GroupNum

INNER JOIN OSLP T4 ON T0.SlpCode = T4.SlpCode

INNER JOIN OCRD T5 ON T0.CardCode = T5.CardCode

  LEFT JOIN OTER T6 ON T5.Territory = T6.territryID

  INNER JOIN OCRG T7 ON T5.GroupCode = T7.GroupCode

  INNER JOIN OPLN T8 ON T5.ListNum = T8.ListNum

WHERE (T0.[DocDate] BETWEEN   [%0] and [%1])  AND T4.[SlpName] = [%2]

Buen día.

El reporte nativo si toma en cuenta las notas de crédito, pero siempre y cuando estén ligadas a las facturas, si las notas de cargo y crédito están sueltas no las veras reflejadas.

@jose_saul_san saludos , Entiendo que si las toma en cuentas , pero te doy un ejemplo sencillo A la hora de sacar un análisis de ventas de las cantidades vendidas de un artículos el mes de Junio , a parte de su importe de ventas y ganancias . el nativo me muestra ese análisis pero si en ese periodo del mes a una factura se le aplicó una nota de crédito parcial es decir que de ese articulo x se le aplicó la NC , el análisis no toma en cuenta ese articulo que se le aplico la NC ,pero el query que yo tengo si me lo toma como un análisis de esa factura , quien me podria ayudar con este análisis como en el nativo ya que desde ahí partiría y le colocaria mas campos

@lxrealmtz se que se trata este ?? Toma en consideración la tasa del dia?? o cual era el propósito del query

Utiliza el tipo de cambio pero como no manejo dolare solo es pesos mexicanos pues es 1

T0.[Currency] =‘MXP’ si usas Dolaes le pones USD

saludos

okey @lxrealmtz aqui la actualizacion de la tasa es en dólares aun sabiendo que estoy en chile y es peso

o bien sigue modificando el que tienes que se basa en tus facturas y notas de credito de ventas . como te digo yo no uso esos reporte de los analisis de ventas por que lo que damos son sevicios y nuestros servicos ya incluyen los materiales y como tal los facturamos.

Saludos

Que tal, yo creo que es por las fechas, debe de existir un campo que indique que tal factura fue copiada a nota de crédito, utilízalo para excluir dichas facturas, de esta manera obtendrás un análisis de ventas con los mismos registros.

Saludos.

Pon dentro del query un filtro (where)para que no te tome la NC, hay un campo que te dice que tipo de documento es, con este campo le puedes decir que lo ignore.

Saludos

Este tema se cerró automáticamente 30 días después de la última publicación. No se permiten nuevas respuestas.