wish: feature to lock changes of reconciled transactions

Bug #1909749 reported by Pascal RAULT
18
This bug affects 3 people
Affects Status Importance Assigned to Milestone
HomeBank
Fix Released
Wishlist
Maxime DOYEN

Bug Description

Hello,

Very often, I use existing transactions as model to create a new one. Sometimes, by mistake, I edit the existing transaction instead of inheriting it.
It cause a modification of the reconciled balance.
To avoid that, it may be very useful to have a button to block or unblock the reconciled transactions.

Many thanks

Pascal RAULT (mongo84)
summary: - block reconciled transactions
+ Wish: block reconciled transactions
Pascal RAULT (mongo84)
summary: - Wish: block reconciled transactions
+ Wish: block editing of reconciled transactions
Revision history for this message
Kinnin Vo-Shay (vo-shay) wrote : Re: Wish: block editing of reconciled transactions

I've run into this before as well, and debated if I should raise a wish for it. Seems like I'm not the only one!

Hadn't considered it as a button (in the account window, I assume). I initially thought this might be good as a setting, but I did expect to be able to first change the reconciled state to unreconciled in case I did need to change that transaction.

Revision history for this message
Maxime DOYEN (mdoyen) wrote :

what do you mean by "block or unblock"

have a button with a padlock and when it is set you cannot edit reconciled txn ?
or something else, more ?

Changed in homebank:
status: New → Incomplete
Revision history for this message
Pascal RAULT (mongo84) wrote :

I think of a button which is red when the reconcilied operations are blocked and become green when I click on it to unblock these reconcilied operations.

Maxime DOYEN (mdoyen)
Changed in homebank:
assignee: nobody → Maxime DOYEN (mdoyen)
importance: Undecided → Wishlist
status: Incomplete → New
Maxime DOYEN (mdoyen)
tags: added: data-structure
Maxime DOYEN (mdoyen)
Changed in homebank:
milestone: none → 5.6
importance: Wishlist → Undecided
milestone: 5.6 → none
Maxime DOYEN (mdoyen)
Changed in homebank:
importance: Undecided → Wishlist
status: New → Confirmed
Maxime DOYEN (mdoyen)
Changed in homebank:
milestone: none → 5.6
Revision history for this message
Lindsay Lorden (ludwigwn) wrote :

This is a problem I've run into too, so support implementing something to protect reconciled transactions - one accounting package I used in the past just had a "are you sure you wish to change a reconciled [or cleared] transaction - your account reconciliation may be affected? (Y/N)" prompt before changes would save.
I'd be happy with a reconciled [even cleared?] transaction being unable to be edited - maybe a prompt to say "save as a new transaction (Yes/Cancel)?". A highly padlock image on the transaction screen would help too.

Maxime DOYEN (mdoyen)
Changed in homebank:
status: Confirmed → In Progress
Revision history for this message
Maxime DOYEN (mdoyen) wrote :

I have added a switch button with a small padlock image on the left
when lock, you cannot:
- edit
- delete
- change status

Changed in homebank:
status: In Progress → Fix Committed
Maxime DOYEN (mdoyen)
summary: - Wish: block editing of reconciled transactions
+ wish: block editing of reconciled transactions
Revision history for this message
Maxime DOYEN (mdoyen) wrote :

this still to be officially released in 5.6
but I have included it into 5.5.4 also

Revision history for this message
Lindsay Lorden (ludwigwn) wrote :

Hopefully the "padlock" can be unlocked though? .. just in case one makes a mistake reconciling it!

Revision history for this message
Maxime DOYEN (mdoyen) wrote :

yes of course, easily lock/unlock

Maxime DOYEN (mdoyen)
tags: removed: data-structure
Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

Hi!
This feature absolutely freaked me out and made me panic for a solid 10 minutes after my app version was upgraded to 5.5.4 today, because I could not edit/correct any of my transactions (to be able to retag them for example) and I thought there was a bug or that my database was corrupt somehow.

There are multiple usability problems with how this behaves currently.

* It does not allow you to un-reconcile transactions that have been reconciled, which makes this feature quite inflexible. I can kind of understand not touching other fields of reconciled transactions when they are locked, but you should _at least_ be able to unreconcile a transaction so that it is not affected by the global lock. Especially if you reconciled something by mistake (every UI should "forgive" the user and offer opposite actions for actions taken whenever possible).
* It is locked by default, instead of unlocked by default, which is not really friendly to casual users who may wonder what is going on there (see conclusion below)
* It does not remember the status after you close the account's transactions window, and goes right back to Locked the next time you use it, even within the same session!
* The toolbar button tooltips and menu item labels do not say anything about the lock when you select transactions affected by this. They should indicate that so that it's clear why they are "insensitive".
* The "locked on the left, uncolored ; unlocked on the right, colored" visual representation seems/feels reversed to what my mind would expect. I would have expected the fact that it's locked to be tied to the "switch turned on" status, with red styling (instead of blue) rather than a switch turned off. Or maybe you can find a way to CSS style it red when it is off/locked and keep it blue when unlocked. In any case there definitely should be red somewhere for this when active; that was also the suggestion of the original reporter above.

For context, in my usecase, a reconciled transaction means "I reviewed/cleaned up this transaction, and particularly the amounts" but it does not mean the transaction's info, tags, memo, categories can't ever change. So I often do a first pass at "reconciling" by making sure dates/amounts/categories/etc. are correct, but I sometimes forget to put tags or whatever. I routinely go back over previous transactions to harmonize/fix incorrect annotations when doing my income taxes preparation (sometimes I realize something only when looking at global stats/reports).

I can kind of see why some people would like this locking feature, but I've never (in 10 years of use) run into the problem of editing an existing transaction when I meant to inherit it, so I would not want this system blocking me so drastically all the time, and I would certainly not recommend it being the default behavior.

Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

Also, another reason why it wasn't immediately obvious to me that this widget was the source of my problems when I investigated this today is that the tooltip for that widget is imprecise. It says "Lock/unlock reconciled transaction" (singular) but it should say:

* "Editing of any reconciled transactions is currently locked. Click to unlock."

* "Click to prevent editing any reconciled transactions."

...depending on the switch's state.

Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

...and I would also recommend that switch to be positioned at the end (right-aligned) of the contextual/inline operations editing toolbar at the bottom, because it would make more sense for it to be located contextually there than in the top toolbar which is rather about filtering the view rather than actions on transactions.

Revision history for this message
Lindsay Lorden (ludwigwn) wrote :

I find this lock/unlock mechanism a simple method to prevent errors I've made changing the existing transaction rather than inheriting, as did Pascal Rault who initiated this request and Kinnin Vo-Shay.
It didn't take long to get used to it, probably because I was waiting for it to come.
Yes, there could be tweaks to the way it works, like ability to change cleared/reconciled status whether locked or not (using the controls across the bottom), but I would not like to see Maxime remove the feature.

As to position and colour of the control, I can see your point but I'm also happy where it is - not adverse to changing it though if others agree. Ability to open the transaction but not change it would be useful too, but not at the expense of complicating the internal code. We're not paying a lot of money to a big corporate for the very useful software!

Good point about the tooltip. A reword would help but the development software may limit it to one for the toggle switch rather than multiple based on current setting. Maybe something like "Editing reconciled transactions locked (red) / allowed (grey)".

What do others think?

Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

To be clear, I'm not advocating for removing the feature, simply improving it in various ways from a usability standpoint, and having saner default behavior (and remembering the setting).

Revision history for this message
Maxime DOYEN (mdoyen) wrote :

I didn't read all the latest post, and I will
Tonight I have added a lock/unlock icon on the left column to visually shows that txn are locked

Changed in homebank:
status: Fix Committed → In Progress
Revision history for this message
Maxime DOYEN (mdoyen) wrote :

Hi all,

@Jeff: Firstly you post requires clarification

=> this feature was announced into the changelog and documented, so it was simple not to "freak out" as you name it, by reading those, I released it in pre 5.6 because I though it was useful, but that I will have such feedback needed to be adjusted.

=> that said, in the workflow, reconciled is the final status of a txn, it should be set after you have validated for any mistake and pointed the txn with your bank statement, so those txn can be locked for any change, because you are not suppose to do change, I do believe you misuse this status and should use the clear status, when you review by yourself and still make adjustment, check out the doc for more info (clear status was added somehow especially to be able tot do this).

=> with 5.5.6, I have added a lock icon as well on every txn line to make the UI more explicit (I hope)

here is a point by point answer:

* It does not allow you to un-reconcile transactions that have been reconciled
=> for such forgotten, you should unlock

* It is locked by default
=> yes because of my previous explanation, and it will still the default, anyway, other users have requested a setting for this with #1980562, which I'm going to implement

* It does not remember the status
=> yes for same reason: any involuntary change to reconciled txn should be prevented

* The toolbar button tooltips and menu item labels do not say anything about the lock when you select transactions affected by this.
=> the register is already dense, this is where the doc should be used, if you have suggestion on how to display this without make the ui dirty, let me know

* The "locked on the left, uncolored ; unlocked on the right, colored" visual representation seems/feels reversed to what my mind would expect.
=> I used a GtkSwitch for that, the display mostly depends on the theme, and Paul first suggested red/green, but this will interfere with theming, so I avoid try doing this.

But you are right, I can definitively improve the tooltips
And position of the widget as well.
=> I will think about it for sure.

So to summarize:
- I will add a setting for this to disable/enable by default
- setting locked by default: yes, as it can be disabled for old users
- more explicit tooltip for action/menu: not that easy
- widget tooltip: to be improved for sure
- widget position: to be changed, still hesitate

@others if you have suggestion on those changes let me know

Maxime DOYEN (mdoyen)
summary: - wish: block editing of reconciled transactions
+ wish: feature to lock changes of reconciled transactions
Maxime DOYEN (mdoyen)
tags: added: usability user-interface
Revision history for this message
Maxime DOYEN (mdoyen) wrote :

final changes:
- prefs is called: [x] Lock reconciled for any changes (true by default)
- moved the switch button in the bottom toolbar, after the existing buttons, default to ON
    Reconciled changes is (lock/unlock icon is here) [O/1]
- tooltip of the switch varies to: Locked. Click to unlock / Unlocked. Click to lock (which is maybe useless)
- any reconciled txn will have a lock icon, if changes is locked

Changed in homebank:
status: In Progress → Fix Committed
Maxime DOYEN (mdoyen)
Changed in homebank:
status: Fix Committed → Fix Released
Revision history for this message
Jeff Fortin Tam (kiddo) wrote :

If some of you are interested, bug #2026315 is a suggestion and "proof of concept" regarding the widget's color.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.