Identify Who Applied Cash to a Customer’s Account

  • Identify Who Applied Cash to a Customer’s Account

    Posted by Laurie Millington on July 2, 2019 at 11:37 am
    • Laurie Millington

      Member

      July 2, 2019 at 11:37 AM

      Does anyone know of a way that you can identified who applied a cash receipt payment or credit memo to a customer’s account when the transaction is open, posted or in history status? Ā 

      I have found this query and it gets me closer but I would still need to see who processed those batch/transactions. Any suggestions?Ā 

      SELECT T.CUSTNMBR Customer_ID,
      CM.CUSTNAME Customer_Name,
      CM.SHRTNAME Short_Name,
      T.DOCDATE Document_Date,
      T.GLPOSTDT GL_Posting_Date,
      CASE T.RMDTYPAL
      WHEN 7 THEN ‘Credit Memo’
      WHEN 8 THEN ‘Return’
      WHEN 9 THEN ‘Payment’
      END AS RM_Doc_Type,
      T.BACHNUMB Payment_Batch,
      T.docTypeNum Document_Type_and_Number,
      T.DOCNUMBR Document_Number,
      T.ORTRXAMT Original_Trx_Amount,
      T.CURTRXAM Current_Trx_Amount,
      T.amountApplied Total_Applied_Amount,
      A.APPTOAMT Amount_Applied,
      A.APTODCTY Applied_to_Doc_Type,
      A.debitType Applied_to_Doc_Type_Name,
      A.APTODCNM Applied_to_Doc_Number,
      A.APTODCDT Applied_to_Document_Date,
      A.ApplyToGLPostDate Applied_to_GL_Posting_Date,
      A.DISTKNAM Discount,
      A.WROFAMNT Writeoff,
      A.DATE1 Apply_Document_Date,
      A.GLPOSTDT Apply_GL_Posting_Date,
      D.ORTRXAMT Applied_To_Doc_Total,
      D.DINVPDOF Applied_To_Date_Paid_Off,
      D.CURTRXAM Applied_To_Doc_Unapplied_Amount,
      D.CSPORNBR Customer_PO_Number

      FROM (SELECT CUSTNMBR, DOCDATE, GLPOSTDT, RMDTYPAL,
      CASE RMDTYPAL
      WHEN 7 THEN ‘Credit Memo’
      WHEN 8 THEN ‘Return’
      WHEN 9 THEN
      CASE CSHRCTYP
      WHEN 0 THEN ‘Payment – Check ‘ +
      CASE CHEKNMBR
      WHEN ” THEN ”
      ELSE ‘#’ + CHEKNMBR
      END
      WHEN 1 THEN ‘Payment – Cash’
      WHEN 2 THEN ‘Payment – Credit Card’
      END
      END AS docTypeNum,
      DOCNUMBR, ORTRXAMT, CURTRXAM, BACHNUMB,
      ORTRXAMT – CURTRXAM amountApplied

      FROM RM20101
      WHERE (RMDTYPAL > 6) and (VOIDSTTS = 0)

      UNION

      SELECT CUSTNMBR, DOCDATE, GLPOSTDT, RMDTYPAL,
      CASE RMDTYPAL
      WHEN 7 THEN ‘Credit Memo’
      WHEN 8 THEN ‘Return’
      WHEN 9 THEN
      CASE CSHRCTYP
      WHEN 0 THEN ‘Payment – Check ‘ +
      CASE CHEKNMBR
      WHEN ” THEN ”
      ELSE ‘#’ + CHEKNMBR
      END
      WHEN 1 THEN ‘Payment – Cash’
      WHEN 2 THEN ‘Payment – Credit Card’
      END
      END AS docTypeNum,
      DOCNUMBR, ORTRXAMT, CURTRXAM, BACHNUMB,
      ORTRXAMT – CURTRXAM amountApplied

      FROM RM30101
      WHERE (RMDTYPAL > 6) and (VOIDSTTS = 0)) T

      INNER JOIN RM00101 CM
      ON T.CUSTNMBR = CM.CUSTNMBR

      INNER JOIN
      (SELECT tO1.CUSTNMBR, APTODCTY, APTODCNM,
      APFRDCTY,APFRDCNM,
      CASE APTODCTY
      WHEN 1 THEN ‘Sale / Invoice’
      WHEN 2 THEN ‘Scheduled Payment’
      WHEN 3 THEN ‘Debit Memo’
      WHEN 4 THEN ‘Finance Charge’
      WHEN 5 THEN ‘Service Repair’
      WHEN 6 THEN ‘Warranty’
      END as debitType,
      APPTOAMT, ApplyToGLPostDate, APTODCDT, tO2.DISTKNAM,
      tO2.WROFAMNT, tO2.DATE1, tO2.GLPOSTDT

      FROM RM20201 tO2

      INNER JOIN RM20101 tO1
      ON tO2.APTODCTY = tO1.RMDTYPAL
      AND tO2.APTODCNM = tO1.DOCNUMBR

      UNION

      SELECT tH1.CUSTNMBR, APTODCTY, APTODCNM,
      APFRDCTY, APFRDCNM,
      CASE APTODCTY
      WHEN 1 THEN ‘Sale / Invoice’
      WHEN 2 THEN ‘Scheduled Payment’
      WHEN 3 THEN ‘Debit Memo’
      WHEN 4 THEN ‘Finance Charge’
      WHEN 5 THEN ‘Service Repair’
      WHEN 6 THEN ‘Warranty’
      END AS debitType,
      APPTOAMT, ApplyToGLPostDate, APTODCDT, tH2.DISTKNAM,
      tH2.WROFAMNT, tH2.DATE1, tH2.GLPOSTDT
      FROM RM30201 tH2

      INNER JOIN RM30101 tH1
      ON tH2.APTODCTY = tH1.RMDTYPAL
      AND tH2.APTODCNM = tH1.DOCNUMBR) A

      ON A.APFRDCTY = T.RMDTYPAL and A.APFRDCNM = T.DOCNUMBR

      INNER JOIN
      (SELECT RMDTYPAL, DOCNUMBR, ORTRXAMT, DINVPDOF,
      CURTRXAM, CSPORNBR
      FROM RM20101

      UNION

      SELECT RMDTYPAL, DOCNUMBR, ORTRXAMT, DINVPDOF,
      CURTRXAM = 0, CSPORNBR
      FROM RM30101) D

      ON A.APTODCTY = D.RMDTYPAL and A.APTODCNM = D.DOCNUMBR

      ——————————
      Laurie Millington
      Boyer & Associates
      Plymouth MN
      ——————————

    • Brenda Zeben

      Member

      July 3, 2019 at 9:39 AM

      Laurie – I have a query on table SY05000, which has security information.
      That will have a message:Ā  “The XXXXXXXXX record in the Sales Transaction Work file was modified.” where XXXXXXX is your invoice number or your return #.User id, date and time will be in the record.

      Not sure if that will help in your situation, but that how I identify the user.

      ?

      ——————————
      Brenda Zeben
      Controller
      Imlach Movers, Inc.
      Trenton MI
      ——————————
      ——————————————-

    • Blair Christensen

      Member

      July 3, 2019 at 10:33 AM

      I have made a few additions to the query you supplied to add the users.Ā  I also added a little logic to deal with unhandled CASE conditions:

      SELECT T.CUSTNMBR as Customer_ID
      Ā  Ā  Ā , CM.CUSTNAME as Customer_Name
      , CM.SHRTNAME as Customer_Short_Name
      , T.DOCDATE as Document_Date
      , T.GLPOSTDT as GL_Posting_Date
      , CASE T.RMDTYPAL
      Ā  Ā  Ā  Ā  Ā  Ā  WHEN 7 THEN 'Credit Memo'
      Ā  Ā  Ā  Ā  Ā  Ā  WHEN 8 THEN 'Return'
      Ā  Ā  Ā  Ā  Ā  Ā  WHEN 9 THEN 'Payment'
      ELSE 'OTHER'
      Ā  Ā  Ā  Ā  END AS RM_Doc_Type
      Ā  Ā  Ā , T.BACHNUMB as Payment_Batch
      , T.docTypeNum as Document_Type_and_Number
      , T.DOCNUMBR as Document_Number
      , T.ORTRXAMT as Original_Trx_Amount
      , T.CURTRXAM as Current_Trx_Amount
      , T.amountApplied as Total_Applied_Amount
      , A.APPTOAMT as Amount_Applied
      , A.APTODCTY as Applied_to_Doc_Type
      , A.debitType as Applied_to_Doc_Type_Name
      , A.APTODCNM as Applied_to_Doc_Number
      , A.APTODCDT as Applied_to_Document_Date
      , A.ApplyToGLPostDate as Applied_to_GL_Posting_Date
      , A.DISTKNAM as Discount
      , A.WROFAMNT as Writeoff
      , A.DATE1 as Apply_Document_Date
      , A.GLPOSTDT as Apply_GL_Posting_Date
      , A.PSTUSRID as Posting_User
      , D.ORTRXAMT as Applied_To_Doc_Total
      , D.DINVPDOF as Applied_To_Date_Paid_Off
      , D.CURTRXAM as Applied_To_Doc_Unapplied_Amount
      , D.CSPORNBR as Customer_PO_Number
      , d.PSTUSRID as Original_Posting_User
      Ā  FROM (SELECT CUSTNMBR, DOCDATE, GLPOSTDT, RMDTYPAL
      Ā  Ā  Ā  Ā  Ā  Ā  Ā , CASE RMDTYPAL
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 7 THEN 'Credit Memo'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 8 THEN 'Return'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 9 THEN
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā CASE CSHRCTYP
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 0 THEN 'Payment - Check ' +
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  CASE CHEKNMBR
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā WHEN '' THEN ''
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā ELSE '#' + CHEKNMBR
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā END
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 1 THEN 'Payment - Cash'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 2 THEN 'Payment - Credit Card'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  END ELSE 'OTHER'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  END AS docTypeNum
      Ā  , DOCNUMBR, ORTRXAMT, CURTRXAM, BACHNUMB
      Ā  , ORTRXAMT - CURTRXAM as amountApplied
      Ā  Ā  Ā  Ā  Ā FROM RM20101
      Ā  Ā  Ā  Ā  Ā  WHERE (RMDTYPAL > 6)
      Ā  Ā  AND (VOIDSTTS = 0)
      Ā  Ā  Ā Ā  Ā  UNION
      SELECT CUSTNMBR, DOCDATE, GLPOSTDT, RMDTYPAL
      Ā  Ā  Ā  , CASE RMDTYPAL
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā WHEN 7 THEN 'Credit Memo'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā WHEN 8 THEN 'Return'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā WHEN 9 THEN
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  CASE CSHRCTYP
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā WHEN 0 THEN 'Payment - Check ' +
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā CASE CHEKNMBR
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN '' THEN ''
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  ELSE '#' + CHEKNMBR
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  END
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā WHEN 1 THEN 'Payment - Cash'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā WHEN 2 THEN 'Payment - Credit Card'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā END
      ELSE 'OTHER'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā END AS docTypeNum
      Ā  , DOCNUMBR, ORTRXAMT, CURTRXAM, BACHNUMB
      Ā  , ORTRXAMT - CURTRXAM as amountApplied
      Ā  Ā  Ā  Ā  Ā  Ā FROM RM30101
      Ā  Ā  Ā  Ā  Ā  WHERE RMDTYPAL > 6
      Ā  Ā  AND VOIDSTTS = 0 ) T
      Ā INNER JOIN RM00101 CM ON T.CUSTNMBR = CM.CUSTNMBR
      Ā INNER JOIN (
      Ā  Ā  Ā  Ā  Ā  Ā  SELECT tO1.CUSTNMBR, APTODCTY, APTODCNM
      Ā  Ā  Ā  Ā  Ā , APFRDCTY, APFRDCNM
      Ā  Ā  Ā  Ā  Ā , CASE APTODCTY
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 1 THEN 'Sale / Invoice'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 2 THEN 'Scheduled Payment'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 3 THEN 'Debit Memo'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 4 THEN 'Finance Charge'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 5 THEN 'Service Repair'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 6 THEN 'Warranty'
      Ā  Ā  Ā  ELSE 'OTHER'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  END as debitType
      Ā  Ā  Ā  Ā  , APPTOAMT, ApplyToGLPostDate, APTODCDT, tO2.DISTKNAM
      Ā  Ā  Ā  , tO2.WROFAMNT, tO2.DATE1, tO2.GLPOSTDT, to1.PSTUSRID
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  FROM RM20201 tO2
      Ā  Ā  Ā  Ā  Ā  Ā  Ā INNER JOIN RM20101 tO1 ON tO2.APTODCTY = tO1.RMDTYPAL
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  AND tO2.APTODCNM = tO1.DOCNUMBR
      Ā  Ā  Ā  Ā  Ā  Ā  Ā UNION
      Ā  Ā  SELECT tH1.CUSTNMBR, APTODCTY, APTODCNM
      Ā  Ā  Ā  Ā  Ā , APFRDCTY, APFRDCNM
      Ā  Ā  Ā  Ā  Ā , CASE APTODCTY
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 1 THEN 'Sale / Invoice'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 2 THEN 'Scheduled Payment'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 3 THEN 'Debit Memo'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 4 THEN 'Finance Charge'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 5 THEN 'Service Repair'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  WHEN 6 THEN 'Warranty'
      Ā  Ā  Ā  Ā ELSE 'OTHER'
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  END AS debitType
      Ā  Ā  , APPTOAMT, ApplyToGLPostDate, APTODCDT, tH2.DISTKNAM
      Ā  Ā  , tH2.WROFAMNT, tH2.DATE1, tH2.GLPOSTDT, th1.PSTUSRID
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  FROM RM30201 tH2
      Ā  Ā  Ā INNER JOIN RM30101 tH1 ON tH2.APTODCTY = tH1.RMDTYPAL
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  Ā  AND tH2.APTODCNM = tH1.DOCNUMBR
      Ā  Ā  Ā  Ā  Ā  Ā  ) A ON A.APFRDCTY = T.RMDTYPAL
      Ā  Ā  Ā  Ā  Ā  AND A.APFRDCNM = T.DOCNUMBR

      Ā INNER JOIN (
      Ā  Ā  Ā  Ā  Ā  Ā  SELECT RMDTYPAL, DOCNUMBR, ORTRXAMT, DINVPDOF
      Ā  Ā  Ā , CURTRXAM, CSPORNBR, PSTUSRID
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  FROM RM20101
      Ā  Ā  Ā  Ā  Ā  Ā  Ā UNION
      Ā  Ā  Ā  Ā  Ā  Ā  SELECT RMDTYPAL, DOCNUMBR, ORTRXAMT, DINVPDOF
      Ā  Ā  Ā , 0 as CURTRXAM, CSPORNBR, PSTUSRID
      Ā  Ā  Ā  Ā  Ā  Ā  Ā  FROM RM30101
      ) D ON A.APTODCTY = D.RMDTYPAL
      Ā  Ā  Ā  Ā  Ā AND A.APTODCNM = D.DOCNUMBR

      ——————————
      Blair Christensen
      Database Administrator
      Oppenheimer Companies, Inc.
      Boise ID
      ——————————
      ——————————————-

    • Bruce Strom

      Member

      July 5, 2019 at 1:57 PM

      UNION ALL rather than UNION should speed up this query by about 30%, since you do not need to check for duplicates in the UNION.

      ——————————
      Bruce Strom
      Programmer Analyst
      Associated Grocers of Florida / Supervalu
      Sunrise FL
      ——————————
      ——————————————-

    Laurie Millington replied 6 years, 8 months ago 1 Member · 0 Replies
  • 0 Replies

Sorry, there were no replies found.

The discussion ‘Identify Who Applied Cash to a Customer’s Account’ is closed to new replies.

Start of Discussion
0 of 0 replies June 2018
Now

Welcome to our new site!

Here you will find a wealth of information created for peopleĀ  that are on a mission to redefine business models with cloud techinologies, AI, automation, low code / no code applications, data, security & more to compete in the Acceleration Economy!