This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Page tree
Skip to end of metadata
Go to start of metadata

OFX4J, an implementation of OFX in Java


OFX4J is an implementation of the OFX specification in Java.


Open Financial Exchange (see is a broad-based framework for exchanging financial data and instructions between customers and their financial institutions. It allows institutions to connect directly to their customers without requiring an intermediary. Open Financial Exchange is an open specification that anyone can implement: any financial institution, transaction processor, software developer, or other party. It uses widely accepted open standards for data formatting (such as XML), connectivity (such as TCP/IP and HTTP), and security (such as SSL).

OFX4J will provide a full client and server implementation of the Open Financial Exchange specification (see


Open Financial Exchange is a unified specification for the electronic exchange of financial data between financial institutions, businesses and consumers via the Internet. Created by CheckFree, Intuit and Microsoft in early 1997, Open Financial Exchange supports a wide range of financial activities including consumer and small business banking (also with image download and loan and amortization download), consumer and small business bill payment, bill presentment and investments, including stocks, bonds and mutual funds, and tax download.

OFX4J was developed by Ryan Heaton and made publicly available in July 2008. The initial release supported Version 1 and Version 2 of the OFX specification. Since then the OFX specification has been updated to version 2.1.1.


There are very few open source implementations of the OFX specification. Because the specification defines messages and responses, applications must either implement their own Java API around the message set or use a proprietary product. OFX4J aims to solve this by allowing applications to use its API to access any OFX server.

Financial providers that desire to provide an OFX server must currently either implement the specification on their own or purchase a proprietary product. OFX4J solves this by providing a server component that can interact with the financial provider's system.

Initial Goals

The initial goals of the proposed project are:

  • Create a viable community around the OFX4J codebase.
  • Improve the codebase to support the latest OFX specification.

Current Status

The current code base was created by Ryan Heaton and provides a solid foundation. The code base is already licensed under the Apache 2.0 license. Further development will occur in line with the project's stated goals and wherever the project community determines it should go.


Apache was chosen for an incubator for the guidance the community can provide in helping the project grow.


There is not yet a strong OFX4J community. The current code base has a number of interested users. The primary goal of the incubating project is to build a self-sustaining community around this code base. All the involved parties have a very strong desire to see OF4JX become the leading OFX platform.

Core Developers

The initial set of committers consist of the primary author as well as employees of one of the companies on the OFX Consortium's governing board.


The initial code has been implemented in Java and uses Apache Commons Logging. It has very few dependencies on other projects.

Known Risks

Orphaned products

The initial committers are users of this toolkit and have a long-term interest in use and maintenance of the code.

Inexperience with open source

Several of the commiters are very experienced in Open Source environment. All efforts have and will be made to ensure that the work done and momentum will be in strict adherence to open source and Apache guidelines.

Homogenous developers

As noted above, the initial list of developers consists of the original author and paid employees of the donating company. However, efforts will be made to actively expand the team of developers committing to the project.

The current list of committers bring with them a broad range of experiences with open source, standards, emerging technologies, and product development.

Reliance on salaried developers

The initial set of committers are salaried developers. Through the incubation process, more diversity will hopefully be achieved in many aspects, including reliance on salaried developers.

Relationships with other Apache products

The initial code base has very few external dependencies. It currently uses Commons Logging and Maven. As the project develops use of other Apache projects will be encouraged where it is appropriate.

A fascination with the Apache brand

The committers are intent on developing a strong open source community. We believe that the Apache Software Foundation's emphasis on community development makes it the most suitable choice.


Initial source

The initial source for the project will come from the existing code base at Sourceforge. The code will be committed by Ryan Heaton under his ICLA.

External Dependencies

The current implemenation depends on the following components:





Apache Commons Logging


Apache 2.0






Apache 2.0






Apache 2.0


Unit Tests

CPL 1.0

Apache Maven


Apache 2.0

Required Resources

mailing list(s)

  • ofx4j-private (with moderated subscriptions)
  • ofx4j-dev
  • ofx4j-commits
  • ofx4j-user

Subversion directory

Issue tracking

  • Jira OFX4J

Initial Committers - Affiliations





Ryan Heaton

ryan at webcohesion dot com



Jeffrey Haskovec

haskovez at sbcglobal dot net



Boris Ekelchik




Sakib Mehasanewala




Andy Perrine





We request that the Apache Incubator PMC sponsor the OFX4J implementation as an incubating project.

Champion: Ralph Goers


  • Ralph Goers
  • No labels