Ledger Ontology
August 25, 2003
April 6, 2008
Todd Boyle - rosehill.net
Contents:
Introduction
Using the REA Ontology
Economic Resources (balance sheet accounts)
Economic Events (double-entry accounting transactions)
Economic Agents (parties)
RFA model
REA materialization doctrine
Account classification of economic transfer events
Uncertainty Principle
No Replication
NDEA: new double-entry accounting
1. includes Unposted information
2. includes economic commitments within its scope
3. requires native transaction attributes (dimensional data)
4. does not enforce balancing of "Unposted" transactions
5. requires that events be identified to collaboration "GroupID"
6. requires a standard vocabulary for GL meta model (transaction, entry, account, etc.)
7. does NOT require the account code be present in "Unposted" transactions
8. does NOT require charts of accounts codes for Posted transactions
if resource types or XBRL classifications are sufficient
9. does not prohibit deletion of unposted data in business applications
Dec. 2001 corollaries
10. implies a flat row structure (NDEA cannot require 2- or 3- tier structure)
11. requires accounting for quantities without monetary valuation.
Credits
The economy includes discrete transfers of economic resources between economic persons. Existing ontologies include the REA (Resources, Events and Agents) model developed by William E. McCarthy, http://www.msu.edu/user/mccarth4/ )
The REA ontology has been adopted in International Standards Organization (ISO) Open EDI workgroup (ISO 15944-4). The techniques and methodologies workgroup (TMG) of UN/CEFACT has developed a comprehensive abstract model for business processes. (Unified Modeling Methodology (UMM) metamodel)
This paper is a discussion about abstract economic ontology. The goal of this discussion is to describe economic events at the highest and most general level. The words, "economic event", already have meaning in colloquial English but for purposes of this discussion, we need a term for "a transfer or surrender of ownership, or control over, an economic resource, by one person to another person". An ontology is identified, which is intended to accommodate all economic events.
A secondary goal of this paper is to identify human-readable notation for rendering economic events on a two-dimensional screen or paper. In particular, it is a goal of this paper to derive from REA semantics, some notation capable of representing multiple economic events sequentially on a two-dimensional screen or paper listing, e.g. as a list.
A two-dimensional presentation, or arrangement, of REA objects may have implications for structuring business messages, user interfaces and machine interfaces in order to accomplish accounting requirements.
Accounting requirements include such things as
1. achieving an accurate representation of past economic commitments
and events for benefit of their owner, i.e., to communicate to the human owner, to guide future decisions,
2 financial reporting/ GAAP financial statements to owners and other
stakeholders,
3.
tax reporting (income, sales, VAT, etc.),
4. cash flow reports and
management,
5. general fiscal control and internal control over subledgers
and their underlying assets, and
6. management and settlement of payables and receivables,
and so forth.
A question arises, whether we are really building an ontology of general ledger software products, general ledger interfaces, or perhaps, business software or interfaces in general. We reject these subjects because they are at least once-removed from the subject of economic exchanges in nature. However, we continually awoke finding ourselves studying symbols of things --artifacts within GL software, interfaces at the edges of GL software, and similar artifacts in business software-- instead of underlying ontology of business events, or the abstract accounting model.
It must be said at this point that no symbol has intrinsic meaning. All words and symbols are divorced from phenomenal reality. They can only refer to each other, forming an entire cognitive fabric. UML is no different than XML or HTML in this regard. Business process models are also unable to tell developers much of anything unless they already have accurate knowledge of the things represented in the model. Thus, BP models are a kind of telegraphy among people who already have shared concepts, enabling them to navigate alternative software designs and interface languages.
Another question which arose, was whether to produce an ontology of general ledger transactions, i.e., to explore the nature of ledger entries grouped into balancing sets. Or, examine them empirically, and produce yet another document model or XML schema for business transactions, arranged in rows, and branded with account classifications. (ArapXML GLIEs are an example of this type of ontology.)
We also considered, and rejected, the idea of ontology of financial reporting semantics. Obviously, IAS and US GAAP is a sort of ontology of business. Published financial statements have normative vocabulary for most business realities. However, these are descriptive and summarized semantics. The study of GAAP is the study of minimum required disclosure. It is not a goal of GAAP to eliminate ambiguity but rather, to intentionally modulate it within political compromise. There is vanishingly little substance or insight in these reporting semantics, or their representation in XBRL taxonomies, that would be useful in software design.
Ultimately we decided that the subject of ontology is business interactions themselves. For this we immediately returned to William E. McCarthy's ontology of economic transactions, REA. REA is apparently the foundation of much of the architecture in the UN/CEFACT TMWG Universal Modeling Methodology and its metamodel (the UMM). REA is also the foundation of much of the thinking in the ebXML BPSS. The project adopts the ontology of economic transactions produced by McCarthy, at http://www.msu.edu/user/mccarth4/ and in particular, the diagrams in http://www.msu.edu/user/mccarth4/Alabama.doc We found no issues with the REA ontology and we recommend the REA papers to all developers of accounting systems.
We produced a number of exercises with RDF, DAML-OIL, and DAML-S schemas for ontologies. Bill McCarthy informed us a DAML representation of REA has been undertaken in the past. I believe by Guido Geerts. However, we decided to use natural language for this project, for two principle reasons. Time availability, and, the lack of any immediately visible business software that could do profitable things with a DAML representation of economic transactions.
Using the REA ontology
The REA ontology is comprehensive, applying globally to all classes of transactions we could think of. However it is also quite atomic and abstract, and its implications on financial reporting or general ledgers are not entirely clear. REA includes no explicit mechanism for financial reporting. Ongoing work on REA is evident in the UMM releases in 1999 and 2000, and the work of ebXML Business Process workgroup. REA resources and events necessary for very basic accounting realization are included in the BRV of the TMWG's UMM, excerpted below:
These tables were included in the ebXML BPSS at various points in 2000-2001 but were dropped from the May 2001 final version due to time constraints. Members of the UN/CEFACT BPS team informed me that REA will likely be included in the BPSS next major release (v 2.0).
Even knowing these facts, and having access to abstract models such as UML does not conclusively inform developers of accounting systems either how the GL must adapt, or how transaction recognition would occur.
Later models are similarly process oriented. October 11, 2001 McCarthy posted the following model to the mailing list of the ebTWG (the successor group to ebXML). Economic commitments and events are almost the same as the 2000 model. "Claim" has been added, and stereotypes ("Types") are added for R,E, and A. These are cited by McCarthy as the foundation of accounting recognition. The other classes such as agreement types and BP types will also be necessary in account classification (although not entirely sufficient for GAAP determination).
Subsequently to production of this paper, Andrzej Bialecki published his REA analysis on eBTWG mailing lists - it is quite significant and useful.
http://www.ecimf.org/contrib.html
http://www.ecimf.org/contrib/onto/REA/index.html
http://www.ecimf.org/contrib/onto/ST/index.html
Andrzej
Bialecki <abial@webgiro.com>, is Chief System Architect
of WebGiro AB,
Sweden ( http://www.webgiro.com/ )
That project concluded in Feb. 2003; a summary is at http://www.ecimf.org/conclusions.html and here is the REA diagram from that project:
Economic Resources (balance sheet accounts)
Over the past several years, the term "Economic Resource" has become stable in the business modeling community surrounding the UMM and ebXML. The UMM makes crystal clear that Economic Resources includes all types of cash, receivables, inventory, supplies, etc. This is the starting point for our view that an REA business system is a new variety of general ledger, having Economic Resources as its asset accounts. The ALOE model itself is suspiciously little other than a list of assets; an argument exists to abolish ALOE.
Labor
Labor is an Economic Resource within the meta model and REA itself. This is slightly troublesome from a classic GAAP viewpoint; in GAAP accounting, labor, itself, does not exist as an asset or liability until the point in time it is rendered, and at that instant, a financial asset disappears and in most cases, it is a writeoff (expense is recognized). For over 100 years, CEOs have tried to record balance sheet assets, and in the case of manufactured goods and other specific circumstances, this is GAAP. No e-commerce meta model is likely to capture the true cost of labor anyway, for, even if a Taylorian hell of timekeeping were implemented, every employee has numerous, complex benefit costs.
We are confident nevertheless, that GL views of a REA business application can be maintained in which any Labor Resource table is allocated between capitalized portions and current expense, no more or less badly than is done in today's cost accounting systems. For example, the labor table may be allowed to run into negative balances, and be replenished (to zero) with positive monetary and quantity values periodically, such as at measurement dates.
Economic Events (double-entry accounting transactions)
The term, "Economic Event", is not quite as stable in this modeling community. It is certainly stable in the UMM and REA model semantics. However, the word "event" has many different connotations; for example it has a different meaning in ISO RM/ODP. Within the worksheets and other parts in Chapter 3 of the UMM, furthermore, the terms "Initiator Resource Flow" and "Terminator Resource Flow" are being used instead of "Economic Events". One can only conclude, these are really transactions in the CDEA sense, because duality is enforced in the UMM meta model, para 8.25 (well formedness rules): resource flows are only permitted within dual relations i.e. they must be reciprocated.
Note however, simultaneity is not enforced in REA. This is inevitable, for any business system that manages real transfers of goods or services, since it is physically impossible to transfer both resources at one instant. In fact the majority of interparty transfers are not requited (e.g. settled) for many days.
REA provides some approaches for generating ALOE views even when unrequited transfers exist at period ends (dualities that span periods), under a doctrine called claims materialization. However, the GL view of an REA business system is natively out of balance, with respect to any open dualities at the point in time the view is constructed.
Note, further, that the GL view of an REA system is out of balance in any case, unless the cost of resources surrendered in an exchange is equal to the value of those received. Clearly that is the exception not the rule.
Economic Agents (parties)
The REA term "Economic Agent" is not used in the UMM meta model semantics. As you can see, the term "PartnerType" has been adopted as of this time. Examples such as "receiving partner" and "shipping partner" have been used in the worksheets, while the model semantics 8.2.5 cites "manufacturer, distributor, retailer, carrier, financier and end user" as PartnerTypes.
One might playfully entertain the idea of a refactored presentation of REA, in which the UML diagram is renamed and presented with a 3rd dimension, time. In other words, look at the extended REA model above as, changing over time as trading partners evaluate each other and figure out whether, and how, to do business.
(The second and third rows are identical to the extended REA model above, other than naming. What this model adds is the semantic communication stage which precedes the Typing stage. The communication stage is where CRM happens, and where essential Party IDs and Product IDs first may become available to a business process runtime.)
As with REA, an economic commitment may be exactly the same thing as an economic event except that the date is in the future. A commitment is a pre-image of a future economic transfer, except that any optionality or conditions have been resolved. This is the same thing as to say "future time" since "time" is the unfolding of interacting forces into a single physical resolution.
I would argue, that the business process terminates after the completion of fulfillment. Information processes which dispose or disclose the objective transaction facts afterwards, are artificial. These downstream processes include accounting, financial reporting, banking and settlement. Accounting is not a business process, even if an accountant (such as a bank) is an independent or self-interested party.
McCarthy and other REA modelers have produced at least four detailed prescriptions or roadmaps for classic financial reporting (Assets=Liabilities + Owner's Equity or ALOE). They are the 1987 McCarthy-Denny paper, the 1999 REACH paper, 1999 Ventura MDB, and a 2001 unpublished draft paper. The primary resource tables of course contain running balances sufficient for some of the asset accounts in ALOE reporting. The "Materialization" doctrine, in general, prescribes procedures to calculate the rest of the balances of the balance sheet and income statement, rather than maintaining those accounts continuously in declarative structures such as CDEA database tables. For example, sales to Customer X might be calculated as the change in his AR plus cash received.
An REA application may maintain accounts not essential to business collaboration such as normal period expense (e.g., advertising expense), as two (as opposed to one) economic events with one event showing the acquisition of a resource, and the other showing the consumption of that resource (McCarthy 1982, p.573).
Performance problems are reported at several points in the literature. Authors reported that the materialization approaches presented in the papers were infeasible under current computer resources. Clearly, however, REA principles have found adoption in the e-business modeling community and in some aspects of ERP systems. That is, REA has been found suitable and feasible as an abstract model for collaborative, e-business processes. One might assume these developers are not planning to use REA as a comprehensive GL or financial reporting platform but rather for the development of specific, collaborative software objects.
Account classification of economic transfer events
Objective transaction facts arising in economic transfers with others, lack subjective (internal) accounting classifications. All of the worlds' POs, invoices, orders etc. lack chart of accounts codes, or classifications within any reporting taxonomy such as XBRL. Account codes are today, assigned to almost all sales, purchase, etc. transactions automatically, but only after an accountant or integrator has configured their GL and application software with them. Designing charts of accounts is one of the great, fun activities of CPAs and controllers.
It is safe to say, no consensus exists in any public discussion, as to how Charts of Accounts classifications may be systematically assigned to REA transactions. Rather, the consensus today is that each company will integrate their B2B systems themselves, and make independent decisions not only with respect to private choices like charts of accounts, but also with respect to the timing of recognition of resource flows, and the character (classification) of those flows. The UN/CEFACT BCP&MC project appears to tighten up this somewhat.
Essentially, business software has always encompassed wider scope of information than the general ledger-- modeling greater descriptive detail of business processes than current notions of a general ledger. Business software has always, furthermore, modeled the lifecycle of transactions over time (e.g. order/fulfillment/settlement among many patterns.) Finally-- decades of experience have modeled e-business interactions such as EDI.
Yet, the general ledger has remained, a private information system where transactions are logged only after completion, usually only after all balancing components of a particular exchange are known with some certainty.

The above diagram, translated into English, says:
Some influential thinkers within ebXML BP modeling (McCarthy, Haugen, others) have adopted within scope that a mechanism of event recognition should be available to parties in exchanges (both parties recognize economic movements with consistent character, quantity, dates, etc.)
However it is my understanding, decisions when and how to book the transactions under GAAP are out of scope and will be left to the parties internally. The goals of the current BCP teams should be of great interest to GL developers, because of the way they have deconstructed the formation of business transactions. For example, an economic commitment to do an action with 10 widgets at a date and location is the essence of what POs and other legacy documents are trying to express. If the REA ontology is correct, and if objects for the commitment and its realization event can be developed to view and manage them in GL views based on the ontology, those objects may be of long term value. You are getting closer to a rootledger-subledger architecture that does more than just the GAAP financial statements. You're getting closer to a unified framework for the federation of the BCM object with other BCMs (multiple BCMs in the same company) as well as with legacy applications. GL developers should gladly drop their existing constraints for double-entry or whatever else is blocking progress, in order to make the GL reflect the formation of business processes instead of a static repository for completed ones.
Further, the ebXML BPSS and the UMM, undertake to track the reciprocal half of economic transfers, enabling the creation of claims when unreciprocated states exist. The journalizing of these events is not slated for work by the ebXML workgroups or anybody else, as far as I can see. I have floated the idea that parties composing BPs or CPAs might as well compose (private) templates for the automatic posting of GL entries at that time but the response has not been positive.
I have suggested that an addition box be added on the REA diagram for
transaction journal (into which, event notifications are put.) This doesn't need
to be double entry, balanced, or include accounting classification or other
things like taxes which are impossible for the BP model to know. But there
should be boxes on the REA diagram
for the parties to provide transaction
templates to do those things, such as
- a box containing transaction
templates for simple blank journal entries,
- a box containing the accounts
required by the templates,
- a posting rules box telling the criteria that
trigger a claims
materialization or other balancing component,
- a box to
store the formulas for computing those balancing components.
These boxes
would be private to the trading partner and as such, the other trading partner
does not need to know of their existence since he cannot rely on
them. But that does not mean, they don't exist.
In particular, the REA model explicitly does not undertake to compose any balancing entries. For example an inventory movement may occur reducing inventory by 80 and increasing AR by 100. REA is about the modeling of exchange activities and events not recording the 20 profit. Simple devices and event components such as barcode readers at a loading dock, may be valuable in automating a business process, but that automation will be delayed if the server is expected to go and find AR information, determine taxes and other data necessary to post CDEA entries for every scan. (SMEs' accounting software even computes COGS on the fly for every sale.) BPSS is looking like a single entry system that will dribble out all the necessary information (eventually) but not in neat CDEA entries.
There seem to be two intrinsic principles apply to any system that interacts with external parties (B2B or B2C automation):
1. The earlier in the business process a B2B system begins, the more reversals and exceptions will arise. This is a natural reflection of the fact that formation of purchases and sales are often tentative at first.
2. Efforts to disambiguate terms of transactions before the realization of sale, i.e. before fulfillment, sometimes result in lost sales, therefore, reversals, corrections, and exceptions will be a system requirement for the long-term.
Taking these realities into account, good general ledgers do not cripple the efficiency of business operations in the process of journalizing double entry views for accounting and financial reporting. Bad general ledgers cripple them. Or at least, impose non-zero labor costs, delays, and inflexibility.
The ideal general ledger, like other business systems, does not create replicas of transaction events that are already stored in the business system. Issues of backup and of security are addressed as independent questions in modern business systems. You don't need these replicas.
The best practice for GL design in 2001 is that the GL is an index or view of transactions in indigenous business systems. Business systems that handle the formation of transaction (rather than journalizing completed ones) must accommodate a lot of changes, reversals and failures. The ebXML BCM (business collaboration manager) software is intended to be flexible and usable in business, and would be much more complex if required to model the posting of every journal that may have been posted by the GL replica, in order to generate reversing entries and corrections with every exception or change in transactions.
An updating of the CDEA methodology itself is necessary, to what we might call new double entry accounting (NDEA). The high-level goal is to extend the traditional GL model to handle interactive business processes between trading partners. NDEA must enable any business software including the BCM, to represent its transactions externally in GL format, appearing to be a sub-ledger or general ledger, without disrupting its actual operation or forcing it to perform unnecessary processing. In other words, the NDEA architecture needs to provide a GL format that is sufficiently expressive for the ebXML BCM or any other business system to represent its business state and business history of events. In GAAP this is called the "financial position and results of operations". The NDEA instance must be a complete and comprehensive picture of the economic events that have been realized by that system.
NDEA: new double-entry accounting
An
expanded concept of the classic double-entry accounting (CDEA)
This unified format is also intended to enable the replication or entry of business data from business applications into NDEA GLs even if that data is not compliant with traditional, CDEA rules.
NDEA continues to insist that business data be in the form of balanced double-entries with correct account codes or other classification mechanism, before it is Posted, as entries in the trial balance. There is no abandonment of CDEA. However, the NDEA GL accepts, and embraces, other information into its view and into its storage in consolidation and other replication types of activities.
Following is the first draft of NDEA extensions to CDEA:
1. The NDEA ledger includes (permits entry) of Unposted as well as Posted information. Unposted information is subject to fewer constraints, and may include any valid business information formatted as a GL entry or entries. "Posted" information however, is fully compliant traditional double entry GL data with account classifications. For example, an NDEA GL may have a boolean "IsPosted" flag, to distinguish between real CDEA trial balance and other business reports.
2. NDEA includes economic commitments within its scope.
3. NDEA Requires descriptive structure and vocabulary for native transaction attributes associated with transactions and transaction entry rows, when they are material. There are a fairly manageable number of independent dimensions that recur in most economic exchanges. Native attributes of business transactions might include
who - parties and their roles in relationship to a GL transaction (individuals as well as organization units on both sides of the economic exchange)
what - product or service or financial instrument, etc. associated with this monetary amount
when - the point(s) in time the transaction was negotiated, ordered, fulfilled, settled, entered, posted, approved, reversed, audited, etc.
where - location created, executed, posted, delivered, taxable, etc.
why - immediate purpose being duality, the expectation of reciprocal flow,
why - business purpose, budget classification, business segment, accountability, etc. and
how - applications, authority, chain of custody of the information prior to, during and after execution of a transaction
In other words, NDEA requires structures for party, product, location,
budget, and other dimensional data within the GL. These dimensions are the
foundation for broader use of GL data in management reporting (fact table as
data warehouse), as well as the automation of accounting
classification.
4. Does not
enforce balanced journal entries (require balanced books) at time of entry
of "unposted" transactions. Acknowledges that single entries to the books
are an inherent part of unfinished business processes. Enforces, however,
that a single entry must be accompanied by an identifier to its
previous or anticipated, future related entry(ies). This may include
references to contract, party, collaboration instance, or other data sufficient
for generating a balancing claim. (Enforces balanced entries only as
part of the closing of books stage of the value chain.) The
suggested name for this identifier, which associates entry rows into balanced
transactions, is "TransactionID".
5. In principle, NDEA requires that events be identified to either the transaction or the business collaboration pattern instance to which they belong. Historically, an entry was only identified (i.e. associated with) its balancing siblings in a transaction. To serve as the information component in external interactions requires that events be associated with their associated or reciprocal movements, within a collaboration. A possible, suggested name for this identifier which associates the multiple transactions within the same collaboration is "GroupID".
For example, a shipment is an event in REA for which a claim (a receivable) may be materialized at the same moment, to post a balanced accounting entry. This shipment/receivable event needs an identifier to connect it with a later payment. In general, all entries in NDEA may be viewed as within transactions and all transactions as within collaborations. Thus, the e-business community may find that the GroupID is a requirement, even though in cash-and-carry, there may be no associated transactions since both reciprocal movements occur at the same time.
6. Requires a standard vocabulary for three-tier general
ledger meta model (transactionSet, transaction, entry row, account, etc.
This implies a standard vocabulary for resource types, which are equivalent
in some regards, to accounts.) Reasonable people disagree over
the need for standardization of terminology or behaviors for these particular
elements, since they typically do not occur between reciprocal parties in
e-Business. Indeed, most B2B vocabularies such as xCBL have no elements
for these. Notwithstanding, these particular elements are clearly needed in
internal integration -- which is among the goals of NDEA.
7. No longer Requires the account code or classification
be present at time of entry of unposted transactions, i.e., the NDEA GL contains
data at earlier points in the business process than the point at which GAAP
classifications are present or in some case possible.
8.
No longer Requires charts of accounts, or account codes at
all, even for Posted transactions, if resource types or XBRL classifications
are applied sufficiently for financial reporting objectives.
9. Deletion of data - Many business applications, in widespread use, permit the deletion of data. Data in systems touching customers or supporting business processes prior to execution of exchanges, often contain information which is tentative, ambiguous, and not correct. NDEA cannot impose constraints such as nondeletion upon native business application that find it necessary to allow deletion. Furthermore, the NDEA GL may be required to reflect the deletion of data, if it is to be accurately in synch with real applications.
The intent of the NDEA specification is to provide a framework for those native business applications to represent their tentative economic commitments and events in NDEA views, facilitating business intelligence. It is implementation decision whether an NDEA application maintains logs or audit trail, for deletions of unposted data. This area requires further research.
The CDEA subset of an NDEA GL does not abandon accounting constraints such as the audit trail and other Invariants, in the 1998 OMG GL specification.
Dec. 2001 corollaries
10. Implies a flat row structure (NDEA cannot require 2- or 3- tier structure) - The NDEA model must function within a flat single-entry assumption. NDEA encompasses individual debit or credit entries without any constraint for balancing, or association with dual movements or GroupID, at points in time earlier than any balancing sibling entries, dual movements, etc. One of the usage scenarios of NDEA is support of ebXML business processes at runtime, in which atomic movements need to be recorded which do not share information with any other entry past or future.
Even when balancing sibling entries are anticipated at a later time, it may be difficult for accountants or software applications to compose a transaction header until those future rows of data in the journal entry are known.
11. Requires accounting entries for quantities without monetary valuation. Actors in business processes such as fulfillment often generate data about movements of economic resources, in circumstances where valuations are not available for reasons of security, expediency, system resources, etc. Many other circumstances exist where monetary valuations of resources are impractical or impossible to determine, such as movements of assemblies prior to job costing, sale of inventory before all of its costs have been booked, etc.
NDEA accommodates all movements of all resources that are
material; this goal is no different than the traditional goal of
accounting. It is the goal of the NDEA model, to serve as a unified event
notification whenever a commitment or economic event has occurred in an ebXML or
REA business process.
This is based on an earlier version (rev. 2 Oct. 2001) of this paper completed within the OMG AR/AP project, at arapXML.net (archived at http://www.ledgerism.net)
Thanks to Bill McCarthy and his REA school, who were the source of most of these ideas, Morten Jacobsen, of Netaccount who provided additional key concepts, and permission to post publicly, Netaccount who funded earlier versions of this research, Bob Haugen for his relentless insistence accurate business process modeling, Eric Cohen for his years of dedication to the XBRL General Ledger schema project, and Robert Lemense and others in UN/CEFACT D14 who forged the international EDI message for "Ledger" and accounting Entries, "Entrec" out of countless considerations and constraints. In other words, most everything in this writing has been talked about for decades, if not centuries, by other authors.