interface ideas for gnucash

Ambrose Kofi Laing
Wed, 20 Feb 2002 20:41:01 -0500


I am a new user of gnucash.  I don't know whether these suggestions
have been made before, but I believe they could significantly enhance
the ease of use of gnucash.  I am posting this to both lists because
there are issues about how easy this is to implement, and how useful
it would be to users.

I should first say I like the wonderful work that has gone into
gnucash, so don't take my comments as not being appreciative of the
fine work of the programmers.

But some ideas for improvement; first I will say what the desired
features are, then try to defend or promote them.

1) Default account sources.  Each account (especially expense
accounts) should have an associated field which codes a default
source.  I should be able to say I want to transfer TO the DEST
account, and automatically have the amount taken FROM the SOURCE
account, after user confirmation.

2) Main window's tree-list of account hierarchy should be able to
select one or *two* accounts at a time, using two different highlight
colors.  One could be red and stands for FROM account, and highlighted
by the left mouse-button.  The other could be green and stands for the
TO account.  That way, I can do transfers right there in the main
window very quickly and efficiently.  To transfer from X to Y an
amount Z, the users left-click X, right-click Y and then a popup
appears which asks for the amount Z and rest of the details (that is,
everything in the current Transfer window except for the two
tree-mini-windows).  Another option is to make use of the extra width
of the screen to implement the transfer window *beside* the main tree
list of accounts (so that it is always there).  In that case one would
simply click an account, click another, type some digits and you're

If this feature is implemented together with the previous one, then
for cases where X is the usual source for Y, there is another
even-faster option: right-click (without left-clicking first), and
type the amount.  This is handy for saying "Dinner $25" end of story.
In this case Dinner is an expense account.  Of course, the way it
works will be that if I say "Dinner" without saying where the money is
coming from, it will highlight the default source as if I had clicked
it before clicking the destination.  The program will know my spending
habits enough to know which source account usually "pays for" Dinner,
eg. Wallet.  One way is to "learn" the default account by noticing
where the money is usually taken from.  Another way is for the user to
configure it when the "Dinner" expense account is created for the
first time.  Of course, both can be done -- User could specify one and
use it for a while but after a while begin to consistently override
the default.  The system soon gets the idea and begins to offer a
different default.


All these features are designed to make it that much faster to enter a
group of transactions, assuming that most of them do not involve the
same account.

There is some advantage to having default source accounts when most
payments are made from the checking account.  Then it is not as efficient
to have the user keep specifying "Checking".

Problem is I don't like searching through the tree (laziness is a
virtue for the computer hack), and if I have to, then I would rather
that the tree is in a big window, so I can highlight as many options
as possible without touching the scrollbar.  Its nice to see
everything all there and just make two clicks in the same window.  If
one has lots of subaccounts, the small tree windows quickly become

The use of default accounts is even better when one uses budgeting
subaccounts.  Here is where some will differ on philosophy of money
management, but in addition to being *reactive* and noting where
(which expenses) the money goes, one might want to plan and allocate
specific amounts every month for different uses.  This helps one to
keep expenses in check, *proactively*.  Of course everyone can violate
their own budget but the point is that you are aware of it and it is
easier to be disciplined if you want to or need to.  So for example
the checking account could be broken up into a number of sub-accounts,
each holding an amount of money for a particular purpose.  That is
already possible under the current implementation of gnucash.  But if
you look at your expense accounts you would find that most of them are
usually paid for from the same budget subaccount, and that makes the
transaction entry more efficient.

Anyway, my point is to make it as easy as possible to sit down and key
in a 100 transactions with minimum fuss.  I know most people don't do
that, but my point is that the easier it is to do each one, the more
reliably most people will keep their accounts up to date, especially
personal accounts, where there is no obligation to keep the books

The only technical difficulty I foresee is that maybe the tree window
is not designed to allow exactly two highlights, and with different
colors.  Usually it is exactly one or any number (all same color).
But I don't think these are insurmountable, ...

Okay, those are my 2 cents.  Once again, thanks to the programmers for
the marvellous work.

Thanks for reading,