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 → 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 → 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 (kmymoney-devel kde.org)
for assistance. Include a copy of your
config.log
file, compressed first via gzip.
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.
The most basic way to import an OFX file is to choose the importer from the menu bar. From the → → 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.
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.
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.
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
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.
--enable-ofxbanking
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 . 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 . 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 (kmymoney-devel kde.org)
.
Once you have an account set up with online banking, go to the ledger for that account, and then choose the → 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.