I consider that a bug, and a really easy one to fix. A great opportunity for a 
first PR!

Regards,
John Ralls


> On Feb 24, 2026, at 19:17, Jon Schewe <[email protected]> wrote:
> 
> Interesting behavior (potential bug) here. If the memo is the empty
> string, then this heuristic always gives a +1. This explains the reason
> that I'm seeing 4 and 6 instead of 3 and 5. My memo is the empty string
> and the imported memo is "Check". Half of 0 is 0 and so zero characters
> are compared and that results in equal.
> 
>        else if ((strncasecmp(memo, xaccSplitGetMemo(split),
>                    strlen(xaccSplitGetMemo(split)) / 2) == 0)) {
> ...
>            prob = prob + 1;
>         }
> 
> On Mon, 2026-02-23 at 07:32 -0600, Jon Schewe via gnucash-user wrote:
>> Quick update this morning before I goto the office.
>> 
>> I got a debug build created and added some additional logging and
>> fixed
>> the compilation errors with the current debug lines (need %lld
>> instead
>> of %d when printing the date diff).
>> 
>> For the check that cleared on 2/12 I want to match against 2/4.
>> The debug logs show that both the check on 2/18 and 2/4 were added to
>> the list of possible matches. However the display dialog is only
>> showing me the 2/18 check. Seems that something is getting lost
>> between
>> split_find_match and the dialog display.
>> 
>> 
>> On Mon, 2026-02-23 at 05:58 -0600, Jon Schewe via gnucash-user wrote:
>>> I thought about that transaction being blocked, however hte
>>> transaction
>>> that I want shows up when I check the next next transaction. 
>>> I'm having some trouble figuring out how GnuCash is computing some
>>> probabilities as I'm getting numbers that don't quite line up.
>>> 
>>> Here's more information in hopes that someone recognizes it. I'll
>>> see
>>> about getting a debug version built. It's unfortunate that there
>>> isn't
>>> a way to turn on the debugging at runtime without a full rebuild.
>>> 
>>> Looking at split_find_match:
>>> 
>>> The amount always matches, so that's +3
>>> The date never matches, but is either under the threshold or not
>>> (never
>>> outside the excluded threshold), so that's +2 or 0
>>> The number never matches, so that's 0. Although it might be -2 if
>>> somehow the bank side has something in the number field (I don't
>>> see
>>> it
>>> in the OFX file)
>>> The memo never matches, so that should be 0.
>>> Same for the description, 0
>>> 
>>> Given that I expect to see a 5 or a 3. I'm getting 6 and 4.
>>> 
>>> Here's my check information:
>>> Check date -> cleared bank
>>> 1068 1/14 -> 1/22
>>> 1069 1/21 -> 1/29
>>> 1071 1/28 -> 2/5
>>> 1072 2/4 -> 2/12
>>> 1073 2/18 -> not cleared
>>> 
>>> With options:
>>> display threshold 0
>>> auto-add 3
>>> auto-clear 6
>>> likely match: 4
>>> unlikely match 28
>>> 
>>> Check that cleared 1/29 was actually written on 1/21
>>> GnuCash presents me with:
>>> 1/28 - 6
>>> 1/21 - 4 -> this didn't happen yesterday, I've selected it as a
>>> match
>>> now
>>> 2/4 - 4
>>> 2/18 - 4
>>> 
>>> Check that cleared 1/22, written 1/14
>>> 1/21 - 6
>>> 1/28 - 4
>>> 2/4 - 4
>>> 2/18 - 4
>>> 
>>> Why didn't 1/14 come up as an option? Also how did I get 6 and 4
>>> instead of 5 and 3?
>>> 
>>> Check that cleared 2/5, written 1/28
>>> 2/3 - 6
>>> 1/21 - 4
>>> 1/28 - 4 - manually selected
>>> 2/18 - 4
>>> 
>>> Check that cleared 2/12, written 2/4
>>> 2/28 - 4
>>> 
>>> Why not the other matches?
>>> 
>>> As expected when I open up the same OFX file again, the checks that
>>> I
>>> just manually assigned are no longer presented. 
>>> 
>>> Given that the behavior changed from yesterday to today, I'm
>>> wondering
>>> if there is something about the current date in there? Or maybe
>>> closing
>>> GnuCash and opening it matters?
>>> 
>>> 
>>> On Sun, 2026-02-22 at 21:21 -0800, John Ralls wrote:
>>>> Maybe something else is blocking that transaction. Most likely
>>>> would
>>>> be that you (inadvertently) matched it already: That sets a field
>>>> on
>>>> the split in that account with the FITID from the import it
>>>> matched
>>>> with and if it’s set it’s excluded from being matched again.
>>>> Unlikely
>>>> but worth mentioning is that transactions being edited are also
>>>> excluded.
>>>> 
>>>> If you’re willing to build GnuCash yourself you can un-comment
>>>> the
>>>> DEBUG statements in split_find_match and recompile, then run
>>>> gnucash
>>>> with —log gnc.import=debug. That will dump a ton of detail into
>>>> the
>>>> trace file where you should find the reason that transaction
>>>> doesn’t
>>>> match.
>>>> 
>>>> Regards,
>>>> John Ralls
>>>> 
>>>>> On Feb 22, 2026, at 12:44, Jon Schewe <[email protected]> wrote:
>>>>> 
>>>>> 
>>>>> Thank you, that's exactly what I'm looking for. I see that all
>>>>> I
>>>>> need to do is to double click on it and I've got exactly what I
>>>>> wanted. 
>>>>> 
>>>>> However it appears to be skipping over some transactions and I
>>>>> don't understand why.
>>>>> I have a check that cleared the bank on 1/22. The check was
>>>>> written
>>>>> on 1/14 and has that date in GnuCash.
>>>>> GnuCash is showing 4 possible transactions (all with the same
>>>>> value):
>>>>> 1/21 - 6
>>>>> 1/28 - 6
>>>>> 2/4 - 6
>>>>> 2/18 - 4
>>>>> 
>>>>> However it's not showing me the transaction on 1/14 as an
>>>>> option.
>>>>> Why is this transaction skipped? They are all for the same
>>>>> amount.
>>>>> I even tried changing the match display threshold to be 0 and
>>>>> it
>>>>> still doesn't come up. 
>>>>> I'm experimenting with values. I currently have display
>>>>> threshold
>>>>> set to 0, auto-add set to 3, auto-clear set to 5, likely match
>>>>> set
>>>>> to 14, unlikely match set to 28.
>>>>> The day difference between 1/14 and 1/22 is 8 days, so I would
>>>>> think the likely match set to 14 and the unlikely match set to
>>>>> 28
>>>>> would be reasonable. Unless the date thresholds are all +/-
>>>>> half
>>>>> what is in the dialog, but I don't think that's the case.
>>>>> I tried doubling the dates to likely 28 and unlikely to 52 and
>>>>> no
>>>>> change to the list of possible transactions.
>>>>> 
>>>>> Now that I see the dialog, of course I see something I'd like
>>>>> added. That's to have the transaction number show up in the
>>>>> match
>>>>> view.
>>>>> 
>>>>> On Sun, 2026-02-22 at 08:49 -0800, John Ralls wrote:
>>>>>> GnuCash already does that,
>>>>>> 
>>>>> 
>>>> see 
>>>> https://code.gnucash.org/docs/C/gnucash-manual/trans-
>>>> import.html#trans_match_picker
>>>>>> . Button1 in that paragraph means mouse button 1, normally
>>>>>> the
>>>>>> left one (or the only one on Mac one-button mice). While that
>>>>>> doc
>>>>>> says that it works for Clear I checked the code (gnc-main-
>>>>>> matcher.cpp line 797) and it works for both C and U+C.
>>>>>> 
>>>>>> Regards,
>>>>>> John Ralls
>>>>>> 
>>>>>> 
>>>>>>> On Feb 22, 2026, at 07:21, Paul Kroitor <[email protected]>
>>>>>>> wrote:
>>>>>>> 
>>>>>>> That idea, of a "choose alternate match" in the context
>>>>>>> menu
>>>>>>> of
>>>>>>> the (various) import windows is great! I second the motion.
>>>>>>> But
>>>>>>> it's hardly a trivial change. Maybe add it to the requested
>>>>>>> features?
>>>>>>> 
>>>>>>> Paul
>>>>>>> 
>>>>>>> On 2026-02-22 10:04 a.m., Jon Schewe via gnucash-user
>>>>>>> wrote:
>>>>>>>> Thank you for the code reference and the explanation. I'm
>>>>>>>> a
>>>>>>>> software
>>>>>>>> developer, so that helps me a lot.
>>>>>>>> 
>>>>>>>> The check number is coming through, so I'm only matching
>>>>>>>> on
>>>>>>>> date and
>>>>>>>> amount. I could try getting the bank to add the check
>>>>>>>> information to
>>>>>>>> their QFX export, but that seems like an exercise in
>>>>>>>> futility.
>>>>>>>> 
>>>>>>>> Is there a way to have GnuCash present me with multiple
>>>>>>>> options for
>>>>>>>> matches rather than the most likely match only?
>>>>>>>> 
>>>>>>>> I've got the following settings in Preferences -> Import
>>>>>>>> 
>>>>>>>> Enable skip transaction action: yes
>>>>>>>> enable update match action: no
>>>>>>>> Use basesian matching: yes
>>>>>>>> Match display threshold: 2
>>>>>>>> auto-add threshold: 3
>>>>>>>> auto-clear threshold: 6
>>>>>>>> likely match day threshold: 8
>>>>>>>> unlikely match day threshold: 21
>>>>>>>> commercial ATM fees threshold: 2
>>>>>>>> automatically create new commodities: no
>>>>>>>> 
>>>>>>>> QIF import
>>>>>>>> Show documentation: yes
>>>>>>>> Not cleared: selected
>>>>>>>> 
>>>>>>>> 
>>>>>>>> On Sat, 2026-02-21 at 22:08 +0800, Christopher Lam wrote:
>>>>>>>>> Hi, having multiple checks for the same amount but
>>>>>>>>> different dates
>>>>>>>>> and check number seems like a headache for any manual
>>>>>>>>> or
>>>>>>>>> automated
>>>>>>>>> matcher.
>>>>>>>>> Here's the algorithm as originally written since 2002
>>>>>>>>> (23
>>>>>>>>> years ago!)
>>>>>>>>> 
>>>>> 
>>>> https://github.com/Gnucash/gnucash/blob/6983adb14a389c13f828bae4f
>>>> 485b4748a8ead24/gnucash/import-export/import-backend.cpp#L579
>>>>>>>>> Note the following scoring system:
>>>>>>>>> - identical amounts get +3, otherwise -2 or -5
>>>>>>>>> - identical dates get +3, otherwise +2, 0 or -5
>>>>>>>>> - identical trans->num get +4, otherwise -2, or 0
>>>>>>>>> - etc.
>>>>>>>>> 
>>>>>>>>> Thus, an exact identical match in trans->num gets a
>>>>>>>>> relatively strong
>>>>>>>>> score; you may need to check if the QFX/OFX sets it to
>>>>>>>>> the
>>>>>>>>> check
>>>>>>>>> number. You may want to adjust the date thresholds in
>>>>>>>>> the
>>>>>>>>> global
>>>>>>>>> preference.
>>>>>>>>> 
>>>>>>>>> On Sat, 21 Feb 2026 at 10:43, Jon Schewe via gnucash-
>>>>>>>>> user
>>>>>>>>> <[email protected]> wrote:
>>>>>>>>>> I'm running into an issue when importing QFX files
>>>>>>>>>> and
>>>>>>>>>> matching
>>>>>>>>>> transactions. Every week I write a check for the same
>>>>>>>>>> amount.
>>>>>>>>>> However
>>>>>>>>>> the check doesn't clear the bank for a week or two.
>>>>>>>>>> When
>>>>>>>>>> I import
>>>>>>>>>> my
>>>>>>>>>> QFX file GnuCash wants to match the most recent check
>>>>>>>>>> rather than
>>>>>>>>>> the
>>>>>>>>>> one 2 weeks back. Does anyone have a solution for
>>>>>>>>>> allowing multiple
>>>>>>>>>> matches to show up in the import dialog so that I can
>>>>>>>>>> select the
>>>>>>>>>> proper
>>>>>>>>>> check?
>>>>>>>>>> 
>>>>>>>>>> Also, is there a way for the check number to be
>>>>>>>>>> visible
>>>>>>>>>> in the
>>>>>>>>>> import
>>>>>>>>>> dialog?
>>>>>>>>>> 
>>>>>>>>>> Thanks,
>>>>>>>>>> Jon
>>>>>>>>>> 
>>>>>>>>>> _______________________________________________
>>>>>>>>>> gnucash-user mailing list
>>>>>>>>>> [email protected]
>>>>>>>>>> To update your subscription preferences or to
>>>>>>>>>> unsubscribe:
>>>>>>>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-
>>>>>>>>>> user
>>>>>>>>>> -----
>>>>>>>>>> Please remember to CC this list on all your replies.
>>>>>>>>>> You can do this by using Reply-To-List or Reply-All.
>>>>>>>> _______________________________________________
>>>>>>>> gnucash-user mailing list
>>>>>>>> [email protected]
>>>>>>>> To update your subscription preferences or to
>>>>>>>> unsubscribe:
>>>>>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>>>>>>>> -----
>>>>>>>> Please remember to CC this list on all your replies.
>>>>>>>> You can do this by using Reply-To-List or Reply-All.
>>>>>>> _______________________________________________
>>>>>>> gnucash-user mailing list
>>>>>>> [email protected]
>>>>>>> To update your subscription preferences or to unsubscribe:
>>>>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>>>>>>> -----
>>>>>>> Please remember to CC this list on all your replies.
>>>>>>> You can do this by using Reply-To-List or Reply-All.
>>>>>> 
>>>>>> _______________________________________________
>>>>>> gnucash-user mailing list
>>>>>> [email protected]
>>>>>> To update your subscription preferences or to unsubscribe:
>>>>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>>>>>> -----
>>>>>> Please remember to CC this list on all your replies.
>>>>>> You can do this by using Reply-To-List or Reply-All.
>>>> 
>>> 
>>> _______________________________________________
>>> gnucash-user mailing list
>>> [email protected]
>>> To update your subscription preferences or to unsubscribe:
>>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>>> -----
>>> Please remember to CC this list on all your replies.
>>> You can do this by using Reply-To-List or Reply-All.
>> 
>> _______________________________________________
>> gnucash-user mailing list
>> [email protected]
>> To update your subscription preferences or to unsubscribe:
>> https://lists.gnucash.org/mailman/listinfo/gnucash-user
>> -----
>> Please remember to CC this list on all your replies.
>> You can do this by using Reply-To-List or Reply-All.
> 

_______________________________________________
gnucash-user mailing list
[email protected]
To update your subscription preferences or to unsubscribe:
https://lists.gnucash.org/mailman/listinfo/gnucash-user
-----
Please remember to CC this list on all your replies.
You can do this by using Reply-To-List or Reply-All.

Reply via email to