Enterprise resource planning (ERP) systems are IT-based systems designed to manage business commitments (eg sales orders, production orders, purchases, employment contracts and payroll) and other data related to processes executed in typical enterprise. This data also includes resources available in enterprise, such as materials, people, financial assets, production resources and their (planned) usage for of them in business transactions, thus the title ERP.
Typically ERP system as product facilitates information flow between all business functions, using common database for all physical locations and organizational units as defined in wikipedia.
ERP systems are often referred to as packaged software, highlighting the option that the software is available to use (by client organization) without programming or other software development efforts. Thus, in ideal situation, customer only needs to load in his customer specific data, such as materials and customers, and start using the system without any IT concerns.
The simplest ERP’s, designed to be used by SMEs, actually run out-of-the-box in above described manner and can often be used as SaaS (software as service) through internet. More complex enterprises (multinationals, or generally stock listed enterprises) usually use the more advanced ERP systems, where the system has to be configured first, to fit the customers need. And there are some mid-range options as well, with more limited range of configuration options than high end products.
Looking the most complex ERP systems in detail uncovers that they are provided with (tens of) thousands of executable programs, each associated with a set of configurable parameters. Programs work together with other programs only in certain combinations, and only if their parameters are compatible. ERP vendors have usually organized these programs and related parameters in packages or ready-to-use processes, labelled eg. “preconfigured templates” or “industry versions”. By adapting these standard processes the implementation time can be kept relatively fast. In case of gap with standard process, processes and programs involved can be customized using the vast array of configuration options, thus also enabling deeper level of customization while still avoiding the programming. This kind of detailed configuration requires specialized competence, often only available by external consultants. Usually nobody can understand the myriad labyrinths of these options single handedly, so even if you hire experienced consultants you need several.