Bug 459772 - disallow the change to Reconcile outside of reconciliation process
Summary: disallow the change to Reconcile outside of reconciliation process
Status: REPORTED
Alias: None
Product: kmymoney
Classification: Applications
Component: general (show other bugs)
Version: 5.1.2
Platform: Other Linux
: NOR wishlist
Target Milestone: ---
Assignee: KMyMoney Devel Mailing List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-09-28 12:42 UTC by jesse
Modified: 2022-09-28 15:50 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description jesse 2022-09-28 12:42:14 UTC
SUMMARY
Wish list: 
I noticed that the user is capable of clicking on the column named 'C'. This however, seems to circumvent the reconciliation process. I think the ability to move to reconcile should only be available through the reconciliation process. 


STEPS TO REPRODUCE
1. Open any ledger
2. for a transaction, click on the column 'C', twice. 


OBSERVED RESULT
You will noticed the value change to C on the first click, then R on the second click. 

EXPECTED RESULT
You should be allowed to change the state to C but not to the R - which indicates reconciled. 

SOFTWARE/OS VERSIONS
KMY: Version 5.1.3-3408d1edc app image 
Linux/KDE Plasma: Fedora Gnome 36
KDE Plasma Version: n/a
KDE Frameworks Version: KDE Frameworks Version 5.98.0
Qt Version: Qt Version 5.15.5 (built against 5.15.5)

ADDITIONAL INFORMATION
I know some users may never reconcile their transactions, which is fine if they do not want to. They can simply leave the transactions in 'C' clear mode. For the rest of us, I believe protecting the integrity of reconciliation may be important. The product should not allow transactions to be changed to reconciled without going through the correct process. 

Further, I do not know how to best handle when a transaction is injected into a ledger into a time period that is already reconciled. Maybe show a warning when the user is entering a transaction that will affect another account's reconciliation status. Or maybe, unreconcile (if that is even a word) the transactions with a date past the new injected transaction.
Comment 1 Jack 2022-09-28 13:21:41 UTC
There have been similar discussions about this in the past, with no definite resolution, but an agreement that the current situation allows a user to get into an inconsistent state.  It is not clear how soon this will get addressed by the developers.  One previous discussion suggested that rather than simply disallowing to change the state of a transaction to or from "R" except by the reconciliation process itself, the user should be notified if any action on their part would alter the reconciliation state of the account.  This would also show up changing the amount of a reconciled transaction, as well as the other issue you mention.
Note that you cannot really affect the reconciliation state of another account, since a transaction is reconciled (per split, I believe) separately in each account it touches.
Comment 2 jesse 2022-09-28 15:50:25 UTC
(In reply to Jack from comment #1)
> There have been similar discussions about this in the past, with no definite
> resolution, but an agreement that the current situation allows a user to get
> into an inconsistent state.  It is not clear how soon this will get
> addressed by the developers.  One previous discussion suggested that rather
> than simply disallowing to change the state of a transaction to or from "R"
> except by the reconciliation process itself, the user should be notified if
> any action on their part would alter the reconciliation state of the
> account.  This would also show up changing the amount of a reconciled
> transaction, as well as the other issue you mention.
> Note that you cannot really affect the reconciliation state of another
> account, since a transaction is reconciled (per split, I believe) separately
> in each account it touches.
hmm.. I see. 

For the first part, about disallowing the user to click a transaction into R status, I still think it should not be as simple as a click. Reconciliation is very important and I even consider it an integrity check of the transactions. 

What happens when someone has to inject a transaction into an account for a time frame that has already been reconciled, for example: 
my checking account is reconciled as of  2021-06-01, but my credit card account shows a payment from that checking account coming out from 2021-05-31. If I add the transaction to my CC as it shows in my CC statement, it will change my reconciled checking account. I feel, instead, kMyMoney should ask the user if they want to continue(which I think it does today) and if the user does continue, it should unreconcile the transactions past that date. 

Another thing that would help here, is if in the ledger it showed the clear amount (already there), reconciled amount, and balance (already there). Extremely cool if there was a total for the Debits and credits at the bottom. :) All of this could be controlled by a flag in the settings: "Show All Account Detail Totals"