OFX Importer Plugin

Ace Jones

Thomas Baumgart

Jack H. Ostroff

Getting the plugin

KMyMoney will import OFX files painlessly. However, this functionality is not built into the core program - it is provided as a Plugin. You must obtain and install the OFX Importer Plugin for this functionality to be available, Once that is done, the command to import OFX files will automatically show up under the FileImport submenu.

Note that the source of the Plugin is provided as part of the KMyMoney source, and most prepackaged versions of KMyMoney are built with the OFX importer already included or available as a separate package. If the OFX importer does not seem to be installed in your version, the first place to check is in the same place you got your base KMyMoney package. You can check whether it is installed either by trying to invoke the above submenu, or by invoking the SettingsConfigure KMyMoney... menu, selecting Plugins in the left pane, and looking for the OFX Importer in the list of installed Plugins.

If you have installed from RPM, the OFX Importer Plugin is contained within the kmymoney-ofx package. It should be available from whatever source you got the base KMyMoney package. If you have built from sources, all you need to do is have a recent version of the libOFX development headers and libraries installed on your system. The KMyMoney build process will detect these and compile the plugin. As of September, 2021, version 0.10.3 was avialable, although the minimum required version for KMyMoney is still 0.9.4.

Should you run into trouble trying to compile KMyMoney, and you are certain you have the correct version of libOFX installed, please contact the developers list for assistance. Include a copy of your config.log file, compressed first via gzip.

What is OFX

OFX stands for Open Financial Exchange, although in 2019, the OFX Consortium joined the Financial Data Exchange (FDX). According to the FDX web site Open Financial Exchange is an open standard for client-server systems and cloud based APIs for exchanging financial data, and performing financial transactions between financial institutions, and financial applications. The specification defines formats for transfer of financial data both by file and by direct interchange.

Although the standard is much more complete and robust than QIF, there are still variations, depending on the specific implementation used by any institution. OFX files may have an extension of OFX or QFX (upper or lower case); this does not imply any particular difference in the content. The specification is based on XML, so the files can be read in any text editor, but as whitespace is not relevant to the content itself, some implementations do not use any, making it very hard for a human to read.

Another site with good information is OFX Home. They maintain a directory of financial institutions that support OFX. This can be useful if you have problems setting up OFX direct connect. They also have a forum for discussions about OFX issues. However, there is a post on the site that it is expected to be closed down in February, 2022, if the current maintainer does not find someone to replace him and take over running the site.

Importing an OFX file

The most basic way to import an OFX file is to choose the importer from the menu bar. From the FileImportOFX... menu item. If OFX does not show up under Import, the OFX Importer Plugin is either not installed or not installed correctly. Please see the previous section.

The first thing the importer will do is ask you into which account to import the transactions. If there are transactions from multiple accounts in your file, you will be asked this question multiple times. Note that when importing data for an investment account, purely cash transactions will be imported to the associated brokerage account, if one is configured. If a brokerage account has not been configured (or does not have the default name) you may be asked to identify the account to use.

After importing, some of your transactions may be shown with an exclamation mark on a yellow triangle in the ledger. This is because they need to be assigned a category. The importer was not able to automatically assign a category based on your past transaction history. You can edit each transaction in the ledger to assign a category, and the mark will be removed.

Please note that this section describes the native OFX Importer Plugin. OFX files may also be imported using the AqBanking Importer Plugin if you have installed that. The two importers do behave slightly differently, and they are written and supported by different developers.

Importing Investments

Please note that if you are importing a file with investment transactions, those investments must first exist in your KMyMoney file. The trading symbol is used to match, so please ensure that the symbol in KMyMoney is exactly the same as the one in the file you're importing.

Web Connect

The easiest way to import an OFX file is to set up Web Connect. Visit your bank's web site, and click on a link to download an OFX file. Your browser should ask you what program you would like to use to open the file. Point your browser to KMyMoney. It will then import the downloaded OFX file into the KMyMoney file currently open, or the one you most recently had open. You can also change the file associations of your desktop environment, and have KMyMoney open the OFX file automatically for you.

If you need to import the OFX file into some other KMyMoney file, load up that file in KMyMoney first, and then visit your bank's web site.

Direct Connect

OFX Direct Connect is now supported in KMyMoney. This gives KMyMoney the ability to contact your bank directly to obtain transaction. To enable this feature, you must compile KMyMoney with the --enable-ofxbanking switch. This is now the default, and this feature is enabled in the version provided by most if not all Linux distributions, and the versions provided at the KMyMoney website.

Please be warned: some banks require a different signup from the main web banking access, will give you a separate password or PIN, and may even charge you a separate fee for this service. No bank directly supports KMyMoney. You will have to tell them you want to bank directly from MS Money or Quicken.

The first step is to configure each account for which you wish to download statements. Go to the Accounts View, right click on the account you wish to configure, and choose Map to online account.... In case more than one online banking plugin is installed on your system you will be asked which one to use. For the internal OFX method select KMyMoney OFX. A list of banks will be downloaded from the Internet and a wizard will guide you through choosing a bank, entering your username and password, and selecting an account. Should you find that your bank is not listed, it may still be possible to use the manual option. Your bank may be able to provide the required parameters, or you may have to do some research to find them.

Note

Setting up OFX Direct Connect can sometimes be a challenge, especially as the implementations at most institutions do not provide sufficient details in error messages. One particular issue to note is that many institutions require you to change your password the first time you access it online using this method. Unfortunately, at this time, the library that KMyMoney uses (libofx) does not have a way to interactively change a password. In some cases, it is possible to get a techincal support person at the institution to change the password for you. Until we are able to expand this section with more detailed troubleshooting information, if you have trouble getting this to work for you, you can ask for help on the KMyMoney developer mailing list .

Once you have an account set up with online banking, go to the ledger for that account, and then choose the AccountUpdate account... menu item. This will connect to your bank, and download available transactions. You can use the Edit account dialog (under the Online settings tab, Import Details subtab) to indicate whether to download transactions since the last update, since a specified number of days ago, or since a specified date.

Note

In versions of KMyMoney prior to 4.6, the payee name was always taken from the PAYEEID field. As of version 4.6, the payee name can be based on either the PAYEEID, NAME, or MEMO field in the OFX transaction. You can configure this feature and some other OFX direct connect settings in the Edit account dialog mentioned just above.

Exporting an OFX file

It is not currently possible to export your data as an OFX file. If you are interested to contribute in this area, please contact the libofx development team for details.