We import EDI orders for multiple customers.
One of our customers requires the ship date to be transmitted back to them immediately after order import/creation.
Luckily things are pretty simple. One release per line, everything has a set ship date based on the date the order is created, and the type of order, (21 days for a direct to customer, 14 for a store, etc)
I have created a BPM that sets the RequestDate on the Order Header based on the criteria. It is an in-transaction data directive on the order header that, when new records are created, checks customer, order type, and sets the appropriate RequestDate depending on the order type. This appears to be working as intended.
From here I am making some assumptions:
I did not bother making a similar directive for the release level, because, as I understand it, when you create a new line/release, the ship date on the release will default to the ship date on the header. Creating an order and adding releases manually seems to confirm this.
When we import orders VIA EDI, however, the ship date on the header is being set as expected, and the ship dates on the releases are also being set as I would expect. BUT, after that, the ship dates on the releases are being changed to the requested date that the customer is including in the PO. The header is remaining unchanged.
I have scoured our existing BPMs up and down looking for something that would be doing this and I do not think it exists. I am inclined to believe this is baked in Epicor behavior, but I am unfamiliar with the EDI import process to know if there is a setting or something that would tell Epicor to not do the thing I want it to stop doing (changing the ship date on the release)
I am currently working with some Epicor folks to get to the bottom of what is happening and I have some ideas of some secondary BPMs I could make to overcome this but they aren’t exactly clean. I just wanted to float this here to see if anyone had a solid idea of what is happening and if there is a ‘correct’ way to modify the behavior.