[GNC-dev] [GNC] Experimental Balance Sheet report

Christopher Lam christopher.lck at gmail.com
Wed Sep 16 19:47:14 EDT 2020

Hi David, responses inline. I'm sure you know it's my work, and I am (for
now) happy to defend its state. TBH I do not need this report myself, but
figure out it fills a gap. I also think devel is more appropriate.

In my view it won't come out of experimental anytime soon because of
https://bugs.gnucash.org/show_bug.cgi?id=797786 -- figuring out price from
stock/foreign-currency into target currency is *HARD*. TL;DR: in some
price-sources (avg-bal/wt-avg) current balance sheet will tally only txns
UPTO report-date and calculate price from it; in multicolumn report there
are multiple report-dates therefore this strategy would be far too slow.
I'm running out of steam to make pricing behave identically to the old

On Wed, 16 Sep 2020 at 16:42, David T. via gnucash-user <
gnucash-user at gnucash.org> wrote:

> 1. When initially run, I receive an empty report. This is similar to the
> initial result of the basic Transaction report, except in the latter
> case, users are given a note that links them to the report options. It
> would seem to me that at the least, this report should do the same. A
> better solution in both cases would be to have initial parameters that
> return some kind of data--however unrelated to the user's end
> goal--rather than an empty page. It seems to me that users are better at
> changing something they see that is wrong, rather than trying to conjure
> it up out of thin air. (the famous quote from US Supreme Court Justice
> Potter Stewart regarding obscenity comes to mind here: "I know it when I
> see it. This is not it."). In the Balance Sheet, changing the Period
> Duration setting from its default "None" to anything else (I'd suggest
> "Year") yields data from which a user can build. (I have no suggestions
> for the Transaction Report.)

This would be worthy of an individual bug report .

> 2. The report defaults to including all accounts, including hidden and
> placeholder accounts. While there is an option on the Accounts tab to
> display hidden accounts, I think the decision to include hidden accounts
> in the report by default is confusing, given that the Account tab
> doesn't display hidden accounts by default. I think it makes more sense
> for the report either to default to omitting hidden accounts, or to
> default to displaying hidden accounts in the options dialog. I see that
> the standard Balance Sheet report also includes hidden accounts by
> default, although this is masked because the standard report limits the
> accounts to 3 levels (the Experimental report defaults to All levels). I
> will note that there is an option on the Display tab to omit zero
> balance accounts, which may have been seen as a way to skip hidden
> accounts. However, while it may not be prudent or common practice to
> hide accounts that have balances, there is nothing in the program to
> prevent this, which means that hiding zero balance accounts is not the
> same as including hidden accounts. I'll note that if I Clear All and
> then click Select All on the Accounts tab, the report properly omits all
> hidden accounts, which it should also do by default. I suggest that both
> reports should default to omitting Hidden accounts on opening, and that
> the default level setting should be the same for both.

Also worthy of a bug report. The rationale IMV is that hidden accounts can
carry balances and if they are skipped during report generation, they will
cause undue mismatch between children balances and total parent balances.

> 3. The report propagates balances all the way up the account hierarchy,
> which makes sense for accounts denominated in a currency. However, with
> accounts denominated in commodities (such as Stock or Mutual Fund
> accounts), it makes less sense, and in fact renders the report extremely
> difficult to follow, especially with accounts with many different
> commodities. Seeing a full listing of all 150 different commodities (and
> various subsets thereof) repeated for
> Assets,
> Assets:Investments,
> Assets:Investments:Taxed,
> Assets:Investments:Taxed:Self, and
> Assets:Investments:Taxable:Self:Brokerage A
> gets old and confusing very quickly. It would be better to propagate
> totals for the book currency  only, and leave the tallying of stock and
> mutual fund holdings to the Advanced Portfolio report. I will note that
> initially, I was going to ask why some entries in the report were listed
> as hyperlinks, while others were not. After some puzzling, I figured out
> that the non-linked entries were summarizations of holdings further down
> the hierarchy. Removing the numerous duplications of commodity
> summmarizations would at least make it a little clearer what is going on
> in this regard. I will further note that the standard report does not
> repeat this information up the hierarchy.

This multiplication of commodities only takes place if the report does not
convert to target currency. e.g. if you have US tech stocks and set
conversion to USD, it will attempt to convert all your AAPL MSFT TSLA to
USD. If conversion is impossible (eg you have TSLA but there's no  TSLA/USD
price) then it will leave TSLA as is and show TSLA + cash+stocks USD. For
that matter, hiding stocks from propagating up the chain isn't a good idea

Moreover, the standard balance-sheet or profit-and-loss report is *not*
good in forcibly converting all commodities & currencies into target
currency -- if the conversion cannot take place (e.g. missing pricedb
entries) the original currency amount becomes zero target currency.

IMHO etc

More information about the gnucash-devel mailing list