Bug 486876

Summary: Show balance button on Ledger view is negative
Product: [Applications] kmymoney Reporter: jesse <jvapr27>
Component: generalAssignee: KMyMoney Devel Mailing List <kmymoney-devel>
Status: RESOLVED FIXED    
Severity: wishlist CC: mrp, ostroffjh
Priority: NOR    
Version: 5.1.3   
Target Milestone: ---   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In: 5.2
Sentry Crash Report:

Description jesse 2024-05-11 02:34:17 UTC
SUMMARY
When you press the show balance chart on the ledger view, it shows negative values. It could be that this is intended to work this way but I am reporting it as it was not intuitive to me why it the value was negative and why the chart showed negative values. 

I believe that the it would be more intuitive if the chart shows absolute values to remove any negatives. 

If the account is a liability
- a negative value would mean that the account is overpaid
- a positive value is the amount that owed on the liability 

If the account is an asset
- a negative value would mean that the account is over drafted. 
- a positive value means the account has a positive balance, there is money available. 

This however, may only be the way I think about it. 

It can also make sense the way it is now, but it may help to put tool tip to help explain that the negative value on the liability is simply what is owed, not that the account has been overpaid.  


STEPS TO REPRODUCE
1. Open Mymoney file 
2. Go to ledger for a liability account
3. Click on the show balance chart

OBSERVED RESULT
If the account has a balance (if liability, you still owe it), then you will see the chart dip into the negative. 
If the account has been over paid, it will be positive. 

EXPECTED RESULT
If the account has a balance, it should be positive. 
If the account has been over paid, it should be negative, 
- essentially reverse the signs when it is a liability vs an asset account. 


SOFTWARE/OS VERSIONS
Windows: 
macOS: 
Linux/KDE Plasma: 
(available in About System)
KDE Plasma Version: 
KDE Frameworks Version: 
Qt Version: 

ADDITIONAL INFORMATION
Comment 1 Jack 2024-05-11 20:07:29 UTC
As far as I can tell, this is all by design. I also think it has been discussed in the past, but I can't find any references at the moment.  
First, it is not reasonable to use absolute values for these charts, since any account can be above or below zero.  An asset account can be over-drawn, and a liability account can be over-paid.  What would the chart look like for an over-paid liability of over-drawn asset?

I think what you could be asking for is that liability accounts show the amount owed as positive instead of negative,  but I think you will find as many people who want it the way it is.  You can think of your net worth as your assets less liabilities (thinking of both as positive amounts, as you request) or you can think of net worth as the sum of positive assets plus negative liabilities.  I can't make any definitive statement, but I don't think this change is likely to happen.  However, I think it could be reasonable to change this into a wishlist to add a toggle to the configuration that asks the balance charts of liability accounts to be shown "upside down."  (This could conceivably be done with or without actually flipping the sign of the values.)

In any case, I'll look through the handbook and see if I can improve the discussion to make this issue more obvious.  We can also think about adding a tool or note to balance charts for liability accounts pointing out that the liability, or amount you owe, is shown as a negative number.
Comment 2 jesse 2024-05-11 22:04:34 UTC
(In reply to Jack from comment #1)
> As far as I can tell, this is all by design. I also think it has been
> discussed in the past, but I can't find any references at the moment.  
> First, it is not reasonable to use absolute values for these charts, since
> any account can be above or below zero.  An asset account can be over-drawn,
> and a liability account can be over-paid.  What would the chart look like
> for an over-paid liability of over-drawn asset?
> 
> I think what you could be asking for is that liability accounts show the
> amount owed as positive instead of negative,  but I think you will find as
> many people who want it the way it is.  You can think of your net worth as
> your assets less liabilities (thinking of both as positive amounts, as you
> request) or you can think of net worth as the sum of positive assets plus
> negative liabilities.  I can't make any definitive statement, but I don't
> think this change is likely to happen.  However, I think it could be
> reasonable to change this into a wishlist to add a toggle to the
> configuration that asks the balance charts of liability accounts to be shown
> "upside down."  (This could conceivably be done with or without actually
> flipping the sign of the values.)
> 
> In any case, I'll look through the handbook and see if I can improve the
> discussion to make this issue more obvious.  We can also think about adding
> a tool or note to balance charts for liability accounts pointing out that
> the liability, or amount you owe, is shown as a negative number.

Thanks Jack. 
Yes, you are correct about absolute values not being valid here. 

I figured there may be people, and as you said, maybe equal number of people that like it the way it is. 

If that is the case, no worries. I agree with you on the two ways to look at same situation. 

I also agree that updating the handbook or adding a tool tip would be nice. I know that in the normal reports, there is a checkbox to ask whether we want to see the expenses charted as negative numbers. Perhaps something similar to that could be added.  Personally, I like all numbers to be charted as positive values. That is just my preference. 

I can live with the current set up though. I know the new ledger is a huge focus right now and this was more meant as a back burner item  for when there is more time to reflect. 

You are correct, maybe it is more of a wish list item. I would be cool with that. 

Thanks again!
Comment 3 Mark Penner 2024-05-12 03:03:50 UTC
Not sure if this is useful to compare, but Gnucash has three settings for which accounts to reverse the balance on: Income & Expense, Credit accounts, None. https://gnucash.org/docs/v5/C/gnucash-manual/set-prefs.html#prefs-accounts
I find I can get used to any of methods. (I suppose the traditional way would be to use all positive numbers and mark them credit or debit, but that's not very beginner friendly)
Comment 4 Thomas Baumgart 2024-05-12 05:57:38 UTC
KMyMoney normally works with the "Credit account" option (displays a positive balance for account types that would normally carry a credit balance (income, credit, liability, equity)). It just does not do it for the graph representation of the balance chart, though.
Comment 5 jesse 2024-05-12 15:16:15 UTC
(In reply to Thomas Baumgart from comment #4)
> KMyMoney normally works with the "Credit account" option (displays a
> positive balance for account types that would normally carry a credit
> balance (income, credit, liability, equity)). It just does not do it for the
> graph representation of the balance chart, though.

Would it be possible for the wish list item to be request the Balance chart to also follow the same?
Comment 6 Jack 2024-06-15 22:20:12 UTC
Converting to wishlist per Comment #5.
Comment 7 Thomas Baumgart 2024-07-01 20:47:26 UTC
Git commit 62656812e66c750e018f22a5c6fcbfa54021df18 by Thomas Baumgart.
Committed on 01/07/2024 at 19:35.
Pushed by tbaumgart into branch 'master'.

Show liabilities/equities as positive numbers

A liability is usually a negative amount in terms of networth. Showing
the liabilities with a negative sign is confusing for users, though.

This change takes care of this and displays liabilites that are still
due as positive numbers and overpaid liablities as negative on the
homepage's asset and liability section, the account balance chart and
the ledger balance.
FIXED-IN: 5.2

M  +20   -0    kmymoney/mymoney/mymoneyaccount.cpp
M  +6    -2    kmymoney/mymoney/mymoneyaccount.h
M  +37   -0    kmymoney/mymoney/tests/mymoneyaccount-test.cpp
M  +2    -0    kmymoney/mymoney/tests/mymoneyaccount-test.h
M  +24   -8    kmymoney/plugins/views/reports/core/kreportchartview.cpp
M  +4    -1    kmymoney/plugins/views/reports/kbalancechartdlg.cpp
M  +9    -5    kmymoney/views/khomeview_p.h
M  +2    -0    kmymoney/views/ledgerviewpage.cpp
M  +5    -3    kmymoney/views/ledgerviewpage_p.h

https://invent.kde.org/office/kmymoney/-/commit/62656812e66c750e018f22a5c6fcbfa54021df18