You are on page 1of 4

----------------------------- Top 10 Customers---------------------------

select Distinct Top 10 T0.CardName , T0.DocNum, Sum(T1.LineTotal)-isnull


(Sum((T2.LineTotal)),0) as 'Line Total'
from OINV T0 INNER Join INV1 T1 ON T0.DocEntry=T1.DocEntry
LEFT join RIN1 t2 on t1.DocEntry=t2.BaseEntry and t1.LineNum=t2.baseline and
t2.BaseType=18
Left join ORIN t3 on t2.DocEntry=t3.DocEntry
where T0.[DocDate] >= DATEDiff(day, 365 , GETDATE())
group by T0.CardName, T0.DocNum
order by Sum(T1.LineTotal)-isnull (Sum((T2.LineTotal)),0) DESC

-----------------------------Top 5 Sales Person by Qty-----------------------------


SELECT TOP 5 T3.SlpName 'Sales Employee', Sum(T1.Quantity) as 'Qty'
FROM OINV T0
INNER JOIN INV1 T1 ON T0.[DocEntry] = T1.[DocEntry]
--INNER JOIN OITM T2 ON T1.[ItemCode] = T2.[ItemCode]
INNER JOIN OSLP T3 ON T0.SlpCode = T3.SlpCode
where T0.[DocDate] >= DATEDiff(day,@days , GETDATE())
GROUP BY T3.SlpName
Order BY Sum(T1.Quantity) DESC

---------------------------------Top 5 Sales Employee by


Profit--------------------------------------------------

SELECT Distinct TOP 5 T3.SlpName, Sum(T1.GrssProfit) as 'Value'


FROM OINV T0 INNER JOIN INV1 T1 ON T0.[DocEntry] = T1.[DocEntry]
INNER JOIN OITM T2 ON T1.[ItemCode] = T2.[ItemCode]
INNER JOIN OSLP T3 ON T0.SlpCode = T3.SlpCode
where T0.[DocDate] >= DATEDiff(day, 365, GETDATE())
GROUP BY T3.SlpName Order BY Sum(T1.GrssProfit) DESC

------------------------------Top 5 Customer by
Profit--------------------------------------------------

SELECT TOP 5 T0.CardName, Sum(T1.GrssProfit) as 'Value'


FROM OINV T0 INNER JOIN INV1 T1 ON T0.[DocEntry] = T1.[DocEntry]
INNER JOIN OITM T2 ON T1.[ItemCode] = T2.[ItemCode]
where T0.[DocDate] >= DATEDiff(day, 365 , GETDATE())
GROUP BY T0.CardName
Order BY Sum(T1.GrssProfit) DESC

----------------------------------Top 5 Selling
Item(correct)---------------------------------------
SELECT TOP 5 T1.Dscription,SUM(T1.LineTotal) As 'Value' FROM OINV T0
INNER JOIN INV1 T1 ON T0.DocEntry=T1.DocEntry
INNER JOIN OITM T2 ON T1.ItemCode=T2.ItemCode
Where T0.DocDate>=DATEDIFF(day,365 , getdate())
Group by T1.Dscription
Order by sum(T1.LineTotal) Desc

-------------------------Top 5 Vendors Payable---------------------------

select Top 5 t1.CardName,(sum(debit))-(Sum(Credit)) as 'Due' from jdt1 t0


inner join ocrd t1 on t0.ContraAct=T1.CardCode
where CardType='S'
and T0.RefDate >= DATEDiff(day, 365 , GETDATE())
GROUP BY T1.CardName Order BY(sum(debit))-(Sum(Credit)) asc

----------------------------Top 5 Items By
Profit---------------------------------------

SELECT TOP 5 T1.Dscription,SUM(T1.GrssProfit) As 'Value'


FROM OINV T0 INNER JOIN INV1 T1 ON T0.DocEntry=T1.DocEntry
--INNER JOIN OITM T2 ON T1.ItemCode=T2.ItemCode
Where T0.DocDate>=DATEDIFF(day, 365 , GETDATE())
Group by T1.Dscription
Order by sum(T1.GrssProfit) Desc

---------------------------TOP 5 Customer SO
Booked------------------------------------

select Distinct TOP 5 t0.cardname, count(T0.DocNum) as 'DocNum'


from ORDR T0 INNER JOIN RDR1 T1 ON T0.DocEntry=T1.DocEntry
where T0.DocDate >=DATEDIFF(day,365, getdate())
Group By T0.CardName
ORDER BY count(T0.DocNum) DESC

------------------------------------Top 10 Stock
Hold-------------------------------------

SELECT TOP 10 T0.Dscription,(SUM(T0.InQty))-(Sum(T0.OutQty)) As 'Due'


FROM OINM T0
Where T0.DocDate>=DATEDIFF(day, @days , GETDATE())
Group by T0.Dscription
Order by (SUM(T0.InQty))-(Sum(T0.OutQty)) Desc

-------------------------------Top 5 Vendors-----------(OPDN should be


added)--------------------------
select Distinct TOP 5 T0.CardName as 'CardName',Sum(T1.[LineTotal])-
sum(T2.LineTotal) as 'Value'
from OPCH T0 INNER Join PCH1 T1 ON T0.DocEntry=T1.DocEntry
LEFT join RPC1 t2 on t1.DocEntry=t2.BaseEntry anD t1.LineNum=t2.baseline and
t2.BaseType=18
Left join orpC t3 on t2.DocEntry=t3.DocEntry
where T0.docDate >=DATEDIFF(day, 365 ,getdate())
Group by T0.CardName
order by Sum(T1.[LineTotal])-sum(T2.LineTotal) DESC

----------------------------Top 5 puchasing item--------------------------


select TOP 5 T1.Dscription as 'Dscription',Sum(T1.LineTotal) as 'LineTotal'
from OPCH T0 INNER JOIN PCH1 T1 ON T0.DocEntry=T1.DocEntry
--INNER JOIN OITM T2 ON T1.ItemCode=T2.ItemCode
where T0.DocDate>=DATEDIFF(day,365 ,getdate())
Group By T1.Dscription,T1.ItemCode
Order By Sum(T1.LineTotal) DESC
------------------------Top 5 vendor PO
Booked---------------------------------------
select Distinct Top 5 count(T0.DocNum) as 'DocNum',T0.CardName as 'CardName'
from OPOR T0 INNER JOIN POR1 T1 ON T0.DocEntry=T1.DocEntry
where T0.DocDate>=DATEDIFF(day,365,getdate())
Group by T0.CardName
Order By Sum(T1.LineTotal) DESC

--------------------------------sales Analysis
report------------------------------------
select Distinct Top 5 T2.SeriesName,isnull(Sum(T1.LineTotal),0)-
isnull(sum(T3.LineTotal),0) as 'LineTotal'
from OINV T0
inner Join INV1 T1 on T0.DocEntry=T1.DocEntry
inner join NNM1 T2 on T2.Series=T0.Series
left join RIN1 T3 on T3.BaseEntry=T1.DocEntry and T3.BaseLine=T1.LineNum and
T3.BaseType=13
Left join ORIN T4 on T4.DocEntry=T3.DocEntry
where T0.docdate>=DATEDIFF(day,365,getdate())
group by T2.seriesName

---------------------------TOP 10 Fast Moving


Item-----------------------------------------------

select Top 10 T0.ItemName as 'Item Description', Sum(T2.OutQty) as 'OutQty'


From OITM T0
INNER JOIN OINM T2 ON T2.itemCode=T0.itemCode
Where T2.DocDate >=DATEDIFF(day, 365 , GETDATE())
Group by T0.ItemCode,t0.ItemName
Having sum(T2.OutQty) <> 0.00
order by Sum(T2.OutQty) DESC

------------------------------Top 10 slow Moving


Item----------------------------------------------------------------------

select Top 10 T0.ItemName as 'Item Description', Sum(T2.OutQty) as 'OutQty'


From OITM T0
INNER JOIN OINM T2 ON T2.itemCode=T0.itemCode
Where T2.DocDate >=DATEDIFF(day, 365 , GETDATE())
Group by T0.ItemCode,t0.ItemName
Having sum(T2.OutQty) <> 0.00
order by Sum(T2.OutQty)

----------------------------------Top 5 Sales Person by Value


----------------------------------------
SELECT TOP 5 T3.SlpName 'Sales Employee', Sum(T1.LineTotal) as 'Value'
FROM OINV T0
INNER JOIN INV1 T1 ON T0.[DocEntry] = T1.[DocEntry]
INNER JOIN OSLP T3 ON T0.SlpCode = T3.SlpCode
where T0.[DocDate] >= DATEDiff(day,365 , GETDATE())
GROUP BY T3.SlpName
Order BY Sum(T1.Quantity) DESC

----------------------------------------outgoing payment
Mcbee--------------------------
SELECT T0.[DocNum], T0.[DocType], T0.[DocDate], T0.[DocDueDate], T0.[CardCode], T0.
[CardName], T0.[Address], T0.[DdctSum],
T0.[CashAcct], T0.[CashSum], T0.[CheckAcct], T0.[CheckSum], T0.[TrsfrAcct], T0.
[TrsfrSum], T0.[TrsfrDate], T0.[DocTotal],
T0.[Ref1], T0.[Ref2], T0.[CounterRef], T0.[Comments], T0.[JrnlMemo], T0.[TransId],
T0.[BankAcct], T0.[VatSum], T0.[PaymentRef],
T0.[WtCode], T0.[WtSum], T0.[WtAccount], T0.[WtBaseSum], T0.[WtBaseAmnt], T0.
[BcgSum], T0.[PayToCode], T0.[TransCode], T0.[PaymType],
T0.[TfrRealAmt],
T1.[DocNum], T1.[InvoiceId], T1.[DocEntry], T1.[SumApplied], T1.[InvType], T1.
[DocLine], T1.[selfInv], T1.[ObjType], T1.[PaidSum],
T1.[DocTransId], T1.[baseAbs],
T2.DocNum 'AP Inv No', T2.DocEntry 'AP Inv DocEntry', T2.DocTotal 'AP Inv Total',
T2.NumAtCard,
T4.[WhsCode], T4.[U_PAN], T4.[U_GSTIN], T4.[U_CIN], T4.[U_Address], T4.
[U_CompName], T4.[U_Mobile], T4.[U_Telephone1], T4.[U_Telephone2],
T4.[U_EmailId], T4.[U_CompFooterAdd], T4.[U_WhsAddress], T4.[U_State], T4.
[U_StateCode],T4.[U_CIN] 'Whse CIN',
T5.Series, T5.SeriesName, T5.BeginStr, T5.EndStr, T5.Remark,
T6.Remark 'INVseries',
T7.CheckNum

FROM [dbo].[OVPM] T0
INNER JOIN VPM2 T1 ON T0.DocEntry=T1.DocNum
LEFT JOIN OPCH T2 ON T1.baseAbs=T2.DocEntry AND T1.InvType='18'
INNER JOIN PCH1 T3 ON T2.DocEntry=T3.DocEntry AND T3.LineNum='0'
LEFT OUTER JOIN OWHS T4 ON T3.WhsCode=T4.WhsCode
Left Join NNM1 T5 on T5.Series=T0.Series
Left Join NNM1 T6 On T6.Series=T2.Series
INNER JOIN VPM1 T7 ON T0.DocEntry = T7.DocNum

--where T0.DocNum='171810001'

You might also like