Recurring Transactions and Record Notes
I wanted to share with you a recent support incident that I worked on.
The document level notes on posted recurring Receivables Management transactions are lost whenever the master transaction is deleted.
We tested this further and verified the situations below has the following effects on the posted records:
- When the master transaction is deleted, all the notes on the posted transactions are deleted.
- When a change is made to any note belonging to the recurring series, the change is reflected on all documents on the series regardless of what was entered at the time of posting.
The reason why this is occurring is that the recurring Receivables Management transaction uses the master transaction's note index for all transactions in the series. Therefore, all transactions in the series share the one record note. If the master transaction is deleted because it is no longer required, the associated record note will also be removed. Because all transactions in the series share that one record note, the note is removed for all transactions including the posted transactions.
If the user knows that it will be the last time the document will be posted, it is recommended to post the master transaction itself (after removing the recurring batch ID). By posting the master record by itself, we are avoiding deleting the note record associated with the posted transactions.
In our case, the user did not know when the last transaction will be posted until the next time it was due to be posted. They were unable to post the master transaction as the last transaction in the series, and so needed to delete the transaction as it was no longer required. Due to the issue described above, this will delete all of the notes for the series.
To resolve this issue, we created non logging triggers using the Support Debugging Tool's Automatic Debugger Mode feature to capture when Receivables Management transactions are deleted from the Receivables Transaction Entry (RM_Sales_Entry) or the Receivables Batch Entry (RM_Batch_Entry) windows. If the transaction belongs to a recurring batch, AND has a Record Note, AND the Note Index is already used by posted transactions, then the note record is re-saved with a negative note index to protect it from being deleted. A second script restores the note index to original value after the transaction deletion is completed.
In summary, if our customers do not want to lose their notes that they attached to the posted recurring receivables transactions when they delete the master Receivables Management transaction, they will need to import and use the Support Debugging Tool settings file attached.
The Support Debugging Tool settings file for the triggers is available as an attachment at the bottom of this post.
And that's how the cookie crumbles :)
// Copyright © Microsoft Corporation. All Rights Reserved.
// This code and any code in attachments to this blog
// post is released under the terms of the
// Microsoft Public License (MS-PL, http://opensource.org/licenses/ms-pl.html.)