Budgeting - Let's decide what we want!

Jesse Guardiani jesse at wingnet.net
Fri Aug 29 11:41:16 CDT 2003


Stewart V. Wright wrote:

[...]

> 2.2 The Problem
> 
> The problem with this sort of budgeting is that
> currently it is not possible to implement this virtual
> division of income in a simple manner that also allows
> the easy reconciling of bank statements that (in my
> opinion) is a great aspect of GnuCash.
> 
> I do however have a suggested method of implementing
> such a system which I believe will add to the strengths
> of GnuCash without changing the behaviour for anyone
> who doesn't wish to work in this manner. This is an
> important requirement of any budgeting extension to
> GnuCash. Those who don't want to budget in GC shouldn't
> have to do anything differently to the way they do now.
> 
> 3 Budgeting in GnuCash
> 
> This section suggests a slight extension to the account
> structure of GnuCash to allow the budgeting approach of 2.1
>  without modifying the current behaviour for most users.
> 
> 3.1 Virtual Accounts
> 
> Budgeting is often achieved by the use of an imaginary
> division of income and expenses into user defined
> categories. Keeping with the terminology of GnuCash
> these imaginary categories will be known as Virtual
> Accounts (VAs).
> 
> In summary VAs are a imaginary asset/liability/expense
> source that are used to divide income and expenses as
> defined by the user. The major difference from regular
> Accounts is that a leaf VA will mirror all expenses to
> the first (real) Account that sits above it.

I am a new (started about 1 month ago. Feel like I have
a good grasp on the functionality now.) GnuCash user,
and a programmer/sys admin.

I think the above can be accomplished WITHOUT implementing
an entirely new "Virtual Account" concept. I think the current
GnuCash subaccounts are adaquate.

However, for bank reconciliation purposes, I think it
would be nice to have a "view" (to use database terminology)
of the GnuCash account structure that flattens the
subaccounts (like "Fun", in Stewart's example) and the top
level account (like a physical checking or savings account)
into a single account (again, just for viewing/reconiliation
purposes. All account relationships still exist, unchanged,
in the database).

Currently, my version of GnuCash already has this functionality,
after a fashion.

It's called "Open Subaccounts", and you can access it by right
clicking on an account with subaccounts. However, this "view"
is overly cluttered with details. Each transaction is opened
with a "split" view, so you can see where all the money is coming
from and going to easily. However, that information isn't necessary
if all of your subaccounts are "Virtual Accounts".

Perhaps the easiest way to solve this clutter is to define a
boolean field in each account table (or whatever it is that GnuCash
uses internally) called something like "virtual_account".

while we are building the "Open Subaccounts" view
  If virtual_account=YES 
  then
     hide transactions between subaccounts and top level accounts
     AND
     don't display transaction in "split" mode.
  fi
end while

This way I could withdrawal money DIRECTLY from my subaccounts,
but still reconcile against the bank with ease.

That's the goal, right?

To accomplish this currently, I have to move money to the
subaccounts (or "virtual accounts"), and move it BACK to the
checking account when I make a withdrawal so my checking account
can be easily reconciled with my bank. The above would basically
eliminate the need to move the money back to the top level
checking account.

I've written enough of these programming/functionality proposals
to understand that most of you probably won't like/understand the
above. I'm prepared to debate the merit of the ideas above, and
will be happy to clarify any points with more detail. Just please
don't write back immediately calling me an idiot. :) I've thought
the above through pretty well, and I'm pretty sure it will work.
It probably wouldn't even require much coding, since the "Open
Subaccount" functionality already exists.

Also, I'm not suggesting that we replace the "Open SubAccounts"
functionality! I'm merely suggesting that we take that functionality,
duplicate it, and turn it into a "Open Virtual Accounts for Reconciliation"
option, or something.

Thanks! Looking forward to reading everyone's opinions on the matter.

-- 
Jesse Guardiani, Systems Administrator
WingNET Internet Services,
P.O. Box 2605 // Cleveland, TN 37320-2605
423-559-LINK (v)  423-559-5145 (f)
http://www.wingnet.net




More information about the gnucash-user mailing list