In my credit card account, I keep separate balances for myself, mypartner & joint. During import of the transactions, the bank account transaction is flagged as reconciled. After the import, for some transactions, I split the bank split so I end up with a transaction like: Account Reconciled ------- ---------- Expenses:Misc:Person1 n Expenses:Misc:Person2 n Liabilities:CrCard:Person1 c Liabilities:CrCard:Person2 n In the Reconcile window ('include subaccounts' IS ticked), both bank splits are shown. When I click on the checkbox for the Liabilities:CrCard:Person2 split, it correctly ticks that split, but incorrectly UNTICKS the checkbox for Liabilities:CrCard:Person2. Also, when I untick the split for one of the bank splits, it incorrectly TICKS the checkbox for the other bank split in the transaction. My workaround is to cancel the reconciliation, then flag both bank splits as cleared in the register window before restarting the reconciliation. When the 2 bank account splits have the same status, it sort of makes sense to me to keep them both the same, but because of this problem, I think ticking or unticking the checkbox should only affect the 1 split whose checkbox is clicked. Does anyone have a use case where all splits for the bank account in 1 transaction SHOULD have the same reconciliation status? If that's the case, then the fix for this should enforce that. This problem also occurs when using the 'Reconcile Selection' or 'Unreconcile Selection' buttons. This problem occurs if the transactions are in either the 'Funds In' or 'Funds Out' panels of the Reconcile window.
Oops, should be: In the Reconcile window ('include subaccounts' IS ticked), both bank splits are shown. When I click on the checkbox for the Liabilities:CrCard:Person2 split, it correctly ticks that split, but incorrectly UNTICKS the checkbox for Liabilities:CrCard:Person1. I'll see if I can fix this...
Because of the following comment in gnucash/gnome/reconcile-view.c gnc_reconcile_view_toggle_children() * Need to get all splits in this transaction and identify any that are * in the same hierarchy as the account being reconciled (not necessarily * the account this split is from.) * * For each of these splits toggle them all to the same state. it seems that the reconciliation process expects that all splits for the bank account (and its subaccounts) in a transaction have the same reconciliation status but nothing enforces that. I have modified the reconciliation process so that when you toggle the reconcile flag on a split, it forces all account splits for the account being reconciled (including its subaccounts), to the same new status. Please see PR 670 https://github.com/Gnucash/gnucash/pull/670
PR 670 has been merged into maint. This fix will be in GnuCash 3.9.
I do not agree with this change and think it will introduce another bug: Forcing all splits of a transaction to have the same reconcile status is WRONG. Here's an example: I make a purchase at Amazon on my credit card. Total is $100. They then split the order into $75 that ships immediately and $25 that ships 2 weeks later. In my mind, the best way to handle this is to split that $100 CC charge into $75 and $25 (and leave the other end of the transaction the same). HOWEVER, what happens if that $75 charge hits one month and the $25 charge hits the next? This change will not allow this to happen and will force the $25 to get reconciled when it can't be..
Reopened. Created new PR https://github.com/Gnucash/gnucash/pull/713 in which I have removed the code which propagates reconciling or unreconciling a split to all splits in the transaction for the reconciliation account and its subaccounts.
PR #713 merged into maint 3/5/2020 - Fix will be in GC 3.11