This view is in response to more than a few inquiries I have had for a vendor check report. This view brings in all payments, not just checks, so if only checks are needed, add the following to the end of the WHERE clause:
AND P.PYENTTYP = 0
For other SQL code, please visit my GP Reports page.
~~~~~
CREATE VIEW view_Payables_Payments AS /**************************************************************** view_Payables_Payments Created Sep 11, 2009 by Victoria Yudin - Flexible Solutions, Inc. For updates see https://victoriayudin.com/gp-reports/ Shows all posted Payables payments in Functional Currency only Tables used: PM00200 - Vendor Master PM20000 – Open Transactions PM30200 - Historical Transactions Updated on Jan 18, 2011 to add Currency ID, User Who Posted and User Who Modified ****************************************************************/ SELECT P.VENDORID Vendor_ID, V.VENDNAME Vendor_Name, V.VNDCHKNM Vendor_Check_Name, CASE P.PYENTTYP WHEN 0 THEN 'Check' WHEN 1 THEN 'Cash' WHEN 2 THEN 'Credit Card' WHEN 3 THEN 'EFT' ELSE 'Other' END Payment_Type, CASE WHEN P.PYENTTYP in (0,1,3) THEN P.CHEKBKID ELSE '' END Checkbook_ID, CASE P.PYENTTYP WHEN 2 THEN P.CARDNAME ELSE '' END Credit_Card_ID, P.DOCDATE Document_Date, P.PSTGDATE GL_Posting_Date, P.VCHRNMBR Voucher_Number, P.DOCNUMBR Document_Number, P.DOCAMNT Functional_Amount, P.TRXSORCE Transaction_Source, P.CURNCYID Currency_ID, P.PTDUSRID User_Who_Posted, P.MDFUSRID User_Who_Modified FROM (SELECT VENDORID, DOCTYPE, DOCDATE, VCHRNMBR, DOCNUMBR, DOCAMNT, VOIDED, TRXSORCE, CHEKBKID, PSTGDATE, PYENTTYP, CARDNAME, CURNCYID, PTDUSRID, MDFUSRID FROM PM30200 UNION ALL SELECT VENDORID, DOCTYPE, DOCDATE, VCHRNMBR, DOCNUMBR, DOCAMNT, VOIDED, TRXSORCE, CHEKBKID, PSTGDATE, PYENTTYP, CARDNAME, CURNCYID, PTDUSRID, MDFUSRID FROM PM20000) P INNER JOIN PM00200 V ON P.VENDORID = V.VENDORID WHERE P.DOCTYPE = 6 AND P.VOIDED = 0 /** the following will grant permissions to this view to DYNGRP, leave this section off if you do not want to grant permissions **/ GO GRANT SELECT ON view_Payables_Payments TO DYNGRP
~~~~~
Disclaimer: I tested this on limited data, if you find an issue or have a suggestion for improvement, please let me know and I will post the update here for everyone
Just snagged this code (with voids) for a “must have now” request from my boss. Thanks!
LikeLike
Victoria!!! Hello, hello there. I hope you’re well.
Is it possible to please add the void date to this SQL view please?
I found the PM30200.VOIDPDATE which is the exact field that I need but nothing similiar in the PM20000 which makes sense. Please let me what can be done.
Thanks in advance
LikeLike
Lulu,
There are a number of things that need to be changed to accomplish that. Here is code that should work for you:
CREATE VIEW view_Payables_Payments
AS
/*************************************
view_Payables_Payments
Created June 15, 2011 by Victoria Yudin - Flexible Solutions, Inc.
For updates see https://victoriayudin.com/gp-reports/
Shows all posted Payables payments in Functional Currency only
Tables used:
PM00200 - Vendor Master
PM20000 – Open Transactions
PM30200 - Historical Transactions
Includes voided transactions
*****************************************/
SELECT P.VENDORID Vendor_ID,
V.VENDNAME Vendor_Name,
V.VNDCHKNM Vendor_Check_Name,
CASE P.PYENTTYP
WHEN 0 THEN 'Check'
WHEN 1 THEN 'Cash'
WHEN 2 THEN 'Credit Card'
WHEN 3 THEN 'EFT'
ELSE 'Other'
END Payment_Type,
CASE
WHEN P.PYENTTYP in (0,1,3) THEN P.CHEKBKID
ELSE ''
END Checkbook_ID,
CASE P.PYENTTYP
WHEN 2 THEN P.CARDNAME
ELSE ''
END Credit_Card_ID,
P.DOCDATE Document_Date,
P.PSTGDATE GL_Posting_Date,
P.VCHRNMBR Voucher_Number,
P.DOCNUMBR Document_Number,
P.DOCAMNT Functional_Amount,
P.TRXSORCE Transaction_Source,
P.CURNCYID Currency_ID,
P.PTDUSRID User_Who_Posted,
P.MDFUSRID User_Who_Modified,
P.VOIDED Voided,
P.VOIDPDATE Void_Date
FROM
(SELECT VENDORID, DOCTYPE, DOCDATE, VCHRNMBR, DOCNUMBR,
DOCAMNT, VOIDED, TRXSORCE, CHEKBKID, PSTGDATE,
PYENTTYP, CARDNAME, CURNCYID, PTDUSRID, MDFUSRID,
VOIDPDATE
FROM PM30200
UNION ALL
SELECT VENDORID, DOCTYPE, DOCDATE, VCHRNMBR, DOCNUMBR,
DOCAMNT, VOIDED, TRXSORCE, CHEKBKID, PSTGDATE,
PYENTTYP, CARDNAME, CURNCYID, PTDUSRID, MDFUSRID,
VOIDPDATE = '1/1/1900'
FROM PM20000) P
INNER JOIN
PM00200 V ON P.VENDORID = V.VENDORID
WHERE P.DOCTYPE = 6
/** the following will grant permissions to this view to DYNGRP,
leave this section off if you do not want to grant permissions **/
GO
GRANT SELECT ON view_Payables_Payments TO
-Victoria
LikeLike
Thanks a stack Victoria!
The view is working well 🙂
LikeLike
Ms.Victoria
Any intention to add un-posted payments to this view, as well as, the multicurrency side of things?
Lulu
PS: I should change my pseudonym to “Ms.Multicurrency” 🙂
LikeLike
Hi Ms. Multicurrency,
Not at this time. As you know, adding multicurrency information is a pretty cumbersome undertaking. 🙂
If you need something like this, we can create it for you as a consulting project.
-Victoria
LikeLike
Hello Victoria
Is it possible to kindly add the following fields to the view. I’ve checked that the fields exist in both tables. Our internal auditors have requested this information which might be of use to others.
1. Currency ID (CURNCYID)
2. Void Status (VOIDED)
3. User Who Posted (PTUSRID)
4. User Who Modified (MDFUSRID)
Thanks in advance for your help as always
LikeLike
Hi Lulu,
I have added Currency ID, User Who Posted and User Who Modified for you. I didn’t add Void Status, as I am already excluding all voided transactions. If you prefer not to have that excluded and to show a column for it instead, you can remove the following from the WHERE clause at the bottom:
AND P.VOIDED = 0
and add the following above the first FROM:
,P.VOIDED Void_Status
-Victoria
LikeLike
Great!
Thanks so much Victoria. It worked perfectly and is exactly what I’m looking for.
LikeLike
Nice post!
I have a habit of looking through the db for info when trying to solve issues. This is a nice tip.
Adam
LikeLike
wow! you are the best
this view is exactly like the report i was consulting you
thanks a lot
LikeLike
Thanks for posting nice article….
LikeLike