How to Do Modern Epicor Development

How to Do Modern Epicor Development

One of the best things about Epicor software

– was always that it was so heavily Windows-based.

I recall an Epicor sales person telling me that “Epicor is more Microsoft than Microsoft”.

For all the drawbacks of that all-in-on-a-platform approach, it made customising the system straightforward. It was built on Microsoft tech, with Microsoft tools, and all the standard Microsoft and .NET development ability was right there within the system management. If Windows could be made to do something, you could get your Epicor system to do it.

… it isn’t like that any more, really.

It’s taken a while, but I’ve realised that, as an Epicor developer who makes a living making Epicor Kinetic do new things, my mindset has shifted because it’s had to.

The big shift to a new User Interface is part of it. That is web tech now, not Microsoft. Any hard-earned skills making the classic client sing and dance are now outdated.

But it’s only part of it.

Modernisation, a new emphasis on running in the cloud, a shift to SaaS, and demand for things to be both secure and inter-compatible – all mean that the system itself now has a very different basic philosophy. It’s far more locked down, more restrictive technically, focused on bespoke customisation capability rather than common platform tools, more modular and less tightly coupled.

Bluntly, you can do less in an Epicor system than used to be possible, and it’s become a moving target so it’s not wise to push the boundaries.

But it’s not all bad, honestly.

The key to all this is the decentralisation. Kinetic itself runs on REST APIs. Information shuttles around via calls between standalone services, because that’s how anything built for cloud works (excuse the simplification to make the point).

That means that at the same rate it’s become harder to make a Kinetic system do what it wasn’t designed to do, it’s become easier to link it to other things. Which opens up different approaches.

It’s nice outside, you’ll like the freedom.

For years, I reckoned I could make Epicor systems do almost anything.

These days, I find I’m shying away from that, in favour of getting something else to do it. Quite often there’s an existing product or service, and when there isn’t I can create one. Let Kinetic do what it does, and call on something else for the new thing.

It’s not quite as simple as it sounds, because Epicor development work is still needed to connect and use whatever this outside service may be. But the tools for doing that are good, and stable, and not going anywhere, and a standard set of techniques work well across a wide range of possible needs.

And the external services?

I’m enjoying creating some of them.

  • Bespoke mobile apps.
  • Mini print servers for centralised automatic printing.
  • Links to external specialised data.
  • AI processing

And there are so many more already out there: CRMs, carrier automation, data APIs, mapping, webshop services, the whole Microsoft landscape of services and products that most Epicor customers are already using … there’s no end to the possibilities.

I’m not sure how I feel about this proliferation in some ways, particularly as more and more of it has subscriptions, but this is the way things are. And Epicor capabilities are not free.

You can’t avoid the disruption, you might as well enjoy the benefits.

If you were using Epicor ERP10, you may have noticed the downsides I covered as you’ve been pushed kicking and screaming towards Kinetic. For many, I know, it hasn’t felt like an improvement, particularly admins and developers. And it’s been a bumpy ride even for those who could see the benefits of the new system.

This, I think, is where we all should be looking. Epicor had to modernise, and the modern system has a lot of advantages. We should maximise those, not fight them.

Don’t try to do things the old ways too much. Yes, BPMs still work well, BAQs are still powerful. Functions are (in my opinion) the best Epicor feature ever.

But when you’re tempted to customise, first step back and look at whether there’s something external that could be leveraged. Or even something unique to your company that you have control over and can connect to a Kinetic system that remains easy to support.