<div dir="ltr"><div class="gmail_default" style="font-family:monospace,monospace;font-size:x-small;color:#073763">If the code is the same in KMM 4.8 and KMM 5.0 is it possible something changed in libofx between the version used by KMM 4.8 and KMM 5.0?</div><div class="gmail_default" style="font-family:monospace,monospace;font-size:x-small;color:#073763"><br></div><div class="gmail_default" style="font-family:monospace,monospace;font-size:x-small;color:#073763">It seems unlikely that Citi is doing something different when Jeff downloads his oxf file from them but you never know.</div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><font color="#073763" face="monospace, monospace" size="1"><br></font></div><div dir="ltr"><font color="#073763" face="monospace, monospace" size="1">----<br>Brendan Coupe</font><br></div></div></div></div></div></div></div></div></div><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Mar 27, 2019 at 4:44 AM Thomas Baumgart <<a href="mailto:thb@net-bembel.de">thb@net-bembel.de</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><u></u>
<div style="font-family:monospace;font-size:10pt;font-weight:400;font-style:normal">
<p style="margin:0px;text-indent:0px">Brendan et al.</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">On Dienstag, 26. März 2019 17:09:31 CET Brendan Coupe wrote:</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">> I'm running the latest source code from the master branch.</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> Until late last year I was able to import my Costco Citi credit card using</p>
<p style="margin:0px;text-indent:0px">> OFX direct. They changed something so that it no longer works. It used to</p>
<p style="margin:0px;text-indent:0px">> work perfectly so something is different about the ofx/qfx files that they</p>
<p style="margin:0px;text-indent:0px">> provide now or something changed in KMM at about the same time.</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> Since then I have been exporting my qfx/ofx file from the Citi website and</p>
<p style="margin:0px;text-indent:0px">> either opening it in KMM directly from Firefox or saving the file and</p>
<p style="margin:0px;text-indent:0px">> importing it to KMM manually.</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> Since I started downloading the qfx/ofx file late last year I have run into</p>
<p style="margin:0px;text-indent:0px">> problems with matching previously imported transactions fairly often. It</p>
<p style="margin:0px;text-indent:0px">> took a while to find a potential cause of the problem but I may have found</p>
<p style="margin:0px;text-indent:0px">> it today.</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> The default is to import all of the transactions in the current statement</p>
<p style="margin:0px;text-indent:0px">> period. This usually works fine for a week or two and then I start getting</p>
<p style="margin:0px;text-indent:0px">> duplicate transactions that I imported previously. To minimize the damage I</p>
<p style="margin:0px;text-indent:0px">> sometimes restrict the import to more recent transactions. Once I do this</p>
<p style="margin:0px;text-indent:0px">> it appears that the problem will happen on every import until the next</p>
<p style="margin:0px;text-indent:0px">> month.</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> I just ran into the problem for the first time in this statement cycle. I</p>
<p style="margin:0px;text-indent:0px">> re-imported based on a limited date range. The I tried to cause the</p>
<p style="margin:0px;text-indent:0px">> problem. If I use the same date range for the import I don't get any</p>
<p style="margin:0px;text-indent:0px">> duplicates, if I change the date range I get duplicates.</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> Looking at the KMM file and the qfx files I can only find one value that</p>
<p style="margin:0px;text-indent:0px">> might be causing the problem.</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> The two qfx files have the following values set for the same transaction:</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> <FITID>20190324090005</p>
<p style="margin:0px;text-indent:0px">> <FITID>20190324090006</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> In my KMM file is see the first value 9the one I imported here:</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> bankid="ID 20190324090005"</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> The last digit in FITID value in the qfx file appears to be sequential</p>
<p style="margin:0px;text-indent:0px">> starting with 1 for the first transaction in the qfx file and incrementing</p>
<p style="margin:0px;text-indent:0px">> by 1 for each additional transaction. That is, if there are 10 transactions</p>
<p style="margin:0px;text-indent:0px">> in the qfx file the last on ends in 10.</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> I suspect this is not following the ofx/qfx spec. This happens with both</p>
<p style="margin:0px;text-indent:0px">> ofx files and qfx files and with manual import of the file or opening it</p>
<p style="margin:0px;text-indent:0px">> with KMM directly from Firefox.</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">This is it: the bank screws up. Here's what the OFX 2.2 spec says about FITID:</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">---8<---</p>
<p style="margin:0px;text-indent:0px">An FI (or its Service Provider) assigns an <FITID> to uniquely identify a financial transaction that can</p>
<p style="margin:0px;text-indent:0px">appear in an account statement. Its primary purpose is to allow a client to detect duplicate responses. Open</p>
<p style="margin:0px;text-indent:0px">Financial Exchange intends <FITID> for use in statement download applications, where every transaction</p>
<p style="margin:0px;text-indent:0px">(not just those that are client-originated or server-originated) requires a unique ID.</p>
<p style="margin:0px;text-indent:0px">---8<---</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">So the main goal "Its primary purpose is to allow a client to detect duplicate responses." is not met!!!</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">> I suspect that at some point during a billing cycle a older transaction</p>
<p style="margin:0px;text-indent:0px">> slips in early in the sequential list and screws up every transaction after</p>
<p style="margin:0px;text-indent:0px">> it.</p>
<p style="margin:0px;text-indent:0px">> </p>
<p style="margin:0px;text-indent:0px">> Is there anything that can be done to correct this in KMM?</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">Why is it always KMM (us) to try to fix broken bank software. They are the guys who receive the large salaries and should be able to fix it. But then they are bankers and not software developers .... Arrrgh.</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">So far, the only thing I can thing of is to replace the FITID with some internal derived ref value like we do it in KBanking and have an option to use that in favor of the FITID for OFX accounts.</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">Note: I compared the code between the 4.8 and 5.0 branch. It is identical if it comes to the processing of FITID.</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">-- </p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">Regards</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px">Thomas Baumgart</p>
<p style="margin:0px;text-indent:0px"> </p>
<p style="margin:0px;text-indent:0px"><a href="https://www.signal.org/" target="_blank">https://www.signal.org/</a> Signal, the better WhatsApp</p>
<p style="margin:0px;text-indent:0px">-------------------------------------------------------------</p>
<p style="margin:0px;text-indent:0px">MicroSoft Windows - from the people who brought you edlin</p>
<p style="margin:0px;text-indent:0px">-------------------------------------------------------------</p>
<p style="margin:0px;text-indent:0px"> </p></div></blockquote></div>