[GNC-dev] About budgets in 3.8, 3.9 and 3.10

Christopher Lam christopher.lck at gmail.com
Thu Apr 9 21:38:26 EDT 2020


This topic is about budgets.

We now know that budgets are currently inherently flawed: they *assume*
that sign-reversal = credit-accounts, and do not work well at all with any
other sign-reversal option. In addition, there was a feature request (bug
781345) that introduced budget equity into the equation, and I still do not
know whether a budget equity amount is a correct approach.

In 4.x series there is a planned *fix* which will scan budget amounts, use
heuristics to determine the most likely sign-reversal approach used during
budget creation, internally unreverse the amounts, and upgrade the datafile
so that it cannot be damaged by 3.7 or earlier.

Therefore 3.8 was the first release which could handle both old and fixed
budget amounts. Unfortunately, the interpretation of budget signs was/is
very difficult, which explained the switch to
asset/liability/equity/income/expense totals, which are impervious to
budget signs. Unfortunately users missed the "Remaining to Budget" facility.

Therefore 3.9 was, during development, tested with
https://github.com/Gnucash/gnucash/pull/630 and was deemed "good enough" to
fix to restore the remaining to budget total. Unfortunately the liability
budget amount issue was tested incorrectly.

For a week, the git-maint contained a candidate fix, discussed in
https://bugs.gnucash.org/show_bug.cgi?id=797659 -- but there is
insufficient beta testing on the budgets for now. So, 3.10 will retain 3.9
behaviour unless the fix is fully tested.

Conclusion: this is a call for beta testers, using the 2020-04-07 nightly
(the only one with the fix), to test both their datafiles and the
*4.x-featured* datafile attached in the bug report. Please *especially*
test the liability and equity totals, both with existing datafile and
featured datafile.

Flame away. I will try to be available throughout the day for testing.
Win32 users have only 1 build to test, Linux users may also build from
882fd22ca rather than git-maint which has returned to 3.9 behaviour. I'm
not sure how MacOS users can test.


More information about the gnucash-devel mailing list