BPM to track deletion

We tried to take away the ability of people to delete things in Epicor, but they are saying that they sometimes need to change things and that means deleting them.
I discovered the change logs and was able to turn them on, so we can track what users do, which is great.
Only later did I discover that if someone deletes something it does not get written to the change log, and everything about that item is also deleted from the change log. I have heard there is a way you can create a BPM that will write deletions to a custom table. I am fairly new to Epicor and have not worked with BPM’s at all. The change log was very simple to do, and I have no experience with anything more complicated.
I cannot find anywhere where someone has a step-by-step to create this BPM. Has anyone done this, and could they share how they did it?

Hi Travis,
i suggest to start with your Epicor version Education Documents “Produced by Epicor University”, it will give you a general idea.

One of the simplest ways is to write a BPM that writes key pieces of the data (being deleted) to a UD table including the calling user and datetime stamp. If you need the trace history from ChgLog for auditing perspective, you can query and either write or aggregate this data as well within the directive. I typically use c# with linq to perform queries and connections to Epicor services in order to write the data, though with the enhancements to BO calls and variable assignments in the BPM interface, it should be possible to use these as well.

AuditLog.bpm (23.6 KB)

I created a data directive that puts records into a UD table when records are deleted from the Invoice table, hopefully you can import it and adjust to your requirement.