The Clean Code Blog

by Robert C. Martin (Uncle Bob)

Double Entry Bookkeeping Dilemma. Should I Invest or Not?

06 November 2011

A few days ago I found this blog, which makes the case that software developers who use TDD, should be pragmatic about the costs and benefits. You should read the blog now. Notice how reasonable and balanced it sounds. Now read what follows and ask yourself if that too seems reasonable and balanced.

Every single transaction must be doubly entered!

This sound advice rather seems quite extreme to me. IMHO a skilled accountant pragmatically decides when to invest in double entry bookkeeping.

After practicing double entry bookkeeping for over a decade, I’m a strong believer and proponent of double entry bookkeeping.

However over the years I’ve realized that double entry bookkeeping does have four, very important, costs associated with it:

  1. Cost of entering transactions twice in the first place
  2. Cost of summing both credit and debit regularly to get feedback
  3. Cost of maintaining and updating both entries as and when required
  4. Cost of understanding other’s account structures.

One also starts to recognize some other subtle costs associated with double entry bookkeeping:

  • Illusion of safety: While double entry bookkeeping gives you a great safety net, at times, it can also create an illusion of safety leading to accountants too heavily relying on just the dual set of books (possibly doing more harm than good.)
  • Opportunity cost: If I did not invest in doubly entering this particular transaction, what else could I have done in that time? Flip side of this argument is the opportunity cost of repetitive checking and rechecking or even worse not checking at all.
  • Getting in the way: While double entry helps you drive your account structure, at times, it gets in the way of restructuring the accounts. Many times, I’ve refrained from restructuring the accounts because I get intimidated by the sheer effort of restructure/re-enter a large number of my transactions as well. (I’ve learned many patterns to reduce this pain over the years, but the pain still exists.)
  • Obscures a simpler structure: Many times, I find myself so engrossed in my accounts and the structure they lead to, that I become ignorant to a better, more simpler structure. Also sometimes half-way through, even if I realize that there might be an alternative structure, because I’ve already invested in a structure (plus all the complementary entries), its harder to throw away the structure. In retrospect this always seems like a bad choice.
  • If we consider all these factors, would you agree with me that: Double entry bookkeeping is extremely important, but each accountant has to make a conscious, pragmatic decision when to invest in entering something twice.

Its easy to say: always practice double entry bookkeeping, but it takes years of first-hand experience to judge where to draw the line.