web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

No record found.

Community site session details

Community site session details

Session Id :
Microsoft Dynamics AX (Archived)

Cancel a customer payment belonging to a deposit slip reverse the whole slip amount

(0) ShareShare
ReportReport
Posted on by

With AX 2012, R3 cu8

When we use the cancel payment menu, either from a Customer transactions form in the Accounts receivable module or from the deposit slip form in the bank module, the whole amount of the deposit slip is reversed, instead of just reversing the customer's amount.

From the deposit slip, we see all grouped transactions:

WholeSlip.png

I cancelled the payment of the 34$ transaction, resulting is this very wrong transaction against the bank account:

WrongBankReversal.png

Any thoughts on this would be greatly appreciated, Accounting has started using the cancel payment menu last week and only found yesterday the many wrong postings created.... great havoc in the GL right now.

Regards,

Eric

*This post is locked for comments

I have the same question (0)
  • Ludwig Reinhard Profile Picture
    Microsoft Employee on at

    Hi Eric,

    Your deposit slip that includes all the different payments includes is included in a single voucher, right?

    What functionality did you use to cancel the payment and in which module?

    How was the original payment recorded?

    Would be great if you could provide us this information.

    Many thanks,

    Ludwig

  • Community Member Profile Picture
    on at

    Hello Ludwig,

    Thanks for taking some time to answer. As mentionned in my initial post, it happens when we use the cancel payment menu, either from a Customer transactions form in the Accounts receivable module or from the deposit slip form in the bank module.

    2) All transactions are effectively grouped on a single voucher.

    3) Original payment was done from a payment journal in Accounts Receivables (if I understand the 3rd question correctly)

    About transactions being grouped on a single voucher, would it explain the complete reversal? It seems to be too mush of a risky approach however. By tracing the code, I found that in the class BankPaymCancelType, method setCommonFieldsInCancelledBankTrans():

       cancelledBankAccountTrans.AmountMST = -accountingCurrencyAmount;

       cancelledBankAccountTrans.AmountCur = -transactionCurrencyAmount;

       cancelledBankAccountTrans.BankTransAmountCur = -bankTransTransactionCurrencyAmount;

    So it seems AX assume that the full transactions must be reversed when posting to the bank account, there does not seems to be a parameter that will behave differently to reverse only the value of the cancelled payment.

    Regards,

    Eric

  • Suggested answer
    Ludwig Reinhard Profile Picture
    Microsoft Employee on at

    Hi Eric,

    I agree that AX assumes that always the full transaction need to be reversed.

    It cannot reverse parts of a voucher but always has be reverse the complete one.

    One possibility would be to let AX generate single vouchers for each transaction when you make the payments in the AR payment journal. Then you could reverse basically a part of your total payment, as you have a lot of individual vouchers. Most finance guys do, however, not like such postings because they want to see the complete payment in a single voucher. What is more, the vouchers created also depend on the way how your journals, number sequences, payment methods, etc. are setup.

    How often do those reversals take place in your company? Do you have them regularly and are many transactions affected? Then it might be useful thinking about modifying your setup. If those reversals are, however, only happening every now and then I would not do anything and let the accountants reverse the transactions manually.

    Hope this helps,

    Ludwig

  • Community Member Profile Picture
    on at

    Thanks Ludwig,

    They are now proceeding with manual reversals while we figure out how we will proceed in the future. Payment cancellation can occur every week. Cancelling a payment does create quite a problem when reversing the full amount  to the bank. We are afraid that it might be used accidently in the future but we can not really use security to block the option as there are other types of payment that may need to cancel.

    Do you know how the incorrect reversals transactions can be fixed? There is several transactions now with the incorrect amounts reversed in the bank account, so we need to fix this quickly. If there is a clean way using the AX interface, it would allow Finance to correct wrong reversals if they happened in the future.

    Regards,

    Eric

  • Community Member Profile Picture
    on at

    Also, since this behavior did not exist in AX 2009; reversing a payment included in a bank deposit contaning multiple transactions was only posting the reverse transaction amount, not the whole slip.

    It really does feel like a logic and normal behavior. I certainly would like more feedback on how companies are cancelling payment included on bank deposits.

  • Community Member Profile Picture
    on at

    Oddly, it seems to be working correctly if we check the "Use review process for deposit slip payment cancellations", in the Bank Management parameters form.

    Why is the behaviour different; when posting directly from the cancel payment form, incorrect amounts is reversed in the bank account. When posting thru a review journal, the correct transaction amounts are written on the journal line and then correctly posted upon accepting the journal?

    If anyone can shed some light on the different behaviour, maybe there is a parameter to fix the direct posting method?

    Regards,

    Eric

  • Community Member Profile Picture
    on at

    I was a bit too fast in my enthousiasm. The review process parameters only works when cancelling a payment thru the deposit slip.

    Cancelling a payment from the client's transactions fails miserably at creating the appropriate reversed amount in the bank account. :(

  • Verified answer
    Community Member Profile Picture
    on at

    Well, couldn't find an explanation for this bug or the proper way to perform payment cancellation that won<t reverse the full deposit amount instead of reversing only the payment line, so I fixed the code in the class BankPaymentCancelType::construct() as follow. Now the behavior is the same as it was in AX 2009:

       else if (_custTrans)

       {

           bankPaymCancelType = new BankPaymCancelType_CustTrans();

           //Begin

           if(_bankDeposit)

           {

               bankPaymCancelType.init(_custTrans,

                   _custVendPaymJournalFee,

                   _bankAccountTransToCancel,

                   ReasonTableRef::checkCreateInCompany( _reasonRefID, _bankAccountTransToCancel.DataAreaId),

                   _ledgerVoucher,

                   _ledgerVoucherObject,

                   _bankDeposit.AmountMST,

                   _bankDeposit.AmountCur,

                   _bankDeposit.BankTransAmountCur,

                   BankParameters::find().nsfTransactionType,

                   _bankAccountTransToCancel.Txt);

           }

           else

           {

                bankPaymCancelType.init(_custTrans,

                   _custVendPaymJournalFee,

                   _bankAccountTransToCancel,

                   ReasonTableRef::checkCreateInCompany( _reasonRefID, _bankAccountTransToCancel.DataAreaId),

                   _ledgerVoucher,

                   _ledgerVoucherObject,

                   -_custTrans.AmountMST,

                   -_custTrans.AmountCur,

                   -_custTrans.AmountCur,

                   BankParameters::find().nsfTransactionType,

                   _bankAccountTransToCancel.Txt);

           }

           // AX 2012 base: reverses the full deposit slip amount instead of reversing only the payment line

           /*

           bankPaymCancelType.init(_custTrans,

               _custVendPaymJournalFee,

               _bankAccountTransToCancel,

               ReasonTableRef::checkCreateInCompany( _reasonRefID, _bankAccountTransToCancel.DataAreaId),

               _ledgerVoucher,

               _ledgerVoucherObject,

               _bankAccountTransToCancel.AmountMST,

               _bankAccountTransToCancel.AmountCur,

               _bankAccountTransToCancel.BankTransAmountCur,

               BankParameters::find().nsfTransactionType,

               _bankAccountTransToCancel.Txt);

           */

           //End

       }

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Responsible AI policies

As AI tools become more common, we’re introducing a Responsible AI Use…

Neeraj Kumar – Community Spotlight

We are honored to recognize Neeraj Kumar as our Community Spotlight honoree for…

Leaderboard > 🔒一 Microsoft Dynamics AX (Archived)

#1
Martin Dráb Profile Picture

Martin Dráb 4 Most Valuable Professional

#1
Priya_K Profile Picture

Priya_K 4

#3
MyDynamicsNAV Profile Picture

MyDynamicsNAV 2

Last 30 days Overall leaderboard

Featured topics

Product updates

Dynamics 365 release plans