GnuCash
Contact   Instructions
Bug 798235 - Reconciliation Ending Balance not recalculated the 2nd and subsequent times Statement Date is updated
Summary: Reconciliation Ending Balance not recalculated the 2nd and subsequent times S...
Status: RESOLVED FIXED
Alias: None
Product: GnuCash
Classification: Unclassified
Component: Register (show other bugs)
Version: 4.6
Hardware: PC Windows
: Normal normal
Target Milestone: ---
Assignee: ui
QA Contact: ui
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2021-07-09 09:20 EDT by Culverke
Modified: 2021-09-22 19:33 EDT (History)
6 users (show)

See Also:


Attachments
Incorrect reconciliation ending balance. (96.65 KB, image/gif)
2021-07-09 09:20 EDT, Culverke
no flags Details
Screendump (104.19 KB, image/jpeg)
2021-07-10 08:45 EDT, Culverke
no flags Details
Testfile reconciliation bug (4.88 KB, application/x-gnucash)
2021-07-15 13:17 EDT, kwiso
no flags Details

Description Culverke 2021-07-09 09:20:17 EDT
Created attachment 374131 [details]
Incorrect reconciliation ending balance.

After updating to version 4.6, I have to manually enter the correct ending balance during a reconciliation. After having done 2 reconciliations, I notice the system shows the same incorrect ending balance of $1530.37. I also notice that this amount ($1530.37) is the same regardless of any end date I choose. I am including a picture showing this.
Comment 1 Culverke 2021-07-10 08:45:41 EDT
Created attachment 374132 [details]
Screendump
Comment 2 John Ralls 2021-07-10 17:08:12 EDT
What's in the sub accounts?
Comment 3 Culverke 2021-07-12 09:45:56 EDT
(In reply to John Ralls from comment #2)
> What's in the sub accounts?

I don't have any sub accounts. At least it was not my intent to create any. I do see there is an  option to include sub accounts which, in my case, is checked but I never paid attention to that when reconciling.
Comment 4 John Ralls 2021-07-14 00:12:58 EDT
Well, that's weird. There doesn't seem to be any split with a $1530.37 balance for GnuCash to be latching on to. I've tried in a few books and haven't seen anything out of line so there must be something odd about your book.

Have you tried un-checking the subaccounts box? How about copying your book and running check and repair on the copy, then trying a reconcile?
Comment 5 Culverke 2021-07-14 08:19:06 EDT
I did try unchecking sub accounts box as well as running a repair on a copy. No change. Again, the ending balance is correct as of 7/14 (current date). I need to reconcile as of 7/13 so when I select 7/13, the ending date becomes wrong at that same strange $1,530.37.

As a last resort, I went back to version 4.5 and now everything is working correctly. 

If there was something wrong with my book, it strikes me as odd that this issue doesn't show up in version 4.5. 

Thanks for your attention to this and let me know if you come up with any possible solution/reasoning. In the interim, I'll remain in the 4.5 version and see what happens with the next update.
Comment 6 kwiso 2021-07-14 18:51:21 EDT
I also have this issue with 4.6 under Windows 10 pro. 

When I start the reconciliation the dialog box opens with the date of today and the correct value.
When I change the date the dialog box shows the value as of the first of the month. It does not show the value of the date selected.
I created a small test file with only one bank account and some bookings. This bug can easily be reproduced.
Comment 7 John Ralls 2021-07-14 23:27:28 EDT
(In reply to kwiso from comment #6)
> I also have this issue with 4.6 under Windows 10 pro. 
> 
> When I start the reconciliation the dialog box opens with the date of today
> and the correct value.
> When I change the date the dialog box shows the value as of the first of the
> month. It does not show the value of the date selected.
> I created a small test file with only one bank account and some bookings.
> This bug can easily be reproduced.

Cool! Please attach that test file so that I can easily reproduce it!
Comment 8 Culverke 2021-07-15 08:34:34 EDT
(In reply to kwiso from comment #6)
> I also have this issue with 4.6 under Windows 10 pro. 
> 
> When I start the reconciliation the dialog box opens with the date of today
> and the correct value.
> When I change the date the dialog box shows the value as of the first of the
> month. It does not show the value of the date selected.
> I created a small test file with only one bank account and some bookings.
> This bug can easily be reproduced.

I did not catch where that $1530.37 was coming from but after your post, I also found it as a balance on the last transaction posted on the 1st of the month (In this case, July).
Comment 9 kwiso 2021-07-15 13:17:47 EDT
Created attachment 374135 [details]
Testfile reconciliation bug

Testfile to reproduce reconciliation bug in 4.6 under Windows 10 Pro
Comment 10 John Layman 2021-08-26 10:48:07 EDT
I've encountered this issue also.  Altering the statement date causes the ending balance to change to the balance as of the first posted item of the calendar month.
Comment 11 Chris Good 2021-08-27 00:43:50 EDT
Using test.gnucash from comment 9, I've found a problem in Gnucash Flathub 4.6 (Linux Ubuntu 20.04) - not exactly the same but probably the same problem.

If you click on the Reconcile button while in the Assets:Current Assets:Checking Account register, the Reconcile window opens showing
Statement Date 	27/8/2021
Starting Balance  0.00
Ending Balance	459.00		Correct

Chg statement date to 13/7/2021
Starting Balance  0.00
Ending Balance	414.00		Correct

Chg to 14/7/2021
Starting Balance  0.00
Ending Balance	414.00		Wrong s/b 409.00

The problem seems to be that the 2nd time you change the statement date, the balance is not recalculated.

I shall try to fix unless you have already started that John Ralls?
Comment 12 John Ralls 2021-08-27 11:04:51 EDT
Chris, go ahead. I haven't taken this up.
Comment 13 Chris Good 2021-08-29 05:39:33 EDT
This seems to be caused by maint commit https://github.com/Gnucash/gnucash/commit/faaed371ed3f5bb1083284bd762e3d22d4b1216f on 31/05/2021 for Bug 798144.
Part of which added at end of gnc_start_recn_date_changed():
  gnc_start_recn_update_cb (GTK_WIDGET(data->end_value), NULL, data);

This causes the user_set_value flag to be set True (indicating statement end amount was manually entered - which it wasn't) after the date is changed. This causes the ending balance to NOT be recaluated when the end date is subsequently changed.

AFAICT, my testing shows this line is not required.
I'll put in a pull request tomorrow removing this line unless some-one can tell me why this line should be there in the meantime.
Comment 14 John Ralls 2021-09-22 19:33:43 EDT
Chris's PR has been merged and will be in GnuCash 4.6, to be released this weekend.

Note You need to log in before you can comment on or make changes to this bug.