PO Ship To Address

So we have a BPM to set the Ship To address to the plant address on a new PO. I was surprised that Epicor doesn’t select the plant address by default. Was this changed on Epicor 10? It is funny they missed or at least didn’t give you a check box to select what address you want to use at the plant level.

So now I need to make one for creating New POs from PO Suggestions and I am struggling to figure out what BO to use. Any suggestions?


PO Entry in E10 gives you the option to choose the ship to based on Customer (for drop ships), Supplier (for drop ship to another supplier), Plant, or Company.

Clicking Customer, Supplier or Plant bring up a search window to let you select one.
Clicking Company, sets the address as the main Company Address.

We have multi-plant setup, but each plant only has one warehouse. I think you’d select the specific warehouse on the Release tab.

FWIW - the plant you launch the PO Entry from, becomes the default plant & warehouse for that PO. If I launch PO Entry from Plant A, but want the items to ship to Plant B, you have to change it on the PO Header. Or on the Release, if you want different items to go to different plants/warehouses.

1 Like

Yeah, I they can select another but in E9 it does not default to plant address. I tested it. The big issue is creating a PO from PO Suggestion. I have a BPM for new PO but I was having issues finding the correct BO for PO Suggestions.

Surprised it doesn’t default the the plant address. Are default warehouses setup in Site Configuration?


Again, this is E10. So your mileage may vary.

Yes, we have that set up in Plant…but like you said your on 10.


I use post processing POSugg.GetRowsPlant to set defaults on the suggestions.

Did you use ABL Code?

Yes, I do

What tt table are you pulling address or do you have a join to another table? Sorry, I am not a programmer by trade.

I don’t see any Plant or Addresses in TTSugPODtl

Plant is there in ttPOSuggDtl, but I don’t think that is going to get to the POheader. I have a routine on POSugg.Generate that should work. I will strip it down and post here in a few.

Thank you .

This should be close. it has not been tested. It is on post processing of POSugg.Generate. The CheckBox20 marks the header as processed. make sure you are not using that variable for something else.

For each POHeader where POHeader.Company = cur-comp:
	If not(POHeader.EntryPerson = dcd-userid and POHeader.Checkbox20 = false) then next.
	For each Plant where Plant.Company = cur-comp and Plant.Plant = cur-plant.
		POHeader.ShipAddress1 = Plant.Address1.
		POHeader.ShipAddress2 = Plant.Address2.
		POHeader.ShipAddress3 = Plant.Address3.
		POHeader.ShipCity = Plant.City.
		POHeader.ShipState = Plant.State.
		POHeader.ShipZip = Plant.Zip.
		POHeader.CheckBox20 = True.