The Math of Double-Entry Bookkeeping: Part I (scalars)

Mathematics and Accounting: Two disjoint universes?

Double-entry bookkeeping illustrates one of the most astonishing examples of intellectual insulation between disciplines—the very opposite of intellectual trespassing. Double-entry bookkeeping (DEB) was developed during the fifteenth century and was published in 1494 as a system by the Italian mathematician Luca Pacioli and was anticipated in a 1458 manuscript of the Croatian merchant Benedikt Kotruljević (that was only published in 1573). Double-entry book­keeping has been used for over five centuries in commercial accounting systems. If the mathematical formulation of any field should be well understood, one would think it might be accounting. Remarkably, however, the mathematical formulation of double entry accounting—algebraic operations on ordered pairs of numbers—was first published only in 1982 and is still largely unknown both in mathematics and accounting.


The mathematical basis for a precise treatment of DEB was developed in the nineteenth century by William Rowan Hamilton (1837) as an abstract mathematical construction using ordered pairs or couples to deal with the complex numbers. The multiplicative version of this construction is the “group of fractions” which uses ordered pairs of whole numbers (written vertically) to enlarge the system of positive whole numbers to the system of positive fractions containing multiplicative inverses (just reverse the entries in a fraction to get its inverse). The ordered pairs construction that is relevant to conventional DEB is the additive case called the “group of differences.” It is used to construct a number system with “additive inverses” by using operations on ordered pairs of positive numbers including zero (unsigned numbers), and it is part of undergraduate (if not freshman) abstract algebra.

All that is required to grasp the connection with the group of differences and DEB is to make the identification:

ordered pairs (horizontally written) of numbers in group of differences construction

= two-sided T-accounts of DEB (debits on the left side and credits on the right side).

In view of this identification, the ordinary group of differences (or fractions in the multiplicative case) might be called the Pacioli group—which would be distinguished from the modern generalization from the 1950s called the Grothendieck group.

In spite of some attention to DEB by mathematicians such as DeMorgan (1869), Cayley (1894), and Kemeny, Schleifer, Snell, and Thompson (1962), this connection has not been noted in mathematics (not to mention in accounting) with one perhaps solitary exception. In a semi-popular book, D. E. Littlewood (NB: not the J.E. Littlewood of Hardy-and-Littlewood fame who was D. E. Littlewood’s tutor at Trinity) noted the connection:

The bank associates two totals with each customer’s account, the total of moneys credited and the total of moneys withdrawn. The net balance is then regarded as the same if, for example, the credit amounts of £102 and the debit £100, as if the credit were £52 and the debit £50. If the debit exceeds the credit the balance is negative.

This model is adopted in the definition of signed integers. Consider pairs of cardinal numbers (a, b) in which the first number corresponds to the debit, and the second to the credit. [Skeleton Key of Mathematics,1960, p. 18]

With this exception (which was not further developed), I have not been able to find a single mathematics—not to mention accounting—book or paper, elementary or advanced, popular or esoteric, which notes that the ordered pairs of the group of differences construction are the T-accounts used in the business world for about five centuries. Mathematics and accounting truly seem to live in disjoint universes with no trespassing between them.

Is the Pacioli group the correct formulation of DEB? One acid test of a mathematical formulation of a theory is the question of whether or not it facilitates the generalization of the theory. Normal bookkeeping does not deal with incommensurate physical quantities; everything is expressed in the common units of money. The accounting textbooks still treat “common units” as a necessary condition for accounting. But the mathematical formulation of DEB effortlessly generalizes to multi-dimensional accounting using vectors of incommensurate quantities (see Part II of this post).

The Pacioli Group

Multi-dimensional accounting is based on the group of differences or Pacioli group construction starting with non-negative vectors. The usual case of accounting can be identified with the special case using one dimensional vectors or scalars. In this Part I, the focus is on the scalar case. The ordered pairs of non-negative scalars are the usual T-accounts. The left-hand side (LHS) vector d is the debit entry and the right-hand side (RHS) vector c is the credit entry.

T-account: [ d // c ] = [ debit vector // credit vector ].

The algebraic operations on T-accounts are much like the operations on fractions except that addition is substituted for multiplication. In order to illustrate the additive-multiplicative analogy between T-accounts and fractions, the basic definitions will be developed in parallel columns. For a fraction or “multiplicative T-account” using non-negative integers, we may take the numerator as the debit entry and the denominator as the credit entry.

Additive Case Multiplicative Case
Operation on T-accounts T-accounts add together by adding debits to debits and credits to credits[ w // x ] + [ y // z ] = [ w + y // x + z ]. Fractions multiply together by multiplying numerator times numerator and denominator times denominator(w/x)(y/z) = (wy/xz).
Identity element for operation The identity element for addition is the zero T-account [ 0 // 0 ]. The identity element for multiplication is the unit fraction (1/1).
Equality between two T-accounts. Given two T-accounts [ w // x ] and [ y // z ], the cross-sums are the two vectors obtained by adding the credit entry in one T-account to the debit entry in the other T-account. The equivalence relation between T-accounts is defined by setting two T-accounts equalif their cross-sums are equal:[ w // x ] = [ y // z ] if w + z = x + y. Given two fractions (w/x) and (y/z), the cross-multiples are the two integers obtained by multiplying the numerator of one with the denominator of the other. The equivalence relation between fractions is defined by setting two fractions equalif their cross-multiples are equal:(w/x) = (y/z) if wz = xy.
Inverses The negative or additive inverse of a T-account is obtained by reversing the debit and credit entries:– [ w // x] = [ x // w ]. The multiplicative inverse of a fraction is obtained by reversing the numerator and denominator:(w/x)–1 = (x/w).
“Disjointness” of T-accounts Two non-negative scalars x and y are said to be disjoint if min(x,y) = 0. Two integers w and x are said to be relatively prime if gcd(w,x) = 1.
“Reduced form” for a T-account A T-account [x // y] is in reduced form if x and y are disjoint. A fraction (w/x) is in lowest terms if w and x are relatively prime.
Unique reduced form representation Every T-account [x // y] has a unique reduced representation[x–min(x,y) // y–min(x,y)]. Each fraction (w/x) has a unique representation in lowest terms(w/gcd(w,x)) / (x/gcd(w,x)).
Example Consider the T-account [12 // 10]. The minimum is min(12,10) = 10 so the reduced form is: [2 // 0]. Consider the fraction 28/35. The greatest common divisor is gcd(28,35) = 7 so the fraction in lowest terms is 4/5.

The Pacioli group P consists of the ordered pairs [x // y] of non-negative scalars, with the above definition of addition and equality. The Pacioli group P is isomorphic with the set of real numbers R under two isomorphisms: the debit isomorphism, which associates [w // x] with w–x, and the credit isomorphism, which associates [w // x] with x–w. In order to translate from T-accounts [x // y] back and forth to general signed reals z, one needs to specify whether to use the debit or credit isomorphism. This will be done by labeling the T-account as debit balance or credit balance. Thus if a T-account [x // y] is debit balance, the corresponding scalar is x–y, and if it is credit balance, then the corresponding scalar is y–x.

Double-entry versus “single-entry” accounting

Given an equation w + … + x = y + … + z, it is not possible to change just one term in the equation and have it still hold. Two or more terms must be changed. The fact that two or more terms (or “accounts”) must be changed is not the basis for the double-entry method (in spite of every accounting book that I have checked saying that). That mathematical fact is a characteristic of the transaction itself (the changes in the equation), not a characteristic of the method of recording the transaction. The double-entry method is a method of encoding an equation using ordered pairs or T-accounts and using unsigned numbers (non-negative numbers) to record transactions to make changes in the equation. While there is unfortunately considerable confusion about this in the accounting literature, the doubleness of “double-entry” is the two-sidedness of the T-accounts and the mathematical properties that follow (e.g., equal debits and credits in a transaction, and equal debits and credits in the trial balance of the whole set of accounts or ledger).

The alternative to the double entry method is to record a transaction by making a single entry of adding a signed (positive or negative) number to each affected account. Two or more accounts in the equation would still always be affected by this alternative method of recording a transaction (since that is a property of the transaction itself, not of the recording method). Such a system is a complete accounting system to update the balance sheet equation but would have no two-sided T-accounts, no debits or credits, no double entry principle (equal debits and credits in a transaction), and no trial balance of adding debits and credits.

Unfortunately, the phrase “single entry accounting” is normally used to denote simply an incomplete accounting “system” (e.g., no equity account) where there is no equation to be updated. But without an equation, that is not an alternative “system” at all. The real choice between the double entry method and the complete single entry method of recording a transaction is the choice between using unsigned (“single-sided”) numbers in two-sided accounts (DEB) or signed (“two-sided”) numbers in “single-sided” accounts (complete single-entry accounting).

Example of double-entry accounting

Consider an example of a company with the simplified initial balance sheet equation:

Assets = Liabilities + Equity
15,000 = 10,000 + 5,000

Beginning Scalar Balance Sheet

It is customary in accounting to move each term or “account” to the side of the equation so that it is preceded by a plus sign. A T-account equal to the zero T-account [0 // 0] is called a zero-account. Equations encode as zero-accounts. Each left-hand side (LHS) term x is encoded as a debit-balance T-account [x // 0] and each right-hand side (RHS) term y is encoded as a credit-balance T-account [0 // y]. These T-accounts then would add up to the zero-account [0 // 0]. The balance sheet equation thus encodes as an equation zero-account which, by leaving out the plus signs, becomes the following initial ledger of T-accounts.

Assets Liabilities Equity
[15000 // 0] [0 // 10000] [0 // 5000]

Beginning Ledger of T-Accounts

Consider three transactions in a productive firm.

1. $1200 of input inventories are used up and charged directly to equity.

2. $1500 of product is produced, sold, and added directly to equity.

3. $800 principal payment is made on a loan.

Each transaction is then encoded as a transactional zero-account and added to the appropriate terms of the equational zero-account (“posting the journal to the ledger”). For instance, the first transaction subtracts 1200 from Assets and subtracts 1200 from Equity. The Assets account is encoded as a LHS or debit-balance account so subtracting a number from it would be encoded as adding the T-account [0 // 1200] to it. Equity is encoded as a RHS or credit-balance term so subtracting 1200 from it would be encoded as adding [1200 // 0] to it. The other transactions are encoded in a similar manner.

Assets Liabilities Equity
Original equation zero-account: [15000 // 0] [0 // 10000] [0 // 5000]
+ Transaction 1 zero-account: [0 // 1200] [1200 // 0]
+ Transaction 2 zero-account: [1500 // 0] [0 // 1500]
+ Transaction 3 zero-account: [0 // 800] [800 // 0]
———————————— ———— ———— ————
= Ending equation zero-account: [16500 // 2000] [800 // 10000] [1200 // 6500]
= (in reduced form) [14500 // 0] [0 // 9200] [0 // 5300]

Initial Ledger + Journal = Ending Ledger

The initial T-accounts in the ledger add up to the zero account (initial trial balance). Each transaction is encoded as two or more T-accounts that add to the zero-account (double entry principle). Zero added to zero equals zero. Thus adding the transaction zero-accounts to the initial equation zero-account (posting journal to ledger) will yield another equation zero-account (which can be checked by taking another trial balance). Each T-account is then decoded according to how whether it was encoded as debit balance or credit balance to obtain the ending balance sheet equation.

Assets = Liabilities + Equity
14,500 = 9,200 + 5,300

Ending Balance Sheet Equation

A vector example will be given in Part II.