Position Paper for T. J. Hadfield
Characteristics of Business Transaction Processing Systems
Business transaction processing systems are often implemented
to facilitate various accounting processes. Accounting processes
include general ledger accounting, accounts receivable, accounts
payable and payroll, among others.
These systems are usually characterized by transactions which
either explicitly or implicitly emphasize the accounting "duality
principle." This principle, originally espoused by Paciolo
in the 1300's, maintained that every transaction had two facets--one
facet which was increased and another facet which was decreased.
The increase and the decrease became known as the debit and the
credit. The facets were acknowledged by accounts. The journal,
utilizing accounts, debits and credits, was considered both necessary
and sufficient to describe the effects of an economic transaction.
The ledger, which was a mechanism to provide for information
storage and retrieval, was a later addition.
Computerized accounting systems generally embrace the duality
principle. General ledger systems usually deal with duality
explicitly. Systems such as accounts payable and accounts receivable
generally deal with duality implicitly by assuming the characteristics
of one side of the dual transaction.
The duality principal is the basis for all modern accounting practices
with their notion of accounts or classifications and two-sided
transactions. This principle suggests that the goal of any accounting
system is to describe the volume of "stores" (positive
stores being assets, negative stores being liabilities) and the
quantity of "flows" (positive flows being income and
negative flows being expense). Furthermore, these stores and
flows are categorized by their "nature" (accounts, in
some accounting circles also known as "natural divisions").
The duality principle further holds that this system of flows,
stores and natural divisions is a cohesive whole for any one (and
only one) classification scheme and point of view. For example,
there can be sets of accounts for financial accounting (the equity
classifications), and cost accounting (the management classifications).
In financial domains, other classification schemes can and do
exist: funds-flow classifications, activity-based costing classifications,
tax accounting classifications. Other points of view exist as
well: owners' view, customer view, government view, employee
Paciolo's system of balanced accounts was a 14th century
attempt at developing a rigorous model which could also be used
at "run-time." The limitation of the model was the
execution medium of paper and quills. This execution medium limited
the number of dimensions which could be handled in run time.
The system has, however, turned out to be quite extensible. Adding
unlimited sub-ledgers extends the dimensionality of the system.
This extension usually extends classification schemes; not points
of view. However, each sub-ledger is constrained to one view and
classification scheme and must be kept consistent ("balanced")
with all over views and classifications.
Within each sub-ledger view, "accounts" take on a dual
role as a scheme of classification and as a mechanism for providing
answers regarding activity-to-date. It is these same accounts
which must be balanced to ensure consistency between the duplicate
activities required by separate entries across multiple views.
Despite these limitations and difficulties, we see new object-based
system which (often at best) create a model of an accounting system-replete
with all its short comings. In short we are creating a model
of a 14th century model. We include in these models
a dualistic nature, duplicate entries, limitations of classifications
within a view, and an account as a 14th century design
construct to permit optimization of queries by storing intermediate
The Problem to be Solved
Object technology with its model-based approach should allow us
to devise new ways to think about recording economic transactions
in a more multi-dimensional way in which a single entity can have
multiple aspects of flows, stores, classifications and points
This model would permit a single entry "transaction"
to record its impact from the point of view of various management
disciplines, stockholders, customers and taxing authorities.
It would seem apparent that a generalized pattern could be constructed
which models stores, flows, classifications and points of view.
Utilizing such a model, a payroll hour worked could simultaneously
be represented in the following classification schemes: Work
In Process Inventory, Total Payroll Earnings, Activity Cost Tracking,
Payroll Liability. Each of these schemes would normally be reported
in separate subledgers, multiple times. Additionally, multiple
points of view should be possible: Enterprise Point of View,
Federal Government Point of View (taxable wages), Employee Point
Furthermore, an appropriately considered model should be sufficiently
flexible to embrace non-monetary domains such as stock control
and human resources. Utilizing this model should allow domain-specific
transactions to be mapped to the generalized model.
Yet, to my knowledge, no generalized economic transaction model
which can address the concerns of multiple aspects for a single
transaction. Is the duality model of current accounting practices
so compelling? Or is a more generalized (and presumably more
flexible and reusable) model too difficult or too costly to divise?
I am interested in learning who has attempted to solve this problem
in a more general way.