250 likes | 534 Views
Day 2 – Resources, Events, Agents. Fritz Henglein henglein@diku.dk 2003-08-15. “...insights into many of the problems [accountants] will face can be found in the computer science literature.” William E. McCarthy, 1982. Overview. Literature
E N D
Day 2 – Resources, Events, Agents Fritz Henglein henglein@diku.dk 2003-08-15 “...insights into many of the problems [accountants] will face can be found in the computer science literature.” William E. McCarthy, 1982
Overview • Literature • Brief recall of Debit Credit Accounting (DCA) • Resources/Events/Agents (REA) entities and relationships • REA model rules • Conclusion materialization (derived information) • Exercises
Literature • William McCarthy, “The REA Accounting Model: A Generalized Framework for Accounting Systems in a Shared Data Environment”, The Accounting Review, Vol. LVII, No. 3, July 1982 • Guido Geerts, William McCarthy, “The ontological foundation of REA Enterprise Information Systems”, August 2000 • Hiroaki Nakamura, Ralph Johnson, “Adaptive Framework for the REA Accounting Model”, OOPSLA ’98 Workhop on Business Object Design and Implementation IV, 1998 • Ventura Vehicles, Company information system design, ?
Characteristics of DCA • Accounting equation: Assets = Liabilities + Equity • A transaction is a finite set of (registrations of) changes to assets, liabilities and/or equity. • Incremental (“change”, “per transaction”) version: DAssets(t) = DLiabilities(t) + DEquity(t) for all transactionst. • Debit-Credit Accounting: • Define DRAssets(t) = - DAssets(t). (Then invariant becomes DRAssets(t) + DLiabilities(t) + DEquity(t) = 0 and thus DALE(t) = 0 for each transaction t) • Enter positive entities under “Credit” and negative entities under “Debet”.
Characteristics of DCA • Stakeholder specific information is materialized (synthesized, derived) from accounting information, primarily by aggregration and summing. For General Ledger: • Balance (at time t) • Income statement (for period Dt) • Cash flow (for period Dt)
Resources/Events/Agents-modeling • Goal: • Model aspects of an enterprise in a single “semantic” framework for use by disparate users (accountants and non-accountants); that is, model (describe) the “real world” enterprise by structuring an information system into semantically meaningful (in the real world) basic objects instead of bookkeeping artifacts. • Method: • Provide an ontology (conceptual vocabulary) and basic principles (“axioms”) applicable to all enterprises (done once, “The REA Model”) • Employ the Entity-Relation ship modeling technique (or object-oriented modeling, or probably any form of “semantic” modeling technique) to describe the economic entities and their relationships (done for each enterprise).
The basic REA entities • (Economic) Resource: object that is (1) scarce and has utility and (2) is under the control of an enterprise (Ijiri ’75) • (Economic) Event: phenomenon which reflects changes in resources resulting from production, exchange, consumption, and distribution (Yu ’76) • (Economic) Agent: person (natural or not) who participates in economic events or are responsible for subordinates’ participation (Ijiri ’75).
REA entity relationships (1) Stock-flow and participation define the basic structure of events, the central dynamic notion in the REA model Events must have associated resources (which makes them economic events) and they typically have participation from two agents one “inside” agent (cashier, salesperson), and one “outside” agent (customer, supplier).
REA entity relationships (2) Duality is a central model notion in the REA model. In its simplest form it relates 1-to-1 in-flow events with out-flow events and expresses that such a pair constitutes a single economic exchange; e.g., the sale of 2 cookies and the corresponding receipt of 4 kr. in cash. It expresses that a fundamental (built-in) characteristic of an enterprise is that it engages in economic exchanges (quid-pro-quo, give-and-take, nothing-for-nothing), not just arbitrary sequences of events.
Economic Resource Economic Event Economic Agent duality {transfer, transformation} participation {outside, inside{accountability}} stock-flow {outflow{use,consumption,give}, inflow{take,production}} Sale Economic Event participation {accountability} Salesperson Economic Agent Finished Good Economic Resource stock-flow {give} participation {outside} Customer Economic Agent duality {transfer} participation {outside} Cash Economic Resource Cash-Receipt Economic Event Cashier Economic Agent stock-flow {take} participation {accountability} REA Metamodel and a REA exchange pattern
stock-flow{inflow{take,production}} Economic Resource Congruent Economic Event Economic Agent [transfer, transformation] stock-flow{outflow{use,consumption,give}} participation {outside, inside{accountability}} Cash-Sale Congruent Economic Event {transfer} Clerk Economic Agent Finished Good Economic Resource participation {accountability} stock-flow {give} Customer Economic Agent participation {outside} Cash Economic Resource stock-flow {take} Congruent Economic Exchange
REA entity relationships (3) Custody, linkage, and association model nonexchange relationships. (Note that there are no events involved.) Custody captures responsibility (e.g., warehouse clerk and the warehouses’s items), association (responsibility, assignment, cooperation) captures relations amongst agents, and linkage captures dependencies between economic resources, e.g., the ingredients in a cookie.
custody Economic Resource Economic Event Economic Agent linkage {composition} association {responsibility, assignment, cooperation} duality {transfer, transformation} participation {outside, inside{accountability}} stock-flow {outflow{use,consumption,give}, inflow{take,production}} Figure 3 -- Association, Linkage and Custody
Accounting in Action (Again) Represent the following transaction in REA terms: • Purchased 1 computer for DKK 15000 • Purchased 10 cookies worth DKK 20 • Sold 5 cookies for DKK 15 to X. • Sold 2 cookies for DKK 6 to Y. • Received payment by bank transfer of DKK 15 from X. • Sold 3 cookies for DKK 9 to Z in cash sale. • Bribed Ugandan dealership with DKK 500.
Accounting in Action... • Identify the resources, events, agents. • Represent the event instances as relationship instances. • Find the dual events. • Are all events matched by a dual event (constituting a concluded exchange)? • Compare the DCA-representation of the given events with your REA-representation of the given events match. Which lets you easiest reconstruct what actually happened?
Duality and DALE = 0 • The REA duality principle (Geerts/McCarthy, Axiom 2): All events effecting an outflow must eventually be paired in duality relationships with events effecting and inflow and vice-versa. Simple case: Each event effecting outflow/inflow must eventually be paired with an event of equal montery value effecting inflow/outflow. • Question: Is this the same as the DALE = 0 principle from DCA? (Simple case: For each entry, there must be a matching entry of equal value, but opposite sign.)
REA Axioms (Sanity checks) • At least one inflow event and one outflow event exist for each economic resource. • Events effecting inflow, resp. outflow, must be paired with events effecting outflow, resp. inflow. • Each exchange needs an instance of both the inside and the outside subsets.
REA Axioms as design guides: • Where do resources come from, where do they go? (They have to do both!) • What are the economic exchanges? (Each economic event must have an exchange partner.) • Break rules 1 and 2 consciously. (Implementation compromises.)
The Trade Company Design a REA model for a simple company with the following basic activities: • Place purchase order with supplier • Receive goods, add to inventory • Pay supplier • Receive sales order from customer • Complete sale and deliver goods • Receive customer payment • Reconcile sales tax
Conclusion materialization • The REA model so far only contains base objects (primitive information items). • Consolidated information (“views”, “conclusions”) can be described as functions of the REA base objects (rather, their state at a particular time): • Claims: What outstanding claims (of us against an outside agent or conversely) are there? • Resources: What do we have in stock (now, at the end of last year)?
Resources and Claims • Look at record/log of events and sum relevant changes. • Look at record/log of events and collect/sum the relevant unmatched events according to their duality relationships.
Balance sheet, income statement, cash flow • Can balance sheet, income statement and cash flow be (functionally) defined from event log?
Exercises, Projects, Discussions • E: Design a simple REA-model for your company from yesterday and do the corresponding bookkeeping (registration of events) for your example. (See first exercise from Day 1.) • E: Derive claims and resources from your event log. • E: Do the corresponding income statement, and balance sheet from your event log. Can you express this; that is, have you registered sufficiently detailed events? If so, can you express (informally) the functions?
Exercises, Projects, Discussions • P: Design an OO or relational database-based REA-based system (see Day 1 for functionality). • B: Consider the following sequence of events: Receive and accept order from customer X for delivery of cookies at specified price; deliver cookies; receive payment. What is registered in the basic REA-model?