Help the GnuCash orphans

One of the features I really like about GnuCash also happens to be one of the things that frequently frustrates new users. It happens when you make an entry into one of your GnuCash accounts without completely balancing out the credits and debits. New users quickly find out that when the credits and debits in an account entry don't balance out, GnuCash will create a new account with a special name "Imbalance-USD".

This is where GnuCash puts the unclaimed pieces of imbalanced transactions - the orphans of the accounting world. It's how GnuCash notifies you, the user, that one or more of the transactions entered does not completely balance.

See, one of the hard and fast rules of double entry accounting is that all entries must completely balance. Total credits must equal total debits for each and every transaction. The authors of GnuCash needed to find a way to ensure this rule was never violated; but they also did not want to frustrate users and create dissatisfaction with GnuCash.

Their fix was brilliant in its simplicity and elegance. By creating a new account with the name "Imbalance-USD" and putting the necessary debit or credit portion of the transaction there, they created a flag account which the user could come back to and rectify later. The very fact of listing the transaction in this flagged account serves as a pointer to the offending transaction.

To me this is one of those extraordinarily clever little things that makes GnuCash a real pleasure to use.