Can anyone recommend a comprehensive tutorial on using double-entry accounting to manage personal finances? I've read a few articles that make double-entry seem worth learning, but I'm struggling with thinking about my finances from the double-entry mindset, and with knowing how to handle various situations.

closed as off-topic by Grade 'Eh' Bacon, Nosrac, Ganesh Sittampalam Apr 27 '17 at 20:55

This question appears to be off-topic. The users who voted to close gave this specific reason:

  • "Questions seeking product or service recommendations are off-topic because they tend to become obsolete quickly. Instead, describe your situation and the specific problem you're trying to solve." – Grade 'Eh' Bacon, Nosrac, Ganesh Sittampalam
If this question can be reworded to fit the rules in the help center, please edit the question.


I had to implement a simplistic double-entry accounting system, and compiled a list of resources. Some of them are more helpful than others, but I'll share them all with you. Hope this helps!

Reference Information

Simplifying accounting principles for computer scientists: http://martin.kleppmann.com/2011/03/07/accounting-for-computer-scientists.html

See this excellent article on how Debits and Credits work: http://accountinginfo.com/study/je/je-01.htm

See this article for an example Chart of Accounts with lots of helpful descriptions: http://www.netmba.com/accounting/fin/accounts/chart/

Excellent PDF by Martin Fowler on Accounting Patterns using an event-drive system: http://www.martinfowler.com/apsupp/accounting.pdf

Additional useful resources by Martin Fowler: http://martinfowler.com/articles.html#ap

Ideas on using Domain-Driven-Design (DDD): https://stackoverflow.com/questions/5482929/how-to-use-object-oriented-programming-with-hibernate

Excellent description of modeling an accounting system:

Double Entry Accounting in Relational Databases: http://homepages.tcp.co.uk/~m-wigley/gc_wp_ded.html

Double Entry Accounting in Rails: http://www.cuppadev.co.uk/dev/double-entry-accounting-in-rails/

Java code for handling Money and Accounting type data

Joda-Money: http://joda-money.sourceforge.net/

Joda-Money Notes: http://joda-money.svn.sourceforge.net/viewvc/joda-money/JodaMoney/trunk/Notes.txt?revision=75&view=markup

Blog entry with good comments: http://www.jroller.com/scolebourne/entry/joda_money

Related Blog Entry: http://www.jroller.com/scolebourne/entry/serialization_shared_delegates

JMoney: http://jmoney.sourceforge.net/wiki/index.php/Main_Page

JMoney QIF Plugin: http://jmoney.sourceforge.net/wiki/index.php/Qif_plug-in

Ledger on GitHub: https://github.com/jwiegley/ledger/tree/master/src/

Implementing Money class in Java: http://www.objectivelogic.com/resources/Java%20and%20Monetary%20Data/Java%20and%20Monetary%20Data.pdf

Martin Fowler's implementation in Patterns of Enterprise Application Architecture page 489, View partial content in Google Books: http://books.google.com/books?id=FyWZt5DdvFkC&printsec=frontcover&dq=Patterns+of+Enterprise+Application+Architecture&source=bl&ots=eEFp4xYydA&sig=96x5ER64m5ryiLnWOgGMKgAsDnw&hl=en&ei=Kr_wTP6UFJCynweEpajyCg&sa=X&oi=book_result&ct=result&resnum=7&ved=0CEQQ6AEwBg#v=onepage&q&f=false

XML based API for an accounting service, might get some ideas from it: http://www.objacct.com/Platform.aspx

  • After studying, sorting out and learning from one own's mistakes, I found this and some of the links are very very on spot (from a computer scientist's perspective :-) ). Very good answer to a very common problem. – walkmanyi May 15 '14 at 9:47

The GnuCash tutorial has some basics on double entry accounting:


  • 3
    GnuCash does a good job of abstracting away the "debit for an expense" kind of mental gymnastics by simply renaming the "credit" and "debit" columns. I think that it's also useful to pick up a Dummies/Idiots book (honestly) for accounting and just ignore the business-related side of it (and also anything about "numbering" the accounts, which isn't necessary unless you're using software stuck in the '80s). – Stephen Cleary Aug 13 '10 at 19:35
  • @Stephen Cleary - good comment. I didn't buy it, but one such book I liked in the bookstore was Bookkeeping for Dummies. (Hopefully I remembered the title right -- but the point being that bookkeeping might be a good keyword when looking for books.) – bstpierre Sep 9 '10 at 17:41
  • 1
    @Stephen while that abstraction is nice, I find it annoying that the columns have different names depending on which account register you're in, or whether you're in the general ledger register. Before I decided to just use the General register for all recordings, I was to the point of wishing for the standard credit/debit labels back, since I spent the time learning their meanings anyway. – matthias Aug 18 '11 at 23:59

I found this book to be pretty decent:

It is a workbook, and full of little exercises.

Not the answer you're looking for? Browse other questions tagged or ask your own question.