The Resource-Event-Agent (REA) model is an approach to conceptualizing the semantics of economic exchanges such as accounting transactions. The REA model is an ISO standard, ISO/IEC 15944-4:2007. (You can download a FREE copy of the 2007 version of the ISO standard, the newest 2015 version requires a purchase. Appendix B: REA Model Background, page 70.)
The REA model is best understood by understanding the "R" the "E" and the "A".
- Resources: Economic resources or claims are objects that are under the control of an economic agent. Economic resources/claims may things such as goods, services, rights, obligations, claims.
- Event: Economic events are the events, transactions, circumstances, and other phenomena which change economic resources from production, exchange, consumption, and distribution.
- Agent: Economic agents are identifiable parties which obtain, use, or dispose of economic resources.
People seem to use the REA model for various things: describing databases, capturing information about value creation patterns, explaining how to make accounting systems better, and so on.
My interest in REA is simple: use the semantics to represent economic exchanges such as accounting transactions in machine-readable form such as XBRL. Can I do that? Well, I already have. I built an XBRL taxonomy and an XBRL instance to prove the idea. I want to build a good set of examples before I make my XBRL taxonomy and XBRL instance available.
Here are several resources for more detailed information about REA:
- REA Models video: This is an 8 minute video which provides an overview of the REA model.
- REA Model Tutorial: Very basic tutorial which takes about 60 minutes to work through.
- What is REA?: An explanation of REA by REA Technology, lists of books and other resources.
- Research papers: A bunch of research papers related to REA provided by Bill McCarthy, the creator of REA.
One obvious question is: What is the difference between XBRL Global Ledger (XBRL GL) and REA? From what I can tell, REA and XBRL GL tend to do many of the same things. REA is more top down, big picture, work to the details. REA is not really a syntax, it is semantics. XBRL GL is a syntax that also provides detailed semantics. XBRL GL tends to be bottom up, working from the details to the big picture. From what I see, REA and XBRL GL tend to be complementary in nature. REA is an ISO/IEC standard. XBRL GL is an XBRL International standard.
Why am I interested in REA? Think drill-down from an XBRL-based financial report to the underlying transactions. Stay tuned! I will make my prototypes available, but I want to tune them some more.