SUMMARY If you have a scheduled transaction with more than one category split in the split editor, the payee field for the category splits is not saved STEPS TO REPRODUCE 1. Edit or create a scheduled transaction with more than one category split (e.g. Gross Pay and Income Tax) 2. Assign payees to the splits (e.g. Employer and Government respectively) 3. Save the scheduled transaction 4. Reopen the scheduled transaction for editing and examine the splits OBSERVED RESULT The payee field of each category split is blank EXPECTED RESULT The payee field of each split shows the value assigned at step 2 SOFTWARE/OS VERSIONS Operating System: Arch Linux KDE Plasma Version: 6.5.1 KDE Frameworks Version: 6.19.0 Qt Version: 6.10.0 Graphics Platform: Wayland KMYMONEY COMPONENTS KMyMoney: 5.2.1 Akonadi: Unknown(I18N_ARGUMENT_MISSING) (build against 6.5.1(I18N_ARGUMENT_MISSING)) Alkimia: 8.2.1(I18N_ARGUMENT_MISSING) (build against 8.2.1(I18N_ARGUMENT_MISSING)) Aqbanking: Unknown(I18N_ARGUMENT_MISSING) (build against 6.6.3(I18N_ARGUMENT_MISSING)) Gpgme: Unknown(I18N_ARGUMENT_MISSING) (build against 2.0.0(I18N_ARGUMENT_MISSING)) Gwenhywfar: Unknown(I18N_ARGUMENT_MISSING) (build against 5.12.1(I18N_ARGUMENT_MISSING)) KDiagram: Unknown(I18N_ARGUMENT_MISSING) (build against (I18N_ARGUMENT_MISSING)) libical: Unknown(I18N_ARGUMENT_MISSING) (build against 3.0.20(I18N_ARGUMENT_MISSING)) libofx: Unknown(I18N_ARGUMENT_MISSING) (build against 0.10.9(I18N_ARGUMENT_MISSING)) SQLCipher: Unknown(I18N_ARGUMENT_MISSING) (build against 3.46.1(I18N_ARGUMENT_MISSING)) KDE Frameworks: 6.19.0 Qt: Using 6.10.0 and built against 6.10.0 Arch Linux (Wayland) Build ABI: x86_64-little_endian-lp64 Kernel: linux 6.17.7-arch1-1 ADDITIONAL INFORMATION Doing the same thing with an entered transaction in a ledger, the payees of each category split are saved OK
Confirmed I thought I had a hint about what is going on. but now I'm not sure. Note that when you create the scheduled transaction, the split editor looks like the split editor used in the Ledgers View (as it should, I think.) Note that when you close the split editor, the Payees on the splits are shown in the Memo column, there being no column displayed for Payees (also OK, as far as I can tell.) However, if you then re-open the split editor (before actually saving the Scheduled Transaction) the Payees are already gone. I have not yet looked into the code that actually saves the Splits within the Schedule, but I wonder if that is where they might be getting lost. I'll try diffing into the code.
I think the relevant code is here: https://invent.kde.org/office/kmymoney/-/blob/master/kmymoney/mymoney/mymoneyschedule.cpp?ref_type=heads#L176 The comment a few lines earlier says it's clearing out some "unused information ... for the case that the transaction passed ... is a matched or imported transaction". I don't understand that, but the payee field is not "unused information" for the use case mentioned in my report. Also, it is inconsistent that you can populate the payee fields when entering a transaction manually but not via a schedule.
In fact it is exactly this line https://invent.kde.org/office/kmymoney/-/blob/master/kmymoney/mymoney/mymoneyschedule.cpp?ref_type=heads#L186 which is older than 16 years and dates back to I don't know what. Maybe it's about time to change it a bit.