You are here

Resource Event Agent (REA) - Pattern Maps

Structure Patterns at operation level
REA structure at pattern operation level describe about, what has happened? It is consist with three sections. They are: 1. REA exchange process- It explain the interaction between the enterprise and its trading partners. 2. REA conversion process - It explain how the enterprise create product and service. 3. REA value chain - It is describe "how t o combine the REA business process in to the chain of business process of the enterprise".  (Hruby, 2006)

Structural Pattern at policy level
REA structure at policy level focuses on, what could, should not happen? It describes how to design REA- based application models that model economic exchanges that actually occurred. This level includes several patterns. Such as commitment pattern – describe future event, policy – business rules, responsibly- structure of the agent and custody- responsibility for resources.  (Hruby, 2006)

Developer need to build the useful business application. Therefore business application usually require additional functionality. Function essential for some application, but not all. In the behaviour pattern describe, how the REA model can improve to support specific functionality that originate in user requirements.  (Hruby, 2006)

Pattern Map


REA was earliest proposed in 1982 by William E. Mccathy. It introduces as generalised accounting model and contained the concepts of resource, event and agents. It is very popular model in teaching accounting information system. There are separate REA modules for business process in the system. The business process can be sales, purchase, financing, human resource and conversion.

What is REA?

 There are several concepts in business application. Understanding of these concepts is easier to design business application, to ensure that they do not violate the domain rules, and to changing the requirements without changing the overall architecture.
This concept is known as REA. REA mean Resource, Event and Agent. Following diagram shows well known REA concept. Which are Economic Resource, Economic Event, Commitment and Contract?

Fundamental REA concept (Hruby, 2006)


Economic Resource – It is a thing that is scare and useful for economic agent. In the business application it can be plan, monitor and control. Examples for economic resources are money, raw material, product and services, labour, tools and services the enterprise uses.

Economic Agent – It is an individual or organisation capable of having control over economic resources, and transferring or receiving the control to or from other individuals or organisations. Economic agent can be customer, vendor, employees and enterprise. The enterprise is an economic agent that we create the REA model.

Economic Event – Economic Event can be either increment or decrement in the value of economic resources that are under control of the enterprise. Some economic event occur continuously, such as sales of goods; Some are overtime; such as rentals, labour acquisition, and provision and use of services.

Commitment – “It is a promise or obligation of economic agents to perform an economic event in the future. Examples of commitment: line item on the sales order represents commitments to sell goods.”

Contract – “It is a collection of increment and decrement commitments and terms. Contract can be create additional commitment. The contract can be described what should happen if the commitment is not fulfilled. Example: Sales order is a contract including commitment to sell goods and receive payments.

Enterprise can increase or decreased their resources either by exchange or by conversions.

  • Exchange – The enterprise receive economic resource from other economic agents, and it gives resources to other economic agents in return.
  • Conversion – An enterprise uses or consumes resources in order to produce new or modify existing resources.  (Hruby, 2006)

REA business application can be made full details of needs and even develop the scratch in minute. Model-driven software architecture and generic business knowledge encoded in the application. So it is increasing their efficiency and productivity of application development, also it responses for changing needs. REA business solution represents financial and other business information in the user’s language and the user’s point of view. REA application provides exactly, clear and completes forecast and description of the future economic consequence of management decision. So user can decide right action at the right time. The REA model covers both production and financial process in the same environment. So user can get qualified business decision. In a single REA application, individual member can be managed, planned, monitored and controlled business of the whole group. (REA Technology, 2007)

When an application designer identifies the economic resources, the user wants to plan, monitor and control using the business application. Then an application designer can start with REA exchange process, REA conversation process and REA value chain. If the application designer is not able to understand of the economic resources, then they can start with the REA value chain, “and using functional decomposition of the process, identify the level at which users want to plan, monitor and control the resources, and then, by applying the REA exchange process and REA conversion process patterns, identify the economic event and agents.”  (Hruby, 2006)

REA Exchange Process

“The REA exchange patterns resolve the following forces. (Forces is used for the constraint that restrict the solution of the problem, requirements, and properties that th e solution should have)
The modelled software application should provide information about how the interaction between the enterprise and its trading partners change the value of the economic resources of the enterprise. The application track of the increase and decrease of the resources that under the control of the enterprise, also recorded resources that exchange with others.

Application designers want to concentrate on the fundamental of the user’s business, and separate those requirements which are like to change. User of the business application that they do not communicate with those fundamental and they remain until late stage of software development.
The model should be consistent with business domain rule. Application designer want to include business semantic in to the entities in the application model.” (Hruby, 2006)

“Model the interaction between the enterprise and it’s trading patners as exchange of economic resources. (Hruby, 2006)”

REA Exchange Process


In this exchanges process consist with at least one increment economic event. Increase the value of the economic resource by transferring rights to the resource to or from other economic agent. Each increment economic event is related to the at least one decrease economic event. We called this relationship as “exchange duality”. This exchange duality has many to many relationships.  Also there must be at least one decrement for each increment and vice versa. The overall increase value related to the increment event is greater than the decrease value related to the decrement event, which is called exchange process to add value. Economic event is related to the economic resource. The relationship between the increment event and economic resource is called the “inflow”.  The relationship between the decrement event and economic resource is called the “outflow”. Other thing is each economic event is related to the two economic agents. In each economic event have one receiver and one provider. Each agent has Zero or more economic event. (Hruby, 2006)

REA Conversion Process Pattern

This module should give information about how the process of creating and modify resources effect their value, and how the value has been changed. Also it provides who was responsible for the resource and when. This module capture the fundamental of the user’s business, and it take out user’s requirements that can be changed.

REA Conversion Process

In this conversion process there must be at least on increment economic event, and it’s increase there value of resource by modifying its features. Also it has one decrease economic event and its decrease their value by modify their features. This increment and decrement conversion process occurs over period of time. Each increment event is related to the one economic resource by relationship called “produce” and each decrement event is related to the one economic resource by relationship called “consume” or “use”. When the resource use mean it’s modify their features. Economic resources are use or consume in order to produce other economic resources.  So increment event and decrement event related by the relationship called “conversion duality”. This is an n-ary relationship. In the application there must be many increment and decrement events related to the single conversion duality. Each economic event related to two economic agents. Economic event is relates with economic agent by relationship called “produce” and “receive”. This transferring can be happen at the end or during the relationship. Economic agent can be relating to zero or more Economic events. (Hruby, 2006)

REA Value Chain Pattern

REA value chain

Enterprise creates value by providing good and service according to customer prefer. Goods and services created using serious of business process monitored and controlled by users. They are supported by one or more business application. Examples for business application: production and manufacturing, warehouse management, sales and distribution and finance. The value added business process effect to value of the resource.  Input to the each business process is the resources that consume or use by the business process. On the other hand it can be given to other economic agent Output of the each business process are the produce by the business process or gained by economic agent. Both the exchange and conversion process adding value to the resources. The users of business application want to plan, monitor and control by input and output to the business process. “REA value chain consists of three modelling elements. They are: 1. REA Conversion process. 2. REA Exchange process. 3. Resource value flow. (Hruby, 2006)” We can give examples for conversion process, such as manufacturing operation and a service operation (transportation).  Examples for an exchange process: sales and purchase process. “Each resource value flow must start and end in some business process. Each business process must have an incoming and an outgoing resource value flow. (Hruby, 2006)”. One resource can be input and output of a single business process. We can give some example for that, such as Cash is both the input and output of the financial business process, item is both the input and output of the quality assurance process. “An REA business process is either an exchange process or a conversion process (Hruby, 2006)”  

Resource Value Flows

“Economic Resources are the input and output of the REA exchange and conversion process.” Create the model for an enterprise. We have to consider each resource how the enterprise obtains right to it. Example: How it received and produced, how the enterprise losses right or how it is consumed and given away. In the conversion process, enterprise can gain rights by producing. In the exchange process it is doing by receiving. In the REA model it is indicate by “producing” or “inflow” relationship between the resource and an increment event. The enterprise losses right by consuming it in conversion process and by giving it away in an exchange process. In the REA model it is indicate by “consume” or “outflow” relationship between the resource and decrement event. (Hruby, 2006)
Business Process Modelling
A business is very complex system.It is consist with herachical business and their functions. A better business model capture all the information. “Process modeling is the business process , which describe how they relate to interact with the resource in the business to achieve a goal for the process. (Eriksson & Penker, 2000)”

Business Modelling With UML

Unified Modelling Language is a standard modelling language. It is including graphical notation technique.  There are several adavantages to using-object oriented concept and techniquesto model a business, such as similar concept, object orientd programming used from sevral years, so its proven it can be handle large and complex system and easier ways to view an oragnisation or a business (object oriented technique can be easily show the business process and traditional oragnisation struture). Unfied  Modelling Language has nine predefined diagram. 1.Class diagram – It is describe the struture of the system. 2. Object diagram -  Reprsent possible object collection of a specific class diagram. 3.State diagram – Reprsent possible state of a system. 4. Activity diagram - It is describe activities and action having in a system. 5. Sequence diagram – It is giving several sequence s of messages sent among a set of object. 6. Colloboration diagram – It is describe set of colloberation among set of object. 7. Use-case diagram – It is gives relationship between usecases. 8. Component diagram – It is used to describe the component of the software. 9. Deployment diagram – It is describe the hardware within the system. These diagram capture the three imporatnt things. They are struture, behavior and funtionality. (Eriksson & Penker, 2000)

Alternative Model of Business Process

There are many methods for modelling business process. They can be IDEF0, various form of flow chart, organisatuon chart and Porter’s value chain.

IDEF0 (Intergration Definition for Function Modelling) designed to model the activities, decession and action. Activities are related by their input, output, mechanism and control. IDEF0n is not intended to be used for modelling sequences, which is good from REA perspective. (Hruby, 2006)


IDEF0 activity

IDEF0 input and output corresponds to the REA economic resources consumed and produced.  IDEF0 mechanisms are people, machines and system. According to the REA mechanisms are economic resources and some are economic agent. Controls regulate the output of the activity. IDEF0 controls corresponding to the REA policies, eg: entities that relate together types of economic agent, events and resources. It is a generic modelling technique.


Organization Charts
The other method of modelling business process is organisation chart. It is representing what resource mangers and workers will control, execute and monitor.  Also it focuses on the flow of value changing in raw material to finish product.

Porter’s Value Chain
An application designer use porter’s value chain for modelling business process. It is a tool and conceptual frame work and identify competitive advantage of a company. It is very important technique for business system. (Hruby, 2006). It “divides process of a company into core business processes that add value to the end products of the enterprise, and support processes that enable the core process and add value indirectly. (Hruby, 2006)”

Flow Chart
An application desighner use flow chart for modelling all business process of the company.It is focus on sequence and activities.  Creating such a model is good for understanding the process of the enterprise. (Hruby, 2006)