Resource-Event-Agent Model

From P2P Foundation
Jump to navigation Jump to search

= "REA enables resource flow or process flow models at any level of granularity and aggregation,".

Contextual Citation

"I would never tell a traditional company to switch their accounting system to REA. But if you are organizing supply chains, joint ventures, multi-company collaboration spaces, or economic networks, it's all different."

- Bob Haugen (email, July 2018)


1. Bob Haugen:

"REA enables resource flow or process flow models at any level of granularity and aggregation, so that micro-models may be interconnected with macro-models and vice versa.

The general pattern is Input-Process-Output, where the output of one process may become the input of another process, and so on (almost) ad infinitum.

Both the inputs and the outputs are economic resources (including natural resources as they are affected by human economic processes), each of which may have limits.

Economic Agents operate the processes which consume and produce resources. The agents may be individuals or aggregates. Likewise the resources and processes.

The resources flows form networks. Any network flows algorithm may be used upon them.

The flow networks may also include exchanges of resources between agents."

2. From the Wikipedia:

"Resources, events, agents (REA) is a model of how an accounting system can be re-engineered for the computer age. REA was originally proposed in 1982 by William E. McCarthy as a generalized accounting model, and contained the concepts of resources, events and agents (McCarthy 1982).

REA is a popular model in teaching accounting information systems (AIS), but it is rare in business practice. Most companies cannot easily dismantle their legacy data warehouse systems or are unwilling to do so. Workday, Inc., IBM Scalable Architecture for Financial Reporting, REATechnology, and ISO 15944-4 are exceptions. Fallon and Polovina (2013) have however shown how REA can also add value when modelling current ERP business processes by providing a tool which increases the understanding of the implementation and underlying data model.


The REA model gets rid of many accounting objects that are not necessary in the computer age. Most visible of these are debits and credits—double-entry bookkeeping disappears in an REA system. Many general ledger accounts also disappear, at least as persistent objects; e.g., accounts receivable or accounts payable. The computer can generate these accounts in real time using source document records.

REA treats the accounting system as a virtual representation of the actual business. In other words, it creates computer objects that directly represent real-world-business objects. In computer science terms, REA is an ontology.

The real objects included in the REA model are:

  • goods, services or money, i.e., resources
  • business transactions or agreements that affect resources, i.e., events
  • people or other human agencies (other companies, etc.), i.e., agents

These objects contrast with conventional accounting terms such as asset or liability, which are less directly tied to real-world objects. For example, a conventional accounting asset such as goodwill is not an REA resource.

There is a separate REA model for each business process in the company. A business process roughly corresponds to a functional department, or a function in Michael Porter's value chain. Examples of business processes would be sales, purchases, conversion or manufacturing, human resources, and financing.

At the heart of each REA model there is usually a pair of events, linked by an exchange relationship, typically referred to as the "duality" relation. One of these events usually represents a resource being given away or lost, while the other represents a resource being received or gained. For example, in the sales process, one event would be "sales"—where goods are given up—and the other would be "cash receipt", where cash is received. These two events are linked; a cash receipt occurs in exchange for a sale, and vice versa. The duality relationship can be more complex, e.g., in the manufacturing process, it would often involve more than two events (see Dunn et al. [2004] for examples).

REA systems have usually been modeled as relational databases with entity-relationship diagrams, though this is not compulsory.

The philosophy of REA draws on the idea of reusable Design Patterns, though REA patterns are used to describe databases rather than object oriented programs." (,_events,_agents_(accounting_model))


Bob Haugen:

"REA is a simple economic and accounting ontology that can handle all economic resources, not just monetary ones; can handle full economic cycles including production, distribution, and exchange; and can handle externalities (waste and degradation of resources) as well as generative resource flows.

REA is usually presented as an enterprise accounting model. But it can also be used for higher-level economic analyses, which can connect individual organizations into larger economic formations. No other accounting model is so adaptable. In this context, it is apt to think of REA as a general-purpose economic ontology.

The REA Ontology quotes Ijiri as saying "...the economic activities of an entity are a sequence of exchanges of resources - the process of giving up some resources to obtain others." Those exchanges of resources do not stop at the boundaries of a single company. They extend across many individuals and organizations, across industries, regions or the whole planet. And they can be aggregated at higher levels: for example, all exchanges involving an economic resource or economic agent type.

REA economic exchanges can extend across companies, industries, nations, regions and the earth as a whole. REA economic resource and agent types can aggregate data at higher and higher levels.

Integration of REA data at higher levels could give organizations and individuals views into their surrounding value systems, business clusters, regional economies and ecosystems.

Governmental and regional organizations could operate with current accurate aggregate data for economic analyses and future predictability.

Internet aggregators could follow the dependencies of economic events more deeply, beyond superficial text matches, into the ripple effects of wants and needs and potentials on all the related economic agents.

The signals of economic events, needs and potentials do now and will increasingly propagate through networks of economic relationships that will be forced to look a lot like REA. Those networks will become increasingly intelligent." (

Supply Chains and Value Systems

Bob Haugen:

"Supply chains, which have been modeled in REA terms several times, are composed of the chains of material suppliers to an individual manufacturing company. For example, the January 2000 REA, a semantic model for Internet supply chain collaboration and Supply Chain Modeling with REA which focuses a lot on transportation.

A value system is a broader concept, which consists of all the interconnected economic agents and resource inputs involved in bringing a product or service type to its end consumers.

Both supply chains and value systems are modeled in REA by chains of alternating conversion and exchange processes, connected by output-input stock flows. These chains will also be used in all of the other larger economic formations below, except the larger formations will use larger aggregate resource, agent and process types." (

Metabolic Flows

Bob Haugen:

The chemical reactions of Metabolism are organized into metabolic pathways, in which one chemical is transformed through a series of steps into another chemical, by a sequence of enzymes. Enzymes are crucial to metabolism because they allow organisms to drive desirable reactions that require energy that will not occur by themselves, by coupling them to spontaneous reactions that release energy. Enzymes act as catalysts that allow the reactions to proceed more rapidly. Enzymes also allow the regulation of metabolic pathways in response to changes in the cell's environment or to signals from other cells.

Following the methodology suggested by Jason Moore in Dialectics, Nature, and the World-Historical Method, we can interpret the inflows and outflows of human economic processes as metabolic pathways. This is not just metaphoric.

Moore talks about “the unity of work and energy”. The unity is metabolic pathways."

Input-Output Graphs

"The Input-output model of economics uses a matrix representation of a nation's (or a region's) economy to predict the effect of changes in one industry on others and by consumers, government, and foreign suppliers on the economy. Wassily Leontief (1906-1999) is credited with the development of this analysis." ([1])

REA Client Application Interface

"This application attempts to be a new frontend to existing 'Open Value Network' client / server apps." (


= In the early 1980s Bill McCarthy first defines Resource-Event-Agent (REA) model for accounting systems and publishes many papers on the topic.


  • 1979: Bill McCarthy redesigns accounting based on real economic events, instead of accountant's interpretations from the viewpoint of ownership. He publishes a detailed analysis of economic interactions which explains the design thinking behind REA.
  • 1982: Bill publishes the seminal paper that defines REA. This covers only the accounting or event layer of REA.
  • 1982-1999: Bill and several collaborators add the Planning or Commitment layer and the Type or Policy layer.
  • 1999: Bill and Guido Geerts publish The Ontological Foundation of REA Enterprise Information Systems which defines all three of the layers of REA in semantic detail.
  • Anita Sawyer Hollander, Eric L. Denna, J. Owen Cherrington publish the first textbook on teaching accounting using REA
  • 1995-2000: Bob Haugen discovers REA while researching models for developing supply chain software. He and Bill further develop REA as a semantic model for internet supply chain collaboration, which they present at the OOPSLA 2000 Business Object Workshop. Previously, REA has been an internal business accounting model: the internal view. This presentation defines the external, objective, or multi-agent view.
  • 1999-2001: Bob and Bill start working with a series of standards organizatons, including ebXML, UN/CEFACT, and ISO.
  • 2000: Verna Allee coins the term "Value Network" to describe and model tangible & intangible economic value within organisations.
  • 2002: ISO adopts REA as their economic and accounting ontology.
  • 2004: Cheryl Dunn, J. Owen Cherrington, Anita Sawyer Hollander publish another textbook on teaching information systems using REA. By this time, REA is taught in accounting classes all over the world.
  • 2005: Bob begins to write to the importance of expanding REA to cover ad-hoc networks of external economic entities.
  • 2005-2011: Bob works closely with Lynn Foster under the name 'Mikorizal Software' on several open supply chain projects; targeting timber, food networks & fishing industries.
  • 2006: Pavel Hruby, Jesper Kiehn and Christian Vibe Scheller publish the book Model-Driven Design Using Business Patterns which explains in detail how to develop REA-based software.
  • 2010: Wim Laurier and others start to define REA models and software for "collaboration spaces": business collaborations between many companies.
  • 2012: Open hardware manufacturer Sensorica gets involved with REA and coins the term "Open Value Network" (OVN). They develop the Resource Planning (NRP) software in collaboration with Bob & Lynn. This is the first iteration of the software on which many subsequent forks have been based.
  • NRP system architecture presentation
  • 2014-2018: Lynn, Elf Pavlik, Mikey Williams, and Jon Richter start the Value Flows project to develop a common vocabulary for apps in economic networks. Other people arrive and help, including Kalin Maldzhanski, Paul Mackay, and Elio Qoshi. ValueFlows makes more changes to REA's definitions of Economic Resource and Exchange to allow for all natural resources and other types of exchanges beyond those in business-as-usual.
  • 2016: Bill expands upon the concept of an Open Value Network, building on his prior REA model. OVN / REA presentation slides
  • 2016-2017: Sensorica's NRP software is forked by FreedomCoop and becomes OCP (Open Collaboration Platform). Many updates are made and integrations with digital currencies (FairCoin) begin.
  • 2017: Several people from different projects meet to plan several new software projects based on Value Flows
  • 2017: Ivan Minutillo of that group starts to work on mobile-friendly user interface components for ValueFlows-based apps.
  • 2017: LearnDeep, a high-school fablab project in Milwaukee Wisconsin, forks the combination of OCP and Ivan's UI components for a fablab materials sharing system.
  • 2017: Christophe Combelles starts to develop an REA system for Coopaname, a French associated labor mutual using the open-source ERP software Odoo as a framework.
  • 2017: Bill returns to ISO to work on a standard for REA on blockchains.


"What we need: A Regional Sustainable Seafood Distribution Network

We envision a structure of fishing vessels from different areas of the province operating in a network of local food distribution platforms. Landed whole fish could be taken directly to small-scale processors willing to work under a ‘fee-for-service’ model and then continue to local distribution hubs. These local hubs would redirect whole and processed fish to farmers markets, local restaurants and community supported fishery subscribers, depending on local demand. A portion of this product would also be directly to a ‘regional food hub’ located in Halifax, where the population base supports aggregation and redistribution."


Bob Haugen on how REA developments fit in a Commons Economy

Bob Haugen:

"What I miss is the importance of REA for what the P2P Foundation wants to do.

You can get a hint of it from reading between some of the lines in this story:

Key excerpt:

"Consider traditional accounting, a multi-billion industry largely dominated by the ‘big four’ audit firms, Deloitte, KPMG, Ernst & Young, and PwC. The digital distributed ledger could transparently report the financial transactions of an organization in real time, reducing the need for traditional accounting practices. And that is why most major players in the financial industry are busy investing significant resources into blockchain solutions. They have to embrace this new paradigm to ensure it works for, not against, them."

Traditional accounting, with debits and credits, and assets and liabilities and owner's equity, brilliant invention though it was*, will not work on a blockchain populated by economic events from many companies. All of those traditional accounting artifacts are interpretations of those events from the viewpoint of one and only one agent.

McCarthy is increasingly being invited to accounting industry events to talk about REA, collaboration spaces, value networks, and blockchains. ISO is working on a blockchain standard based on their earlier Economic Ontology which is based on REA.

If you put that together with blockchain supply chain systems like Sweetbridge and another one that Consensys is working on, you start to get whole economic networks. And Consensys is talking to McCarthy and other REA practitioners, including us. So that means whole economic networks either running on REA, or at least heavily influenced by REA.

Pretty soon, if you have the P2PF vision, you can see a new economic system emerging. Not yet escaped from capital, but nothing in the version of REA that we use assumes or requires capitalist relationships.

I don't pretend that these computer systems will bring down capitalism or by themselves create a new economic system. That will happen on the ground, by human organizations. But they will need an operating system.

That operating system will be built on REA." (email, January 2018)

PS: Bob Haugen adds: "blockchains are not necessary for that vision. Something like Holochain or even Scuttlebutt could work better."

Gregg Cassel on how Scuttlebutt and the Holochain fit in a REA world

Greg Cassel:

"REA accounting, Value Flows, and my own work seek to develop data formats for people (agents) to CREATE and share information accurately and efficiently. We build models to represent dynamic processes and systems which perform actions (inputs, outputs, transformations) on resources. We think this modeling will be deeply important to creating fair and just economies, mutually coordinated by groups of peers.

However, these models may be useless (or worse) without data security. Scuttlebutt and Holochain facilitate peer-coordinated data security, as well as fairly distributed TRANSMISSION (bandwidth) and STORAGE of mutually important data.

Scuttlebutt is focused on p2p messaging (or "gossip") in a format which builds securely encrypted, append-only message histories for each agent and each channel. This is great for conversations or bulletin boards. It doesn't directly enable editing/ revision of entries for dynamic data or databases, such as resource tracking. However it could probably be adapted to interface with databases, using simple modular applications. I know the scuttlebutt designers are well-versed in modularity.

Holochain is more complex per se, which isn't necessarily a good or bad thing. Holochain is designed to fully support fairly distributed p2p data signaling, storage and security including dynamic data and databases. Holochain has technical standards to ensure the integrity of data which may be dynamically updated by any combination of peers within a network. In their own words: "A holochain is a validating distributed hash table (DHT) where every node enforces validation rules on data against the signed chains where the data originated." Unlike Bitcoin and other blockchains which use hash tables, however, Holochain creates fully distributed and localized verification functions instead of a single global ledger or "source of truth"." (

REA Software Development


More information