gnucash budget

Bryan Larsen blarsen@AnalogSynthesis.com
Thu, 26 Jul 2001 14:23:20 -0400


On Wed, Jul 25, 2001 at 11:47:08PM -0700, Josh Sled wrote:
> First off, I believe your Types 1 and 2 to be the same.

Well I generalized all 4 to the same type in the old budget report I
had.

> 
> WRT them both, I believe the scheduled transactions [can] provide a good
> basis for auto-creating a first-order budget [depending on how the user
> interacts with GnuCash -- the idea was that people would initially use
> GnuCash, then start using the SchedXactions, then move on to using the
> budgeting toolset as they became more comfortable with the program].
> Seeing this, I seperated the frequency specification [both the Engine
> structure and UI] from the scheduled transactions to make it re-usable
> for this purpose...  the template transactional data is tied directly to
> the Scheduled Transaction, but I believe this to be appropriate.
> 
> 
> I've been characterizing budget-related expense types in the following way:
> 
> . Type A: simple recurring [analogous to types 1/2]
> 
> . Type B: complex recurring [analogous to type 3]
> 
>   . these are expenses which are distributed throughout the year, but
>     which recur y-t-y,
> 
>   . Examples
> 
>     . IRA contributions -  it doesn't matter that the contributions are
>       evenly distributed throughout the year, so long as they add up to
>       $2000/yr all told.

That's my "type 2".  Continuous spending across a recurring time
period.  The example I used was car repairs:  I can spend $500 every 6
months on car repairs.  It doesn't matter how many bills they actually
are, or when they are.

> 
>     . Gifts/Christmas - it doesn't matter how exactly I've saved for this
>       [in terms of contributions ea. month], so long as I have $X saved
>       up by October/November...

This is "type 3".  Christmas gifts happen throughout the month of
December, and recur yearly.

> 
> . Type C: Savings Goals

It appears you need two things you need for this.

1) make sure you don't spend so much money on vacations/splurges that
   you don't have money for other things before & after your vacation.

2) make sure you have enough money on the day you go for your
   vacation.

#1 is satisfied when your budget balance.

For me, #2 was not the problem.  I have enough money & available
credit to handle emergencies, etc.  If my budget is balanced and I
stick to the budget, I can use this money for vacations and know that
it will be replenished.

However, once you've got the budget info avaible, it wouldn't be too
hard to generate a report that tells you how big (availble money now)
+ (planned income before a date) - (planned expenditures after a date)
is.

>   . Obviously, there's some feedback loop with the budgeting UI that
>     would help the user arrive at correct/realistic values...

There's a feedback loop in budgeting: it's called balancing your
budget.  I don't see anything in your text here that says to me that
you require an additional loop.
> 
>   . When you start talking about toys and gifts and vacation, it becomes
>     helpful to have more perfect info.  Let's call it an itemized interface.
> 
>     . For vacations: It's hard to say what the overall budget size should
>       be.  You can say that, and then start to make various sub-allocations
>       [travel costs are half of the total, lodging half of the remainder,
>       and that means I have one-quarter of the total amount to divide
>       between food/excusions/souveniers].
> 
>     . For toys: you want a wish-list... I can name a half-dozen neat
>       things I want to spend money on ATM... the questions I'd like this
>       to be able to answer are
> 
>       . You can buy 5 smaller or 1/2 bigger, but not 3 smaller and 1 bigger
>         [total is outside the budget].
> 
>       . You can buy <whatever> in a month, when you have the available
>         funds.
> 
>     . There are also priorities to consider here.  It's more important that
>       I allocate towards a savings goal for grad school than a savings goal
>       for toys; or, at least that I allocate
>     porportionally-correctly [?].

Once you have a balanced budget you will have allocated funds towards
food, shelter, vacation, savings and toys.  Having different periods
really helps make this easier.  For example, in my budget, vacations
are yearly, toys are monthly and saving is biweekly.

Suppose I determine I budget $200/month towards toys.  I usually don't
spend that much on toys each month, but every once in a while I buy
something big.  If I run a budget report over the period from Janurary
1st, it tells me how much money I can spend to stay within my monthly
budget and how much I can spend so I don't blow the budget for the
whole report period.  These are two different numbers.

To make it clearer, some imaginary numbers.

I've spent $750 on toys Jan-June.
I've spent $100 on toys in July.

The budget report tells me that I have $100 left in my monthly budget
until the end of July.  It also tells me that I'm under budget by
$450.  That tells me that I can spend $100 on toys in July, and I can
spend $450 on anything.  Sometimes that $450 goes towards excess
spending in other categories, sometimes it goes towards a big toy.
> 
> 
> One may see that Type B and C expenses are very similar... I can't quite
> reconsile them fully, however...
> 
> 
> | Reports look like this:  (or in a more succint format)
> 
> I've never thought that a report-based interface was sufficient for
> budgeting stuff... as per my Novemember-based mails, I've been more focused
> on thinking of a highly-interactive "workbench", that would allow you to
> see the budget at the various levels of granularity you'd like.  OTOH,
> I see how a more static view is useful.  Ultimately, I guess, what I'm
> thinking of is basically a "report" with in-line controls... :)

I disagree.  As far as I'm concerned, you create a budget, you balance
it, then you report on it continuously for 1 year.  Then you create a
new bduget with the information you learned by completely blowing your
budget the previous year.  :)

Creating and balancing a budget is *hard*.  Interactive stuff to help
deal with that is very useful.  I think the best is to use wizards to
enter the initial info, and then put it all into a spreadsheet type
format which shows you all the info, which lets you tweak anything to
make that bottom line exactly what you want it to be.
> 
> | The summary lines only total the "You are $X over/under budget"
> | lines.  The extra information is slack that shows up on the budget
> | line as cycles roll over.
> 
> And, maybe, a "you are on track to be $X over/under budget"...?

It could, but not really.  You entered those periods for a reason.
Those periods really mean that you expect to spend that money at some
point.  (hint, you want to make the periods as small as possible.
$500 every 6 months is better than $1000 every year, for this reason).
> 
> 
> I've spent many mornings of weekend at the coffee shop up on the corner
> writing out pages of notes on budgeting.  Unfortunately, they always seem
> to start with "Okay... blank slate:" and end with "hmmm."  I'll type up
> a couple of the most recent notes as food for thought:
> 
> ----------
> 
> date: 2001.06.16T1217
> 
> . We have a working defintion for budgeting:
>    The informed allocation of income to expected future expenses
> . some people do this physically, with envelopes

> . we see a GnuCash-based way to do it with multiple transaction between
>   the real accounts and a liability|budget account [see -devel Message-ID
>   <3B297FF7.7070309@uow.edu.au>, 2001.07.15 by Ben Stanley].

I disagree that this is the optimal method.  I think a report is the
best way.

I wish I could discuss some more, but I have to pack to catch a
plane.  Please CC any further discussion to bryanlarsen@yahoo.com

Bryan


-- 
-------------
Bryan Larsen, Software & Miscellaneous
(613) 239-3830 x237, fax: (613) 239-0104
Analog Design Automation:  Analog Circuit Synthesis?  Problem Solved.