SUMMARY If a payee is used in a matched transaction, the transaction is not visible under the payee in the payee list after they are matched. If you try to merge or delete a "ghost payee", you get an error: Unable to remove payee(s) Cannot remove payee that is still referenced to a transaction C:\_\be855f17\kmymoney\kmymoney\mymoney\storage\mymoneystoragemgr.cpp:290 Then all matched transaction with that payee are lost. STEPS TO REPRODUCE 1. Manually create payee-a and payee-b 2. Manually create 2 transactions, one with Pay to: payee-a and one to payee-b. Same amount on both. 3. Match the two transactions. The matched transaction will be listed with payee-b. 4. If you now look in the payee list, you see the transaction under payee-b. If you look at payee-a, the transaction list is empty. 5. Merge payee-a and payee-b to payee-b. Then you get the error above, and the the match transaction and sub transactions are deleted. 6. If you try to delete payee-a instead, then you get an error, but transaction is not deleted as with merge. OBSERVED RESULT Payee not merged, transaction deleted. If a payee is used in a sub transaction in a matched transaction, the transaction is not visible in under transactions on the payee in the payee list. Now it's very dangerous to use the merge payee, since if a payee is linked to a sub transaction, it will delete all related transactions to that payee without any notifications. EXPECTED RESULT When merging payees, it should also handle the sub transactions in a matched transaction. <PAIR key="kmm-matched-tx"......."SPLIT payee="P000004"" Matched transaction's sub transaction should be listed under that payee's transaction tab. Or some other way to prevent "ghost" payees that can't be deleted or merged, because they have unknown relations to matched sub transactions. The only way to locate them is to go into the XML. SOFTWARE/OS VERSIONS Windows: 10 Pro x64 macOS: Linux/KDE Plasma: (available in About System) KDE Plasma Version: KDE Frameworks Version: 5.57.0 Qt Version: 5.12.3 ADDITIONAL INFORMATION KMyMoney Version 5.0.80-7611781f3
Git commit 34d12e8fdc4e8a7c18f18c5aa665bebfb3323a9d by Thomas Baumgart. Committed on 02/06/2019 at 09:56. Pushed by tbaumgart into branch '5.0'. Update payee in matched transaction In case two payees are merged and one of them is referenced in a matched transaction, it could happen that the transaction was removed from the users data leading to incorrect data. This change also updates the payee identifier in the matched transaction should it exist and thus avoids data loss. Deleting a payee that is referenced in a matched transaction still is not possible but does not result in data loss. FIXED-IN: 5.0.5 M +12 -0 kmymoney/views/kpayeesview_p.h https://commits.kde.org/kmymoney/34d12e8fdc4e8a7c18f18c5aa665bebfb3323a9d