Hi Chris Just wondering if you've been able to do any tests for my query, below.
<snip>
Another bug found when importing from OFX direct connect. The reader trying to create splits cannot find the brokerage account for a split using statementTransactionUnderImport so all the imported transactions are broken. This is likely because the transaction doesn't know the account name, but m_account does. A patch: *** mymoneystatementreader.cpp.orig 2013-11-24 17:27:39.959812598 -0800 --- mymoneystatementreader.cpp 2013-11-24 20:01:40.339204121 -0800 *************** *** 565,570 **** --- 565,573 ---- if (brokerageactid.isEmpty()) { brokerageactid = file->nameToAccount(statementTransactionUnderImport.m_strBrokerageAccount); } + if (brokerageactid.isEmpty()) { + brokerageactid = file->nameToAccount(thisaccount.brokerageName()); + } // find the security transacted, UNLESS this transaction didn't // involve any security.
-- Chris
____________________________________________________________________ Hi Chris Thanks for this patch, too. I've found here, though, that brokerageactid gets over-written a bit later, circa line 1086 in mymoneystatementreader.cpp - // Add the 'account' split if it's needed if (! transfervalue.isZero()) { // in case the transaction has a reference to the brokerage account, we use it
if (!statementTransactionUnderImport.m_strBrokerageAccount.isEmpty() && brokerageactid.isEmpty()) {<<<
brokerageactid = file->nameToAccount(statementTransactionUnderImport.m_strBrokerageAccount); } if (brokerageactid.isEmpty()) { brokerageactid = file->accountByName(statementTransactionUnderImport.m_strBrokerageAccount).id(); } // There is no BrokerageAccount so have to nowhere to put this split. if (!brokerageactid.isEmpty()) { and I needed to make the change on the line indicated by >>>....<<<, to avoid that happening. I'm importing via CSV and there is no mapping of OFX source to an account for the brokerage/checking account so the user gets asked to enter this. If he specifies an existing account, all is well. If, however, because he makes a mistake or abbreviates a long name, the transfer will go to the investment account's associated brokerage account. Generally, personally, I don't use these brokerage accounts because for me, they are not real and I would then have to make a manual transfer. It might be interesting to know what happens with your OFX transfers if/when they reach this code. Allan _______________________________________________ KMyMoney-devel mailing list KMyMoney-devel@kde.org https://mail.kde.org/mailman/listinfo/kmymoney-devel