[GNC-dev] New balsheet (and P&L report), API considerations, and (slow?) KVP in Account.cpp

Christopher Lam christopher.lck at gmail.com
Mon Aug 6 08:40:22 EDT 2018

Hi All

Thank you for feedback - I *do* take all feedback into account, even if 
I don't always agree with them-- and this is from my understanding of 
Gnucash evolution(*) rather from any expert knowledge of accounting.

(*: we all know Gnucash has evolved through generations rather than a 
grand design <g>)

1) Frank et al requests some analysis of accounts for grouping into 
Short/Long, etc. I disagree. The current balance-sheet does not make any 
judgements into the types of monies held in various asset/liability 
accounts, and I do not particularly think it is universally agreed which 
assets should be long/short-term, which ones are fixed etc. The current 
balance-sheet will just take a nested list of asset/liability accounts, 
and simply list them sequentially, up to depth-limit. The ways that an 
account can be tagged fixed, long or depreciation, contra, etc is not 
something the current balance-sheet can understand, nor am I willing to 
impose my judgement to report. The Tutorial and Concepts Guide does 
encourage that Fixed Assets are held in account structure 
Assets:Fixed:Asset1 and its depreciation amounts are recorded in 
Assets:Fixed:Asset1:Depreciation, and I see no problem in that, and 
balsheet (old or new) will diligently report all amounts.

However I do understand there may be a wish for a customized balsheet to 
apply heuristics/rules for depreciation/current/fixed etc assets but 
this requires expert accounting knowledge.

2) Subtotals being above or below the account-and-children family is 
something that current balsheet already does, and I'm keen to preserve. 
The current balance-sheet allows 4 combinations of 
display/parent-account-subtotal strategies, and 2 of them produce 
nonsensical reports. I've distilled 4 into 2 valid possibilities, and I 
know the 2 other options are nonsensical. From prior discussion, some 
preferred above, and some preferred below, so be it.

Additionally, I have seen numerous examples, from my nested chart of 
accounts with account-depth of 4, that the amount indenting is just 
wrong. I have fixed it.

3) In the screenshot, EUR Amounts not converted to USD is not confusing 
at all. In the test book there are USD/GBP prices but no USD/EUR prices. 
The old balance-sheet would convert any EUR amount to 0 USD and display 
an incorrect total.4) The amounts being links are a new feature - the 
new income-statement links to a transaction report detailing the 
amounts, and the new balance-sheet links to the register entry which 
documents the exact balance-sheet figure.

4) Amounts being indented are not my preference, however they are 
indented in existing balsheet and I'd rather leave the possibility for 
those who prefer. It could be done in CSS, but it's not difficult at all 
to leave it in scheme.

5) Amounts being clickable is a nice addition... do try and see what it 

6) My main concern remains the accuracy of figures -- I use official API 
to retrieve xaccAccountBalanceAsOfDate so I don't doubt the amounts are 
right, but I'm not sure the outcome when unusual CoA are used eg 
depreciation, contra accounts, equity with opening-entries or 
closing-entries etc.

7) The sections are copied from balance-sheet and they need 
experimentation... I'd be grateful if anyone can review the section 
amounts are selecting the correct amounts. I don't think I've got it 
100% correct and need feedback.


On 31/07/18 09:04, Adrien Monteleone wrote:
> Chris,
> Here are my impressions and questions, perhaps I’m not understanding what you were trying to show with the screenshot. (does this contain illustrations of multiple presentation possibilities all-in-one or is this intended as how the report will look by default?)
> The asset summary at the top seems confusing and isn’t labeled. If I don’t know who or what this entity is or how their books are arranged, how do I know what these figures represent?
> Each section seems to be missing the standard headings. (Current/Non, Short/Long Term, Fixed/Intangible etc.) I know other discussions have touched on the duplication in some reports in the menus, but maybe this is how it’s addressed - have a basic report that has multiple entries based on the report type desired for a particular entity. (or determined by book/app preferences, say report defaults for a particular jurisdiction) So there might be a Personal Balance Sheet, Small Business Balance Sheet, Public Entity / Non-Profit Statement of Financial Position, etc. Each would have the appropriate major sections in the report with the standard headings expected for each. The account structure *might* mimic this but it shouldn’t have to. The report options should ask the user to select the accounts to include for each section. (rather than just one account list for the entire report) So you would select the accounts to include in Current Assets, the accounts to include in Fixed Assets, the accounts to include in Short Term Liabilities, etc. Perhaps this can be somewhat determined or guessed by default, but that might be lots of work. The same would be needed for Income/P&L.
> I find totals/subtotals above the child amounts to be odd. Perhaps less emphasis on the parent label, with maybe a colon indicator (like on the wikipedia entry) would be cleaner with a bold subtotal/total line will make the important numbers stand out more. (that is, not showing the amount on the initial label line at all)
> Also, usually single lines are to delineate figures from subtotals and double lines to indicate totals from subtotals. (again like the wikipedia sample)
> I don’t think the figures need to be indented as well, just marked off with single/double lines and appropriate line-spacing. For account indentions, does the report indent contra-accounts? Most statements I’ve seen that have them do so.
> I understand and like that I have the option for levels deeper than 1 or 2, but usually such official statements are intended as an overview, not for detailed analysis. They should be very easy to read and decipher without extraneous info or styling. And ideally, you should accomplish this with plain-text monospaced. Perhaps work it back to that point and then embellish if needed.
> A few minor points:
> -------------------
> Is there is a reason why the child totals are also links? It lends a sense of clutter.
> I noticed in the Equities & Liabilities section that some figures have no currency symbol. While I might be able to figure out what they are by studying the document, that info should be more readily discern-able at a glance. I’m puzzled by that section though. Usually it’s one or the other (separated or consolidated) but not both. Also, the total for Assets and the total for Liabilities & Equity should be on the same horizontal line when in 2-column mode.
> I see too that some child amounts show in two currencies but not others. (looks like just the GBP accounts) Is this intended or just an illustration (or an omission)?
> Regards,
> Adrien
>> On Jul 27, 2018, at 8:01 AM, Christopher Lam<christopher.lck at gmail.com>  wrote:
>> Latest iteration of balsheet
>> * restored amount-indenting. IMHO this is now producing sane indenting
>>    for any subtotal strategy
>> * restore dual columns (i.e. left=asset/income, right=liability/expense)
>> * the above two only enabled when multicols are disabled
>> * option to toggle amount/account indenting
>> * incorporated bug 623381 recommendations for sections labels/totals
>> * added sections for equity, liability+equity
>> * modify 'original-currency' display to match eguile report i.e.
>>    smaller font, precedes converted currency
>> I would really like feedback on
>> * accuracy of amounts
>> * accuracy of sections
>>      o further tweaking of option names/sections/ordering
>> Screenshot:
>> https://screenshots.firefox.com/nhaiX1ehSA2GXA97/null
>> On 25/07/18 15:53, Frank H. Ellenberger wrote:
>>> Am 19.07.2018 um 13:09 schrieb Christopher Lam:
>>>> Hi Frank
>>>> Thank you - I can restore the dual-columns when the periods have been
>>>> disabled.
>>>> I'd prefer to limit the number of options; so, if the "period duration" is
>>>> disabled, the report will automatically show dual columns
>>> while intl. IFRS and DE-GOB/HGB reqire one, US-GAAP requires 3 previous
>>> years in the Income statement.
>>> https://de.wikipedia.org/wiki/Gewinn-_und_Verlustrechnung#Vorjahresbetr%C3%A4ge
>>>> (Asset/Income=left, Liability+Equity/Expense = right). This works?
>>>> Can you please show me good examples of idealised T-account balance
>>>> sheet/income statement? Or the scaled form? I have no idea.
>>> To get an impression you could starting from:
>>> https://en.wikipedia.org/wiki/Balance_sheet  - which has
>>> #US_small_business in account form and #Sample in scaled form -
>>> or
>>> https://en.wikipedia.org/wiki/Income_statement  and an example in account
>>> form:https://debitoor.de/lexikon/gewinn-und-verlustrechnung-guv
>>> Note: There are several different methods for grouping the positions
>>> with differrent pros and cons allowed for different company types:
>>> Gesamtkostenverfahren, Umsatzkostenverfahren & IFRS. Currently I have no
>>> better idea for the grouping than adjusting the account structure.
>>> Optionally select other languages e.g.
>>> https://de.wikipedia.org/wiki/Bilanz#Aufbau_der_Bilanz
>>> HTH
>>> Frank
>> _______________________________________________
>> gnucash-devel mailing list
>> gnucash-devel at gnucash.org
>> https://lists.gnucash.org/mailman/listinfo/gnucash-devel
> _______________________________________________
> gnucash-devel mailing list
> gnucash-devel at gnucash.org
> https://lists.gnucash.org/mailman/listinfo/gnucash-devel

More information about the gnucash-devel mailing list