Extract Journal Entries for Auditors using SQL Query

Twice a year, I receive a request to extract Journal Entries for Auditors.  It could have been done using the Smartlist in Dynamics GP but my End Users didn't want to use it because it is time consuming on their end. We extract into two sets:  January to August and then October to December once they are done with closing their books. 

Until today, I'm still using the SQL scripts below and extract the data into Excel.


OPEN YEAR

select A.OPENYEAR 'Year',           

TRXDATE 'Trx_Date',

ORPSTDDT 'Originating_Posted_Date',

A.JRNENTRY 'Journal_Entry',

A.RCTRXSEQ 'Recurring_Trx_Sequence',

ORTRXSRC 'Originating_TRX_Source',     

A.SOURCDOC 'Source Document',           

A.REFRENCE 'Reference',             

ORMSTRID 'Originating_Master_ID',       

ORMSTRNM 'Originating_Master_Name',            

ORDOCNUM 'Originating_Doc_Number',

DEBITAMT 'Debit_Amount',

CRDTAMNT 'Credit_Amount',

(DEBITAMT-CRDTAMNT) 'Debit-Credit',

isnull((select ACTNUMST from GL00105 where ACTINDX=A.ACTINDX),'') AccountNumber,

isnull((select ACTDESCR from GL00100 where ACTINDX=A.ACTINDX),'') AccountDescription,

USWHPSTD 'User_Who_Posted',

CURNCYID 'Currency_ID',

A.ACTINDX,

LASTUSER 'Last User',    

LSTDTEDT 'Last Date Edited',

A.DEX_ROW_ID

from GL20000 A (nolock)

where A.TRXDATE between '10/01/2022' and '12/31/2022'

order by A.DEX_ROW_ID 



CLOSED YEAR

SELECT YEAR1 Trx_Year,

TRXDATE Trx_Date,

ORPSTDDT Originating_Posted_Date,

JRNENTRY Journal_Entry,

ORTRXSRC Originating_TRX_Source,

REFRENCE Reference,

ORMSTRID Originating_Master_ID,

ORMSTRNM Originating_Master_Name,

ORDOCNUM Originating_Doc_Number,

DEBITAMT Debit_Amount,

CRDTAMNT Credit_Amount,

ACTNUMST Account_Number,

ACTDESCR Account_Description

,S.Debits Total_Debits

,USWHPSTD User_Who_Posted

,CURNCYID Currency_ID

,GL.ACTINDX

FROM

 (SELECT ACTINDX, HSTYEAR YEAR1, TRXDATE,ORPSTDDT,

JRNENTRY, ORTRXSRC, REFRENCE,

ORDOCNUM, ORMSTRID, ORMSTRNM,

DEBITAMT, CRDTAMNT,CURNCYID,USWHPSTD

 FROM GL30000

 WHERE   SOURCDOC not in ('BBF','P/L')AND HSTYEAR = '2021') GL

 INNER JOIN GL00105 GM

     ON GL.ACTINDX = GM.ACTINDX

INNER JOIN GL00100 GA

     ON GL.ACTINDX = GA.ACTINDX

LEFT OUTER JOIN

(SELECT JRNENTRY JE, TRXDATE TrxD, sum(DEBITAMT) Debits

FROM GL30000

GROUP BY JRNENTRY, TRXDATE) S

ON GL.JRNENTRY = S.JE

AND GL.TRXDATE = S.TrxD

where GL.TRXDATE between '10/01/2021' and '12/31/2021'

order by GA.DEX_ROW_ID

 

At one point, we used MEM and this is how I extract the Journal Entries.

OPEN YEAR with Multi-Entity Management (MEM)

SELECT GL.OPENYEAR,

GL.SOURCDOC Series,

TRXDATE Trx_Date,

ORPSTDDT Originating_Posted_Date,

GL.JRNENTRY Journal_Entry,

ORTRXSRC Originating_TRX_Source,

GL.REFRENCE Reference,

ORMSTRID Originating_Master_ID,

ORMSTRNM Originating_Master_Name,

ORDOCNUM Originating_Doc_Number,

DEBITAMT Debit_Amount,

CRDTAMNT Credit_Amount,

ACTNUMST Account_Number,

ACTDESCR Account_Description,

S.Debits Total_Debits,

USWHPSTD User_Who_Posted,

CURNCYID Currency_ID,

GL.ACTINDX,

GC.BSSI_Facility_ID Company_ID

FROM

(SELECT ACTINDX, SOURCDOC, OPENYEAR, TRXDATE,ORPSTDDT,

JRNENTRY, ORTRXSRC, REFRENCE,

ORDOCNUM, ORMSTRID, ORMSTRNM,

DEBITAMT, CRDTAMNT,CURNCYID,USWHPSTD

FROM GL20000

WHERE SOURCDOC not in ('BBF','P/L')

and OPENYEAR = '2021'

AND TRXDATE BETWEEN '1/1/21' AND '1/31/21'

) GL

INNER JOIN GL00105 GM

ON GL.ACTINDX = GM.ACTINDX

INNER JOIN GL00100 GA

ON GL.ACTINDX = GA.ACTINDX

INNER JOIN B3940200 GC

ON GL.JRNENTRY = GC.JRNENTRY

LEFT OUTER JOIN

(SELECT JRNENTRY JE, TRXDATE TrxD, sum(DEBITAMT) Debits

FROM GL20000

WHERE OPENYEAR = '2021'

AND TRXDATE BETWEEN '1/1/21' AND '1/31/21'

GROUP BY JRNENTRY, TRXDATE) S

ON GL.JRNENTRY = S.JE

AND GL.TRXDATE = S.TrxD


CLOSED YEAR with Multi-Entity Management (MEM)

select A.HSTYEAR 'Year',

TRXDATE 'Trx_Date',

ORPSTDDT 'Originating_Posted_Date',

A.JRNENTRY 'Journal_Entry',

A.RCTRXSEQ 'Recurring_Trx_Sequence',

ORTRXSRC 'Originating_TRX_Source',

A.SOURCDOC 'Source Document',

A.REFRENCE 'Reference',

ORMSTRID 'Originating_Master_ID',

ORMSTRNM 'Originating_Master_Name',

ORDOCNUM 'Originating_Doc_Number',

DEBITAMT 'Debit_Amount',

CRDTAMNT 'Credit_Amount', 

(DEBITAMT-CRDTAMNT) 'Debit-Credit',

isnull((select ACTNUMST from GL00105 where ACTINDX=A.ACTINDX),'') AccountNumber,

isnull((select ACTDESCR from GL00100 where ACTINDX=A.ACTINDX),'') AccountDescription,

USWHPSTD 'User_Who_Posted',

CURNCYID 'Currency_ID',

A.ACTINDX,

LASTUSER 'Last User',

LSTDTEDT 'Last Date Edited',

isnull((select top 1 BSSI_Facility_ID from B3930000 where JRNENTRY=A.JRNENTRY),'') Company,

A.DEX_ROW_ID

FROM GL30000 A (NOLOCK)

WHERE JRNENTRY NOT IN (SELECT JRNENTRY FROM B3930000)

AND  JRNENTRY IN (SELECT JRNENTRY FROM B3930000 WHERE BSSI_Facility_ID='100')

order by A.DEX_ROW_ID

Comments

Popular posts from this blog

WHERE TO GO IN ARIZONA

GP Guru Level Up: Episode 3 - How to bring your out of the box Aged Trial Balance into Smartlist

GP Guru Level Up: Episode 2 - How to use the Replicator to create a macro with John Arnold