The loose, broad categorization that Enterprise Resource Planning Systems (ERPs) fall under can make it very difficult to actually define what they are '- much less how to select the best one for your company. This is because ERPs, by their very nature, are not a one-size-fits-all solution. There are so many things that it can touch.
What is the function of an ERP?
In essence, businesses use ERPs to track resources and commitments. If you were an upholsterer, for example, an ERP would tell you how much of a particular fabric you have in your warehouse, and how much you need for a customer's order. Maybe it could also tell you how much of the fabric your supplier has on hand, and when you should expect your next shipment. The ERP could also track orders, payments, commissions, and other details specific to your business.
QuickBooks can be considered an ERP. It handles payments and payroll, tracks sales and inventory, can do forecasts and business planning. These are many of the features you might look for in any ERP system. However, the information contained in QuickBooks travels in one direction. ERP systems have multiple entry points and, with the use of modern technologies like cloud computing and mobile devices, can allow data to be both entered and received from virtually anywhere at any time.
What's important is how one system interfaces with another '- the API. There are many, many modules for different systems. Just because there is a module for integration between Drupal and Odoo (formerly OpenERP), for example, doesn't mean that it will achieve all the functionality that we need. It's certainly comforting to know that there is an API enabling one to work smoothly with the other, but what is the full extent of the information in that API? It all depends on the system.
When we discuss ERPs with clients, we often discuss security concerns. The issue of who is privy to certain information, and how much, is understandably important. Some ERPs also contain Human Resource information, for example, which includes salary and other sensitive information. We can set up a DMZ, blocking the ERP from communicating certain information directly with the web. You don't want any holes in the backend that someone can get into. There are many different steps that we can employ.
Should you customize?
This is all customizable, if necessary, with features predicated on the needs of the client. We have a current client for whom we are essentially building a Drupal ERP from scratch. Not every business needs this approach, however.
There has been a tremendous growth in developing ERPs recently. They've become exceptionally robust, with some systems extendable so that they play well with others, and some are stand-alone entities that provide extensive information. Many larger enterprise units will update as long as you keep the latest version. Still others, of course, have hit a brick wall in their capabilities, and should either be jettisoned, or completely rebuilt.
One important consideration is vendor flexibility. MS GP Dynamics (formerly Great Plains Accounting) is a solid hosted solution. However, this this irrevocably ties you to a specific partner/vendor. Additionally, although the system has robust capabilities, they often recommend using 3rd party plugins to accomplish them more effectively. This adds an additional layer of complexity, which you may want to take into consideration.
I see mobile as transformative in the way ERPs will evolve. Some businesses are geared up for the transition to more mobile device integration; others may lag behind because of the nature of their products. Still, suppliers, distributor networks, and sales forces are going to welcome the migration to mobile. Mobile apps, with barcode scanning, make the job of a salesman much easier now, and eliminate the need of extra equipment, and unnecessary trips into the field.
I don't envy businesses trying to select an ERP today. The selections, and features, are vast. Planning for the future, seeing the trends and guessing what you'll need years from now, is never easy. Talk to your developers, and EVERY department stakeholder. Whatever you do, think it through.