|
|
|
|
|
|
Login
|
erp5.org has permanently moved to wiki.erp5.org ! Current status of ERP5 community websites:
Note: if you created content in this ancient portal, please migrate it to the wiki. The old website will stay online as long as all contents are not mograted to the wiki.
AbstractModel
ERP5 defines an abstract model of business management.Thanks to a clean abstraction layer, new or specialised business modules can be implemented in a consistent way. This abstract business model can both be used to represent internal management activities as well as commercial and management activities accross a group of companies. Introducing the ERP5 abstract modelThe ERP5 abstract model is based on 5 classes:
Those five classes are sufficient to represent business ranging from chemical plants, manufacturing, trading and service. Variants in the ERP5 modelThe ERP5 business model includes a notion of variant. Variants are used in ERP5 to represent the possible variations for a given resource: coulor, size, speed, etc. Variants are very useful in industries such as
Variants are used in particular to define complex resources, resulting from successive transformations. Each tranformation is actually represented as a collection of transformations. Some of which apply to all variants, some others apply to certain variants only. Transformations in the ERP5 modelTransformations are used to represent a complex resource built from the transformation of multiple resources. Rather than following a hierarchical model, ERP5 uses a networked model based on the chemical transformation metaphor: A + B -> C + D In order to make it easier for users to define complex sets of transformation, transformations can be prototyped, that is one transformation can be equivalent to another safe a few differences (ex. transformation Y is like transformation X but instead of producing resource R1 is produces resource R2 and instead of using material M1 is uses material M2). This allows one to create new complex resources by deriving existing complex resources. Also, in order to implement choice of resource, equivalence resources allow to define one resource as any resource among a group of resources. Equivalence resources are very useful in particular to implement equivalence classes of resources for procurement from multiple sources. Transformations in the ERP5 model are instanciated into Causalities of actual movements between nodes. The only causality which exists in a complexe manufacturing process is the causality resulting from the definition of a transformation. In particular, Stocks (a kinf of node) have no causality. No one can say why is stock is bellow 0 or not. Movements & OrdersMovements are where the actual resource planning happens. Movements may include submovements generated by business rules (ex. costing of a procurement movement between a source node and stock node). Movements may also be associated to other movements through causalities. Because movements have a beginning and an end (this is very important for example to represent flows in a chemical process), the whole collection of movements with past dates and future dates represents the whole planning of the company. However, movements are low level objects in ERP5. Users are not supposed to deal with movements except in rare cases (ex. accounting). Therefore, movements are gathered together into orders. Orders are the objects which is used in practice to manage the company planning. Path PlanningIn some companies, in particular in service companies, people are assigned to projects at certain periods of time (consulting) or people are sent to custommers at certain periods of time (ex. TV repair center). These situations can be represented in ERP5 by using temporary path with a given start date and a given end date. Nodes and MetanodesERP5 is both an ERP and a meta ERP. One of the most important class in ERP5 if the node class. A node represents a place which can receive amounts of resources and send amounts of resources. CapacityEach node has a capacity. A capacity consists in
For example, simple resources can
Planning at the node level requires to take into considerations movements which arrive or depart from that node
Calculating the stock level of a node requires to look at the history of movements, add inbound amounts and substract outbound amounts. Metanodes: Aggregation of nodesA metanode is an aggregation of nodes. For example, a company ACME may include two workers: M. White and M. Black. Planning at the level of ACME requires to know the aggregated capacity of M. White and M. Black. We suppose M. White can do consulting (C) or development (D) with a maximum total production capacity of 1 day per day. We suppose M. Black can do consulting (C) or accounting (A) with a maximum total production capacity of 1 day per day. This can be represented as the following equations. For M. White: PC + PD <= 1 PC >= 0 PD >= 0 For M. Black: PC + PA < 1 PC >= 0 PA >= 0 Now, what is the capacity of ACME ? It can be computed as a set of inequations. PC + PD + PA <= 2 PD <= 1 PA <= 1 PC >= 0 PD >= 0 PA >= 0 This set of inequations represents the production capacity of ACME. Similar approaches can be achieved for stock capacity. In terms of movements, metanodes can reveive inbound movements and send outbound movements just as nodes can do. This is mostly useful in order to implement planning at the meta-level, without caring of planning details at the node level. The actual planning in the company will then require changing the source and the destination of movements from a metanode level to a lower level. Metanodes have special aggregation rules for movements besides the usual node behaviour:
Aggregated movements and productions allow to check a given plan is compatible with the aggregated capacity of a node. UML ModelERP5 UML model can be found bellow. |
|
|