Thursday, February 15, 2024

how to create Purchase order - Vendor payment journal in D365 Finance and Operations

PURCHASE ORDER FLOW

Now we are going to create a Purchase order after that Invoice creation later Purchase invoice payment.


Goto -->Account payable--> Purchase order--> All Purchase Orders--> New --> select vendor, Site and warehouse details. Then click Ok.


Next Add item to Purchase Order, give Qunatity, Price and Save it.

Next in ActionPane Selct Purchase--> Actions--> confirm, select confirm.

Next in ActionPane Selct Recieve--> Generate--> Product Receipt, select and give Product name, confirm it.

Next in ActionPane Selct Invoice--> Generate--> Invoice, select Invoice, give Invoice number and update it, match it and post.


Next AP--> Invoice--> Invouce Journal--> Add new Journal

Next AP-->Payments--> Vendor Payments--> Add new Payment Journal--> Go to Lines page-->select Settlement transaction than Ok--> Validate and Post Vendor Payment Journal


SSMS Query:


Used Code:

SELECT  VT.ACCOUNTNUM, PT.PURCHID, PL.ITEMID, PL.PURCHQTY, PL.PurchPrice, VIJ.InvoiceId, VIJ.CURRENCYCODE,  VIJ.INVOICEAMOUNT, LJTABLE.JournalNum, LJTRANS.VOUCHER, LJTRANS.COMPANY, LJTRANS.AMOUNTCURCREDIT
FROM VENDTABLE  VT
JOIN PURCHTABLE PT ON PT.INVOICEACCOUNT = VT.ACCOUNTNUM 
JOIN PURCHLINE  PL  ON PL.PURCHID = PT.PURCHID
JOIN VendInvoiceJour VIJ ON VIJ.INVOICEACCOUNT = vt.ACCOUNTNUM --where pt.PURCHID = '00000125'
JOIN VENDTRANS  VTRANS ON VTRANS.VOUCHER = VIJ.LEDGERVOUCHER  AND VTRANS.ACCOUNTNUM = VIJ.INVOICEACCOUNT  
JOIN LEDGERJOURNALTABLE LJTABLE ON LJTABLE.JOURNALNUM = VTRANS.JOURNALNUM  
JOIN LEDGERJOURNALTRANS LJTRANS ON LJTRANS.JOURNALNUM = LJTABLE.JOURNALNUM
JOIN GeneralJournalEntry GLE  ON GLE.SUBLEDGERVOUCHER = LJTRANS.VOUCHER
where VT.ACCOUNTNUM = 'AirCarrier' AND LJTABLE.JOURNALNUM= '00637' AND LJTRANS.COMPANY = 'USMF'--.OURNALNUM = '00637' 
   




Job

    public static void main(Args _args) 
   {       
 VENDTABLE             VT;        
PURCHTABLE            PT; 
PURCHLINE             PL;        
VendInvoiceJour       VIJ;        
VENDTRANS             VTRANS;        
LEDGERJOURNALTABLE    LJTABLE;        
LEDGERJOURNALTRANS    LJTRANS;        
GeneralJournalEntry   GLE;       


   SELECT *    FROM  VT            
JOIN  PT WHERE PT.INVOICEACCOUNT == VT.ACCOUNTNUM            
JOIN  PL  WHERE PL.PURCHID == PT.PURCHID            
JOIN  VIJ WHERE VIJ.INVOICEACCOUNT == vt.ACCOUNTNUM            
JOIN  VTRANS WHERE VTRANS.VOUCHER == VIJ.LEDGERVOUCHER  && VTRANS.ACCOUNTNUM == VIJ.INVOICEACCOUNT            
JOIN  LJTABLE WHERE LJTABLE.JOURNALNUM == VTRANS.JOURNALNUM            
JOIN  LJTRANS WHERE LJTRANS.JOURNALNUM == LJTABLE.JOURNALNUM            
JOIN  GLE  WHERE GLE.SUBLEDGERVOUCHER == LJTRANS.VOUCHER  && VT.ACCOUNTNUM == "AirCarrier"; //&& LJTABLE.JOURNALNUM == "00637" && LJTRANS.COMPANY == "USMF";  


        info(strFmt(" ACCOUNTNUM =%1, PURCHID =%2, ITEMID = %3, PURCHQTY = %4, PURCHPRICE =%5, INVOICEID = %6, CURRENCYCODE = %7, INVOICEAMOUNTID = %8,              JournalNumNotPosted =%9, Voucher = %10, Company = %11, AmountCurCredit = %12",  
 VT.ACCOUNTNUM, PT.PURCHID, PL.ITEMID, PL.PURCHQTY, PL.PurchPrice, VIJ.InvoiceId, VIJ.CURRENCYCODE,  VIJ.INVOICEAMOUNT, LJTABLE.JournalNum, LJTRANS.VOUCHER, LJTRANS.COMPANY, LJTRANS.AMOUNTCURCREDIT));
}






OUTPUT:







No comments:

Post a Comment

Retriving the data through Dynamics Query in D365 F&O

 Dynamics Query We use classes to write the Dynamics Queries, dynamic  query that can be used to retrieve data from the database. So, in sim...