Mapping USAA Accounts

Brendan Coupe brendan at coupeware.com
Fri Aug 13 18:34:38 BST 2021


I am running a very recently compiled version of KMM from the git 5.1
branch on Fedora 34 using KDE / Xorg. AqBanking is version 6.2.9.0,
Gwenhywfar is version 5.6.0.0.

Until late last year, KMM worked well with USAA accounts. They made
big changes and broke OFX Direct Connect.

GnuCash has updated their code to work with USAA via AqBanking. See
the following link for details on how to set it up.

https://wiki.gnucash.org/wiki/OFX_Direct_Connect_Bank_Settings#USAA

I followed these instructions and they eventually worked. There
appears to be a glitch in the account list retrieval process which I
finally figured out how to work around.

Basically, you have to grant Quicken access to USAA and then use the
username (called ACCESS ID by USAA), password (called ACCESS PIN by
USAA) and include the client_id, converted to all uppercase.

I got this to work and was able to import my savings and checking
account transactions from the past 6 months. Unfortunately they are in
GnuCash, not KMM so that's not really helping me. Switching to GnuCash
after using KMM for more than 15 years is not an ideal option and
since I can't find a way to import all of my mapped accounts at once
in GnuCash, it would be a big step backward from KMM in my view.

I tried using ofximporter in KMM with all of the details that worked
in GnuCash but it failed to access my accounts. There is nowhere to
enter Application ID: QMOFX or HTTP User Agent: InetClntApp/3.0 in the
mapping setup so I assume those are important details.

Next I tried mapping using the kbanking option in KMM, which
apparently uses AqBanking since all of the info that I used in GnuCash
was already there. I assigned both of my accounts to the appropriate
KMM accounts but when I try to import my transactions, KMM crashes.

It feels like KMM is very close to supporting direct connect for USAA
again, either through AqBanking or by modifying ofximporter to use the
new parameters that are required by USAA. I doubt USAA invented this
new method of direct connect so it could be something that other banks
will be using soon.

Let me know what I can do to help figure out why KMM is crashing or if
I can test any possible fixes for this problem. See the backtrace at
the bottom of this email.

Thanks,

----
Brendan Coupe
Delta, it's not just a crappy airline

==================================================
Application: KMyMoney (kmymoney), signal: Segmentation fault

[KCrash Handler]
#4  0x00007efd303f8665 in __gmpn_divexact_1_fat () at /lib64/libmpir.so.23
#5  0x00007efd040d25c9 in _nettle_ecc_mod_add () at /lib64/libhogweed.so.6
#6  0x00007efd040d29f4 in _nettle_ecc_dup_jj () at /lib64/libhogweed.so.6
#7  0x00007efd040d61d1 in _nettle_ecc_mul_g () at /lib64/libhogweed.so.6
#8  0x00007efd040d6e3d in nettle_ecdsa_generate_keypair () at
/lib64/libhogweed.so.6
#9  0x00007efd043ca63d in wrap_nettle_pk_generate_keys () at
/lib64/libgnutls.so.30
#10 0x00007efd0439067f in client_gen_key_share () at /lib64/libgnutls.so.30
#11 0x00007efd0439168d in key_share_send_params () at /lib64/libgnutls.so.30
#12 0x00007efd042d65d1 in hello_ext_send () at /lib64/libgnutls.so.30
#13 0x00007efd0430d29a in _gnutls_extv_append () at /lib64/libgnutls.so.30
#14 0x00007efd042d6a66 in _gnutls_gen_hello_extensions () at
/lib64/libgnutls.so.30
#15 0x00007efd042c68bc in send_client_hello () at /lib64/libgnutls.so.30
#16 0x00007efd042c7100 in gnutls_handshake () at /lib64/libgnutls.so.30
#17 0x00007efd0c1fa761 in GWEN_SyncIo_Tls_Connect () at
/lib64/libgwenhywfar.so.79
#18 0x00007efd0c1ec648 in GWEN_SyncIo_Buffered_Connect () at
/lib64/libgwenhywfar.so.79
#19 0x00007efd0c1f5b07 in GWEN_SyncIo_Http_Connect () at
/lib64/libgwenhywfar.so.79
#20 0x00007efd0c200816 in GWEN_HttpSession_SendPacket () at
/lib64/libgwenhywfar.so.79
#21 0x00007efd0454888b in AO_Provider_SendAndReceive () at
/lib64/libaqbanking.so.44
#22 0x00007efd0458f3fd in AO_Provider_SendCommands.lto_priv.0 () at
/lib64/libaqbanking.so.44
#23 0x00007efd044cd1d9 in AB_Banking_SendCommands () at
/lib64/libaqbanking.so.44
#24 0x00007efd0c2d2cdb in
KBankingExt::executeQueue(AB_IMEXPORTER_CONTEXT*) (this=0x2ac21e0,
ctx=0x99f53a0) at
/usr/local/src/kmm/kmymoney-2021.08.08-11.28.15-GIT-5.1/kmymoney/plugins/kbanking/kbanking.cpp:902
#25 0x00007efd0c2d3254 in KBanking::executeQueue() (this=0x2ab3900) at
/usr/local/src/kmm/kmymoney-2021.08.08-11.28.15-GIT-5.1/kmymoney/plugins/kbanking/kbanking.cpp:628
#26 0x00007efd0c2d3b53 in KBanking::updateAccount(MyMoneyAccount
const&, bool) (this=0x2ab3900, acc=<optimized out>,
moreAccounts=<optimized out>) at
/usr/local/src/kmm/kmymoney-2021.08.08-11.28.15-GIT-5.1/kmymoney/plugins/kbanking/kbanking.cpp:617
#27 0x00000000004da89c in
KAccountsViewPrivate::accountsUpdateOnline(QList<MyMoneyAccount>
const&) (this=0x286af40, accList=...) at
/usr/include/qt5/QtCore/qlist.h:151
#28 0x00000000004d76f8 in KAccountsView::slotAccountUpdateOnline()
(this=<optimized out>) at /usr/include/c++/11/bits/stl_algobase.h:383
#29 0x00007efd314b0c99 in void doActivate<false>(QObject*, int,
void**) () at /lib64/libQt5Core.so.5
#30 0x00007efd34e518f6 in QAction::triggered(bool) () at
/lib64/libQt5Widgets.so.5
#31 0x00007efd34e5460c in QAction::activate(QAction::ActionEvent) ()
at /lib64/libQt5Widgets.so.5
#32 0x00007efd34f4f21a in QAbstractButtonPrivate::click() () at
/lib64/libQt5Widgets.so.5
#33 0x00007efd34f4f377 in
QAbstractButton::mouseReleaseEvent(QMouseEvent*) () at
/lib64/libQt5Widgets.so.5
#34 0x00007efd3504bcbe in QToolButton::mouseReleaseEvent(QMouseEvent*)
() at /lib64/libQt5Widgets.so.5
#35 0x00007efd34e9adbe in QWidget::event(QEvent*) () at
/lib64/libQt5Widgets.so.5
#36 0x00007efd34e58423 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () at /lib64/libQt5Widgets.so.5
#37 0x00007efd34e60054 in QApplication::notify(QObject*, QEvent*) ()
at /lib64/libQt5Widgets.so.5
#38 0x00007efd3147d098 in QCoreApplication::notifyInternal2(QObject*,
QEvent*) () at /lib64/libQt5Core.so.5
#39 0x00007efd34e5eb37 in
QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*,
QWidget*, QWidget**, QPointer<QWidget>&, bool, bool) () at
/lib64/libQt5Widgets.so.5
#40 0x00007efd34eb4530 in
QWidgetWindow::handleMouseEvent(QMouseEvent*) () at
/lib64/libQt5Widgets.so.5
#41 0x00007efd34eb77c5 in QWidgetWindow::event(QEvent*) () at
/lib64/libQt5Widgets.so.5
#42 0x00007efd34e58423 in QApplicationPrivate::notify_helper(QObject*,
QEvent*) () at /lib64/libQt5Widgets.so.5
#43 0x00007efd3147d098 in QCoreApplication::notifyInternal2(QObject*,
QEvent*) () at /lib64/libQt5Core.so.5
#44 0x00007efd31b19db8 in
QGuiApplicationPrivate::processMouseEvent(QWindowSystemInterfacePrivate::MouseEvent*)
() at /lib64/libQt5Gui.so.5
#45 0x00007efd31af9d0c in
QWindowSystemInterface::sendWindowSystemEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() at /lib64/libQt5Gui.so.5
#46 0x00007efd1d44413e in xcbSourceDispatch(_GSource*, int (*)(void*),
void*) () at /lib64/libQt5XcbQpa.so.5
#47 0x00007efd2e51b4cf in g_main_context_dispatch () at /lib64/libglib-2.0.so.0
#48 0x00007efd2e56f4e8 in g_main_context_iterate.constprop () at
/lib64/libglib-2.0.so.0
#49 0x00007efd2e518c03 in g_main_context_iteration () at /lib64/libglib-2.0.so.0
#50 0x00007efd314ce698 in
QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>)
() at /lib64/libQt5Core.so.5
#51 0x00007efd3147bab2 in
QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at
/lib64/libQt5Core.so.5
#52 0x00007efd31483fe4 in QCoreApplication::exec() () at /lib64/libQt5Core.so.5
#53 0x00000000004ab20f in main(int, char**) (argc=<optimized out>,
argv=<optimized out>) at /usr/include/c++/11/bits/unique_ptr.h:172
[Inferior 1 (process 685840) detached]


More information about the KMyMoney-devel mailing list