ERP5 Explained
ERP5 is a free software ERP written in Python and Zope. It's using an object
database as storage and MariaDB for indexing. ERP5 consists of a core that is
extended by installing business templates
to add specific functionalities such as accounting or trade.
The key difference to other system is the generic nature of ERP5. It is using
only five abstract classes defined in the Unified Business Model to model all
processes in an organization. This way ERP5 utilizes only about 20 tables compared
to thousands usually found in other systems.
An example would be using the same ticket-class across sale opportunities, customer
support requests, meetings or bugs. This allows to inherit functionalities while
providing a familiar user interface but
also translates to effort for abstracting individual processes to the generic model.
ERP5 Technical Overview
ERP5 groups objects into modules (eg person module
). Objects are by default
viewable as list of objects or single object. They have properties defined via
property sheets (address fields for person
), relations to other objects
(person-organization
) and can be categorized (function:staff
). Objects are
stateful and use workflow actions to change from state to state
(person:draft->person:validated
). Security can be defined dynamically based on
assignments (eg person+location
), context (eg project+task
) or directly on a
module, object or workflow basis. ERP5 is an activity-based system and
provides complete history on all objects and modifications. For more details,
please check the developer basics technical introduction.
ERP5 Implementations
Due to its generic nature, ERP5 has been
implemented across various industries over the past 15 years ranging from
pharmaceuticals to tolling covering topics from manufacturing to international
finance and trade.
Projects are normally highly customized as the idea of ERP5 is to be built around
company requirements instead of providing an industry solution to which to adapt.
The standard ERP5 installation therefore is more of a starting point to develop
a custom solution versus a ready-to-use system.
Is ERP5 for me?
Developing an ERP5 solution requires investing time - either your own, including
at least a year to learn the ins and outs - or
Nexedis for providing you a system according to your specifications and along
our
standard implementation process.
Implementing ERP5 also requires you to understand your business, because the
system is being built around it instead of giving you a solution how to run it.
The implementation process means constant decision making to actively drive
development, providing feedback and compromising on prioritizing features. It's
a lot of work one has to dedicate to.
ERP5 Stack
Nexedi provides a number of additional
free software solutions geared towards use with ERP5 and normally working
unisono, which include:
- SlapOS - cloud infrastructure management and deployment
- NEO - distributed, transactional NoSQL Database used in ERP5
- Re6st - resilient mesh for network optimization
- Wendelin - extensions for working with Big Data/Machine Learning in ERP5
- renderjs/jio - JS frameworks for offline-capable/synchronizing ERP5 web apps
Using the above tools allows to build advanced, yet simple solutions such as a
web-app for
reporting KPIs from remote locations across several countries with some modules
being made available offline or the management of the
Teralab Big Data computation platform which uses ERP5 to set security
permissions for both users and data maintained within the same cloud
infrastructure but for multiple organizations.