I have a strange issue following a strange (but reasonable) request from a customer…
They sometimes have last-minute shipping address changes, and want to be able to update the Sales Order’s OTS shipping address, even after Customer Shipment entries have been entered. I can change the OTS address on the OrderHed and OrderRel records without issue, but I cannot figure out how to do it for the ShipHead records.
ShipHead doesn’t have OTS address fields, instead all it has is UseOTS and OTSOrderNum. Both are setup properly, but even after changing the OTS address on the order, it stays the same on the packing slip…
There must be a method I am not calling or something, but nothing seems to work…
the challenge is that it is possible to create a packslip and ship multiple sales orders to that one packslip. The first thing you do when creating a new packslip is choose the “base” sales order involved, which also sets a bunch of defaults for that packslip, including ADDRESS, Shipping Method, etc. Then when you go to ship items, it will let you select items from other orders, BUT the address must match.
If we allowed you to change the address after the packslip is assembled, you could also incorrectly ship lines to the wrong address.
As @hmwillett suggested, if you want to change anything that is one of those base fields, you will need to start over.
I get the point of the standard behaviour, but I already have validations in place for cases where multiple sales orders are on the same pack… Besides, that doesn’t really make sense either, where is the pack ship to address stored?
OTS Addresses are stored on the order header or order rel.
Shiphead references the order OTS info (or the cust shipto number for other orders)
Now that Tim and Hannah responded, I refer to their post.
If you’re using fulfillment workbench, you can prevent your order team from changing the addresses once they’ve been picked.
@HLalumiere what I suspect is happening is it’s pulling it live from the order. You changed the OTS on the order, but that does not flag it on the shipment to do so, so it’s probably pulling the old info? But I’m not sure from where since the OTS replaces the old ship to info on the order.
Right, OTS address is stored on the OrderHed, and then ShipHead.OTSOrderNum points to that OrderHed… Yet the address shown on the pack is NOT the address on the order… So Epicor is not just referencing the order, it is actually storing an address somewhere…
I realize you are all giving me the correct answers for the standard behaviour. I am looking at bypassing that standard behaviour.
Actually–going back to this… I set the order to OTS. I modified the Ship To information in Customer Entry. Refreshed the shipment and now it has the address that I changed in Customer Entry.
This is odd to me as my shipment did no update to UseOTS as true (which, honestly, is what I would expect)