Enterprise Resource Planning (or ERP) with Rails

Enterprise resource planning or (ERP as they're more commonly known) are massive, scalable solutions that allow you to run all aspects of your business including finances, sales, inventory and administration. For years now, customers have had the option of going with a number of different providers such as Microsoft, SAP and Oracle. With a healthy market of different providers, customers have the choice of many different systems.

At the moment there are very few offerings of ERP solutions that have been built on Rails. There are two major reasons for this (and scaling isn't one of them!):

  1. Not enough knowledge - The knowledge required to implement such a solution is more than any one person knows. You must have sound knowledge of generic business processes in all aspects of a today's enterprises. Today's open source software is primarily worked on by either one or two people. This means that there are very few open source developers who have all the knowledge required to implement something on this scale.
  2. Not enough time - To implement an ERP solution for just one company is a huge task and one that would require the work of many developers. Open source developers primarily work for the greater good, e.g. the Rails community is vast with contributions to the current version being the work of hundreds of developers. They all want a better framework to work from. I can't say that they would all share the same vision of an ERP Rails application for massive enterprises!

XLSuite is an example of such an open source ERP solution. This was originally targeted at a single business, but has since grown into a huge Rails application that handles many of the requirements of an ERP solution.

Why would you want a Rails ERP solution? What are the advantages of a Rails ERP solution?

  1. Integration - With standard formats such as XML and JSON, Rails provides an easy way for external applications to communicate with the Rails ERP solution.
  2. Tests - With tests built-in, the Rails ERP solution has a certain amount of testing done automatically for us. This helps to limit the scope of the application doing something wrong. As you would expect, a fair amount of user testing should be done as well, to ensure that everything is working correctly.
  3. Cost - An ERP solution built on Rails could have a lower total cost than a proprietary solution. As Rails is open source, there is no cost to the customer to upgrade to the latest version of the framework. As with current providers, there would still be a charge for developers to integrate the latest features of Rails into the Rails ERP application, but this is the same of any ERP solution.

So are we going to see more development towards business management systems such as ERP?

With the release of Rails 3.0 on the horizon, now is a great time to develop a Rails ERP solution. With many features from Merb being integrated into Rails, we could see the start of more ERP solutions developed as slices using Rails 3.0. The ability to bolt on slices to a core Rails ERP solution would allow organisations to expand their ERP applications based on how their businesses evolve.