[GNC-dev] Transaction matcher, code to detect many-to-one matches?

John Ralls jralls at ceridwen.us
Wed May 6 18:25:01 EDT 2020

> On May 6, 2020, at 2:08 PM, Jean Laroche <ripngo at gmail.com> wrote:
>> It occurs to me that perhaps matching should be separated into two separate dialogs, perhaps wrapped in an assistant: The first one would match already-entered transactions and the second would run the account matcher on the remaining unmatched ones. That would simplify both the UI and the matching code. Getting something like that done in time for 4.0 isn't likely, though.
> This is still non trivial, though. "The first one would match already-entered transactions": If you mean: go through entered transactions and match to imported ones, this also needs some heuristics so the matcher would have to be involved. Or perhaps you means something else.
> I don't think this can be fixed for 4.0 either. The fix isn't trivial.
> On a related note, is it expected that an already-cleared transactions should appear in the list of matches, if the "Enable update match action" option isn't on? It seems that it shouldn't but maybe I don't quite understand the match logic...

Yes, go through the existing transactions (really the splits because that's what an account has pointers to) and match them to the ones from the import. The matcher already does that, that's what this discussion is about. I'm suggesting separating the presentation into two steps to make it clearer to the user what's going on. I'm not familiar enough with that bit of code to know off hand whether it tries to do both types of matching in one pass; if it does I think separating it into two passes might make it easier to change the way the first one works.

John Ralls

More information about the gnucash-devel mailing list