Combine two classic customizations... anyone... Bueller....?

So we had a customization created from the base form. Added a bunch of controls, some code, etc…

I guess I was originally thinking we needed to start from base to make sure the idea worked and could be developed, etc.

Now that it’s working and pretty well done, we need to put all that on top of an existing customization.

Is the only way to do this to re-create from scratch?

If you get crafty with the XML you might be able to combine them. I have fixed a corrupted customization in the XML, but never tried combining.

(Obviously it would be strongly recommended to do this in a Test environment first)



As a customization yes… you could cheat and make one of them Base Extension and then set the other customization on top of it.

1 Like

So the steps being:

  1. Set the current customization as base in test environment
  2. put the customization that I want to merge on top of that.
    3a. Save it as a new customization, “customization X”.
    3b. Then export the customization X from test?
  3. go to live- import customization X
  4. set the customization on the menu… that will now include the orginal customization and the new one?

Is that what you are saying? :sweat_smile:

haha no, there is such a thing as a Base Extension in Epicor. Which can sit a Top of Epicor Base but Below a regular customization. Let me put something together for you.



Don’t be jealous @klincecum :kissing_heart:

Here you go @utaylor. If someone wants to watch the video and write up some steps to add to this thread then go for it. (Make sure you up the quality of the video to 1080p otherwise you can’t see :poop:)


While you’re here, what are you using to make that recording of your desktop. I have a need
for that.

Active Presenter for the win! It is all the rainbows and cookies :rainbow::cookie:


I’m very jealous. Thanks for the informative post. I will add this to my bag of tricks
until it doesn’t work anymore :slight_smile:

I will create the write up. Thank you! I will review this shortly!

@josecgomez please let me know if I need to change anything in here. I am a formatting disaster on this site…

This process will show how to create a base extension from a customization to allow layering of another customization on top of the base extension. A base extension sits right above Epicor, right above “base.” You can only do this process once, you can’t keep layering and layering (i.e. add a third customization).

1. Open the first customization in developer mode.
2. Export the customization and save it to a folder.
3. Then open the file in VS code or some text editor.
4. Change the customization into a base extension by changing the TypeCode AND he ProductID of the XXDef Object in the XML:


5. Change the name in key1 to something based on best practices like "MyCustomization_BE," the "BE" meaning base extension.
6. Go back into Epicor in developer mode and import the customization file you just changed in steps 1-5.
7. Now open your second customization in developer mode.
8. Export your second customization.
9. Open the second customization in VS code or a notepad.
10. Insert a value in the Key 3 field of the XXXDef object with the value of your base extension prefaced by "BaseExtension^".
	a. So the value would be "BaseExtension^FirstCustomization_BE"


11. Now import the modified customization into your system.

NOTE - If you want to modify the first customization, the one you made into a base extension, you need to have a copy of it as a customization that you can re-import, make the desired changes, and then follow steps 1-6 reimporting it with the same base extension name.

Looks great thanks @utaylor ! Did it work ok for you?

1 Like

No… I may have done something wrong with the second customization I think…

I tried to do exactly what you did with ABC code. I created a first customization and a second one with the buttons and all.

I got the first customization to import as a base extension, but my second one I can’t seem to get to import on top of the first one.

I noticed I messed up on my base extension though and I didn’t change the productID on it… I only changed the TypeCode.

So I am thinking maybe this is impacting the second customization coming in.

My problem is I can’t seem to delete the base extension to try over from scratch again… :sweat_smile::sweat_smile:

The delete button never activates when I am in the customization selection screen.

You may have to delete it from the Ice.XXXDef table using SQL

1 Like


Yes, since you are masquerading as a base extenstion, and I’m pretty sure Epicor doesn’t want
people deleting real ones :rofl:

1 Like

Yeah well mine is unique, it is product id “EP” and type “baseExtension,” the only one like that in the whole DB :sweat_smile: :rofl:

You should have made it “UT”.