Epicor - Magento Integration

Hello all - has anyone integrated Magento with their Epicor system for automated processes, via their website?

If so, words of wisdom or red flags we should consider when trying to implement?

What are you using to integrate the two systems? API or a 3rd Party Connector.

I believe the plan is to use an API connector - the website team has asked for Epicor’s API / REST documentation, so that is my assumption.

Epicor Commerce Connect is a module you can enable that integrates with Magento. It runs a Task on your Task Agent and it honors your External Company settings and it will send data to your Magento and Magento can send data back.

1 Like

Thank you, because “I don’t know what I don’t know”, is ECC required for Magento to integrate with Magento to push data in and pull data back out to the website?

Additionally, if “no”, are there additional benefits that should be considered for considering ECC?

It is not required you can do it via your own ETL. However, you should look into it… It may have everything you need with 0 code.

It can be done without ECC. ECC is a bit of a shortcut, but personally, I
find it a bit expensive for what it actually offers… Just my opinion.

On a side not, I am a big fan of your company. My home is littered with
your fixtures!

That’s great to hear, I am also a fan of it, HA! Seriously, it’s a great company to work for, and a person can’t beat the benefit of having the product in their home! :slight_smile:

Thank you for you insight on ECC.

I’ve done it twice now.

ECC makes sense if you don’t already have a website and don’t want the hassle of managing it all, because it’s a one-stop solution, and Epicor has a big team making sure it does what it does. There is a certain amount of lock-in, because it uses a heavily customised version of Magento, and that also means you can’t retrofit ECC to a Magento website that already exists (unless anything’s changed very recently).

If you do roll your own integration, the only real things to be aware of are that there’s no short-cut for having teams involved who really know Magento and really know Epicor (rarely they’ll be the same teams), because the two platforms don’t handle some key things the same. And in my experience, picking the Magento team makes a huge difference to both the project and the outcome.

1 Like

Thank you Daryl, I appreciate the insight.

Daryl, I meant to ask - would you be open to a call from myself and our two Epicor Super Users to pick your brain on things we should think of ahead of time? We are clueless when it comes to this, the decision was made without our input, so we are kind of trying to catch up, on an integration we know nothing about.

Sure, no problem. I’m always interested to catch up on anyone else’s experience anyway.

Oh, thank you so much! Could you share your email information for me to send some times to try and coordinate? You are more than welcome to email me at mbrown@vtforge.com, with your contact info.

Thank you again!

^THIS. My previous employer tried to “roll their own” without ECC and it didn’t work well as they didn’t want to pay for enough staff who knew Epicor and Magento to get a successful integration.

3 Likes

Magento is the easy part. I wrote an integration that handled multiple ecommerce platforms, and Magento and Commerce Cloud were by far the easiest to work with because they use Swagger. The majority of the work was learning how to efficiently create customers, orders, and deposits in Epicor. (Which goes against Epicor’s suggestion to put every order under a single customer called “Web Customer” or something, but that’s how the company wanted it.) The Epicor side involved about fifteen or twenty separate REST services. I had a previous version to crib from, but it was an unmaintainable bug-ridden mess and I ended up rewriting it. I wouldn’t trust anyone to do this who doesn’t already have extensive experience with Epicor.

At one point we were using four different ecom platforms abstracted behind a common interface. Once I had the Epicor side down, it would take about a week to integrate a new platform if they used Swagger and about a month if they didn’t. I still have all the code, but I don’t own it. I wonder if I could convince my previous employer to license or sell it to me…

1 Like

Magento is the easy part for people who know Magento, while Epicor is the easy part for people who know Epicor!

This is why the team set-up is SO important, and that it really is a team, not one side thinking they know it all. Like you, I definitely wouldn’t trust anyone who said they could handle this without Epicor experience involved, but the same applies to the Magento end as soon as it’s a non-trivial integration.

My preferred solution, rather than the multiple REST services, in Epicor, is to expose only dedicated Epicor Functions. That way you can keep the Epicor logic within Epicor, where people who know Epicor can maintain it, and you get the increased security of limited REST access as well.

6 Likes

I came across this thread while looking for recommendations on how to connect Epicor (Functions + REST) and Magento (REST).

Here are some of the features we are currently working on :

  • Updating Magento products inventory (from Epicor to Magento)
  • Creating ERP orders (from Magento to Epicor)
  • Creating Magento shipments (from Epicor to Magento)

We are having a hard time figuring out where to store ID references (in Epicor? in Magento? in both?).

For the products inventory, we created a Magento custom attribute ‘erp_product_id’, which stores the Epicor PartNum. This looks fine, although it requires to GET every product from Magento, then for each product, GET the stock from Epicor and UPDATE Magento product.

For the Magento shipments, it seems like a real puzzle. Magento REST order shipping endpoint requires to pass the IDs of the Magento order lines to ship. We never thought of storing each Magento order line ID into a user defined ERP field. Is there another recommended way to handle Epicor => Magento shipments?