Resources, events, agents (accounting model)
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—companies cannot easily dismantle their legacy systems to meet REA's radical demands. Workday, Inc., IBM Scalable Architecture for Financial Reporting, REATechnology, and ISO 15944-4 are exceptions.
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.  for examples).
REA systems have usually been modeled as relational databases with entity-relationship diagrams, though this is not compulsory. Workday uses an in-memory database. This is similar to Palantir Technologies' Object Model.
"The breakthrough that Workday achieves is to move away from a fixed database structure. The SQL database in a traditional business management application defines the meaning of data into the table structure, and that is its achilles' heel. Workday's database tables reflect the needs of the object-oriented application architecture — there are just three tables, for 'instances', attributes' and 'references' — and the data and definitions stored in the table are instantiated only when the application runs. The definitions are therefore as easy to change as the data."
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, and are quite different from the 23 canonical patterns in the original designs pattern book by Gamma et al. Research in REA emphasizes patterns (e.g., Hruby et al. 2006). Here is an example of the basic REA pattern:
The pattern is extended to encompass commitments (promises to engage in transactions, e.g., a sales order), policies, and other constructs. Dunn et al. (2004) provide a good overview at an undergraduate level (for accounting majors), while Hruby et al. (2006) is an advanced reference for computer scientists.
REA is a continuing influence on the electronic commerce standard ebXML, with W. McCarthy actively involved in the standards committee. The competing XBRL GL standard however is at odds with the REA concept, as it closely mimics double-entry book-keeping.
- Hruby, P., Kiehn, J., Scheller, C. V. (2006). Model-Driven Design Using Business Patterns. Springer. ISBN 3-540-30154-2
- Dunn, C., Cherrington, J. O., Hollander, A. S. (2004) Enterprise Information Systems: A Pattern-Based Approach. McGraw-Hill/Irwin. ISBN 0-07-240429-9
- Hollander, A. S., Denna, E., Cherrington, J. O. (1999) Accounting, Information Technology, and Business Solutions. McGraw-Hill/Irwin. ISBN 0-256-21789-0
- Geerts, L. G., McCarthy, E. W. (2002, Vol.3) An Ontological Analysis of the Primitives of the Extended-REA Enterprise Information Architecture. The International Journal of Accounting Information Systems, pp. 1–16
- Geerts, L. G., McCarthy, E. W. (2000) The Ontological Foundation of REA Enterprise Information Systems. Working paper, Michigan State University
- McCarthy, E. W. (July 1982) The REA Accounting Model: A Generalized Framework for Accounting Systems in a Shared Data Environment. The Accounting Review, pp. 554–78
- Nittler, Mark (August 14, 2012). "Workday Blog: The Time Is Right to Modernize 400-Year-Old Accounting Practices".
- Palantir Technologies, Inc (2011). "The Palantir Object Model".
- Palantir Technologies, Inc (Jul 5, 2012). "Palantir Object Model".
- Wainewright, Phil (August 20, 2007). "Workday: Forget ERP, start over".