To continue this part of the discussion…
There’s a thought going around in some of the ERP blogs/LinkedIn/etc. on the idea of “Composable ERP” The idea is there is a core ERP system (GL/AP/AR/etc.) that offers API access and then one adds the CRM, EDI, Scheduling, etc. modules. Easier said than done since the effort of integration is always under appreciated.
However, I’ve been thinking about what Haso said:
What if there was an actual ERP Framework product that was segregated from the ERP system?
What if one could take a page out of the Domain Driven Development playbook and implement a custom front-end to all of your ERP systems? Hold your nose, but this might even be a place where AI could help.
Imagine describing your business capabilities in Markdown using an event-driven narrative which would include your authorization logic. Feed this into your favorite AI code generator to generate UI, business and authorization rules. This layer would enforce all business logic. Now, for each ERP system you have (if you have acquired some or migrating from one to another), implement the persistence logic for that ERP system. For example, if a user in the Ohio office - which uses Oracle’s NetSuite, they would enter a part in the framework Part screen and it would add the part to NetSuite. A user in Missoula enters a part, but it persists the part in Kinetic via API as well. Both Part screens look the similar in Toledo and Montana and the users don’t have to know which systems they are using on the backend. In fact, when the Ohio team is on-boarded into Epicor, nothing changes for the user. No extra training required. One could do the same for CRM, payroll, etc. Since authorization is centralized, it would make a lot of things easier to manage.
More importantly, if one needs to switch from one ERP system to another, you implement a new persistence layer. Again, that’s not easy, but it might be easier than a wholesale ERP system changeover.
It’s something I’ve been thinking about for years, but it suddenly was rekindled for some reason…
