Transaction-Level and Split-Based Tagging in KMyMoney 5.2.1-6e26843

Hi everyone!

I’ve been a long-time KMyMoney user, but after updating to version 5.2.1-6e26843, I’ve noticed a significant change in how tags are handled.

In previous versions, I could apply tags to an entire transaction and simultaneously to individual splits. Now, it seems tags are strictly limited to the splits. This change is causing several issues for me:

  • Reporting: My existing reports are no longer functioning correctly.
  • Visibility: When listing old transactions for a specific tag, they appear in the list as usual; however, when I open the transaction details, the tag is missing (even if the transaction has no splits).

I tried to select multiple transactions under a tag in the Tags view, to see if I could “edit” or “add” a tag to all of them, but it is not possible. It would be a very nice feature, to be honest, and it could be an easy way to fix my issues (at least for transactions without splits, or adding the tag to all the splits).

I have two main questions:

  • Is there an official post or documentation explaining the logic behind this change?
  • What is the recommended way to “fix” or adapt my database to these changes so my reports work again?

Any guidance or links would be greatly appreciated!

Thanks in advance.

A tag was always an attribute of a split and never one of a whole transaction. In fact, there has been a change between how 5.2.0 and newer versions handle tags compared to the 5.1 series of KMyMoney. There was a bug report that tags are not working properly and that was caused by the fact that the tag was applied to the wrong split.

In case you have a regular transaction it comprises out of two splits: one referencing the account (A) and the other one the category (C). When one assigned tags to this transaction in the UI the tags were attached to split A which caused all kinds of weirdness in reporting. The problem is that the tags need to be attached to C instead.

Regarding your other questions I need to take a closer look.

Could other “weirdness in reporting” as described in my bug 511104 be related to this change?

That’s probably one of them. But I don’t remember all the details.

Hi @ipwizard

Thank you very much for your explanation! Your point about the two splits (Account and Category) was the key to understanding the current behaviour. Today I’ve had some time, and after some testing on version 5.2.2-8119572, and following the hint in this comment bug 511104#c3 (thank you Paul Worrall for mentioning this bug, it helped!) about checking the “Transaction details”, I’ve been able to pinpoint the exact pattern.

It appears that KMyMoney targets different splits for creation/editing depending on the current view:

  1. From the Account Ledger (or if I edit from the Payee view going via “Go to Payee”): When I create or edit a transaction here, tags are applied to the category split. This is clearly visible in the “Transaction Details” dialog.

  2. From the Category Ledger (via “Go to Category”): From this view, no tags appear. Then, if I edit the transaction from this view and add the tags here, they are written to the account split; also verified in the “Transaction Details” dialog.

This confirms the inconsistencies in my data:

  • Reporting: My reports only seem to pick up tags if they exist on the account split. Since the current default when entering data from the Account Ledger is now the category split, new transactions are effectively “invisible” to my reports.

  • Tags View: I’ve attached a screenshot of the Tags view. As you can see, a single double-entry transaction appears twice. The entries are slightly different depending on whether the tag is on the Account (A) or Category (C) split.

I have two questions to follow up on this:

  1. In double-entry transactions, wouldn’t it be more robust to have tags applied to both splits simultaneously by default? This would ensure consistency in reports and ledgers regardless of the user’s workflow. It might be unnecessary, tough.

  2. If the long-term goal is to standardize tags on the category split, how can I migrate my existing data (mostly on account splits) so that my reports continue to function?

Thanks again for the insights, they were essential to understanding this!

I don’t know if this is the same issue but with 5.2.2 I am definitely seeing a regression: I added a tag to a transaction and that tag is not shown on the other side. I am not even talking about editing splits in splits view here, just regular tag assigned to a transaction. Transaction details indeed show tag was assigned to only one side of the transaction.

This used to work just fine, i.e. I would see the same tag on both sides of the transaction. Something is definitely off, @ipwizard, or I am missing something.

EDIT: actually, this is for a transaction between two Asset accounts, not Asset and Category.