This forum has been archived. All content is frozen. Please use KDE Discuss instead.

Cannot set Payee Matching method to EXACT

Tags: None
(comma "," separated)
kapitan-iglu
Registered Member
Posts
13
Karma
0
OS
Hi,
I'm using KMyMoney v5.1.2 with .kmy file storage and I want to match payees on exact name during transaction import from QIF file. So I changed in payee 'Matching' option 'Match method' to value 'Match Payees name (exact)'. On File -> Save this will set attribute 'matchkey' to value "^$" in xml file. If I quit KMyMoney and start it again, same kmy file is opened automatically but in Payee Matching tab 'Match method' is changed to 'Match Payees name (partial)' (instead of exact). In xml file all 'matchkey' attributes are resetted back to "" (zero string).

Expected behavior is that KMyMoney will preserve value of match method on file load.

Partial match is not sufficient in my case because I have payees with similar names (one payee name contains same string as another's payee whole name).

How can I set payee match method to exact?
User avatar
ipwizard
KDE Developer
Posts
1359
Karma
6
OS
It's a bug. The workaround would be to select method Match on a name listed below and enter the name enclosed in ^ and $, so e.g. to match kapitan-iglu add ^kapitan-iglu$.


ipwizard, proud to be a member of the KMyMoney forum since its beginning. :-D
openSuSE Leap 15.4 64bit, KF5
kapitan-iglu
Registered Member
Posts
13
Karma
0
OS
OK, thanks.

And...ehm...any idea how to change match method on all 682 payees this way? :o
User avatar
ipwizard
KDE Developer
Posts
1359
Karma
6
OS
:o that is much. Since the bug is already fixed in the KMyMoney git source repository, this fix will be part of the next AppImage which should be build within the next 24 hours (as it looks tonight around 19:30 UTC). You can try to use that for your import (which would also give us some confidence that the right change has been made). Check the instructions on how to use that file if you are unfamiliar with AppImage versions of an application.

BTW, the stored value of "^$" is used as marker to instruct KMyMoney to do exact matches. It was just not interpreted correctly during loading of the file.


ipwizard, proud to be a member of the KMyMoney forum since its beginning. :-D
openSuSE Leap 15.4 64bit, KF5
kapitan-iglu
Registered Member
Posts
13
Karma
0
OS
Thank you for quick bug fix. I've successfully compiled revision 'aecff7cf0' and tested it. Now exact match method is preserved on file reload as expected.

Since there is not possible to select multiple payees and change match method at once, I decided to edit XML file with `sed` (and proper regex). Please confirm that exact match method is defined by PAYEE attributes with these values as follows:
Code: Select all
matchingenabled="1"
usingmatchkey="0"
matchkey="^$"

Just to be sure: Is master branch stable enough for "production" use? Or should I apply your patch to the latest v5.1.2 tag? Or maybe in 5.1 branch is v5.1.2+fixes?
User avatar
ipwizard
KDE Developer
Posts
1359
Karma
6
OS
I would not use master for production at this point (unless you exactly know what you're doing :) ) but the fix is also applied to the 5.1 branch as eb5ea86a8c3ab. Since you build from source, it is just a matter to switch to that branch.

The data attributes you describe are correct. There is a fourth item which may be of interest, but probably not so much for exact matching: matchignorecase which - as the name says - ignores case if set to 1.

p.s. kapitan-iglu somehow reminds me at my childhood :)


ipwizard, proud to be a member of the KMyMoney forum since its beginning. :-D
openSuSE Leap 15.4 64bit, KF5


Bookmarks



Who is online

Registered users: bancha, Bing [Bot], Evergrowing, Google [Bot], mesutakcan, Sogou [Bot]