On 02/02/2018 08:17, Christopher Lam wrote:
Dear Devs
The more I consider (b)udget transactions the more I feel it is the
right solution. See
https://docs.google.com/spreadsheets/d/1aaMoMVVTky_Df_haNAeVk3XpsgFIC7eMOOT7uurlV-s/edit?usp=sharing
for an example of a report with these "b"udget and regular transactions.
This demonstrates regular $50 monthly budgeting, and quarterly $300
spending, with 1 overspending, and 1 underspending. It also works with
closing transactions... which are either enabled/disabled according to a
random switch. The chart can also demonstrate the metaphorical envelope.
I think this can easily be hacked into code.
Christopher, I've looked at your spreadsheet, it is pretty but I
wouldn't do it it like that. I also don't presume that the way that I'd
do it would be something anyone else would like. Do you see the problem
yet ?
I'm not even sure the existing budgeting should be part of gnc in the
long run, it is too quirky. Every time someone new looks at it they
say, "that isn't how a budget works! it should be like this ..."
Reason ? Because budgets are personal things and gnc is not an
"inspirational" accounting package. gnc doesn't have a "run your life
this way at it will be better, promise" attachment. Why ? Because it
isn't selling anything.
I'd like it to stay that way.
=========
There is, IMO, work to be done on on the underlying db structure, have
you seen this monster ?
===
https://wiki.gnucash.org/wiki/images/8/86/Gnucash_erd.png
===
It is as ugly as an ugly thing (I'd say what I thought but I'd like more
than a mod to get to read this).
My point is that if the db made more sense you wouldn't even be thinking
of writing code for your envelope budgeting, you'd open your spreadsheet
and grab the stuff you wanted from the db, if you were happy with your
work you'd say on the *user* list "hey folks, I've made a nifty envelope
budgeting spreadsheet" and someone else would say, "that's neat,
Christopher, how about you get it put on the gnc wiki" etc
The dilemma is to consider how to modify the schema to achieve this:
Have you seen the schema ? Link just above.
There *are* people that can get useful stuff out of the existing schema
but there aren't many of us. IMO we do *not* need extra crap inside the
db that will just have to be picked out later on.
Either way I'd be grateful if some pointers could be offered? Even if
code, UI and reports are not completed in time for 3.0, it would be nice
to formalize the schema 3.0 release?
I may be able to do TDD for this @rgmerk
if TDD is
===
https://en.wikipedia.org/wiki/Test-driven_development
===
then let me know how it works alongside gnc because as a db person there
are some really obvious things I can fix in minutes ... but if the stuff
I wanted done got done, you wouldn't need to do what you want to do, etc.
Or as someone might once have said, let's feed the horse before we ask
it to pull the cart to the brewery where we load the beer, oh, have we
brewed the beer yet? no we need to get the barley from the field for
that, ok, get the horse and cart and get the barley from the field, but
we haven't fed the horse yet, ok, go get some hay, from the field, using
the horse and cart ? etc
Don't try making sense of the para above, it isn't meant to make sense :)
--
Wm
_______________________________________________
gnucash-devel mailing list
gnucash-devel@gnucash.org
https://lists.gnucash.org/mailman/listinfo/gnucash-devel