Skip to content
An Open Financial Exchange (OFX) client in Ruby
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib
README.md
funds.gemspec

README.md

funds (alpha)

An Open Financial Exchange (OFX) client in Ruby

Installation

gem install nokogiri -v 1.6.7.2
gem install httpclient -v 2.7.1
gem install funds

RubyGem: https://rubygems.org/gems/funds

Usage

Query ofxhome.com API for ofxhome.com institution IDs

OFXClient::search_institutions("Fidelity")

=> {"Fidelity Investments"=>449, "Fidelity NetBenefits"=>558}

NOTE: ofxhome.com institution IDs are unique to the ofxhome.com database. These IDs are independent of the OFX FID tied to a given institution. You will use ofxhome.com institution IDs to retrieve an institution's FID.

Retrieve FinancialInstitution by institution ID

fi = OFXClient::get_institution(449)
unless fi.nil?
  puts fi.fid
  puts fi.name
  puts fi.org
  puts fi.url
end
```
=> 7776  
=> Fidelity Investments  
=> fidelity.com  
=> https://ofx.fidelity.com/ftgw/OFX/clients/download

### Retrieve all institution IDs

```Ruby
OFXClient::all_institutions
```
=> {"121 Financial Credit Union"=>666, "1st Advantage FCU"=>542, ... , "Zions Bank"=>630, "zWachovia"=>452}

### Get a credit card statement

```Ruby
# Retrieve a FinancialInstitution
fi = OFXClient::get_institution(449)
# Create an Account by with your account number and an AccountType (CHECKING, SAVINGS, MONEYMRKT, CREDITCARD)
account = Account.new("1234567890123456", AccountType::CREDITCARD)
# fetch the OFX statement(s) in date range (yyyymmdd) from the institution
# currently, this call returns the raw OFX body response
puts OFXClient::get_statement(fi, account, "myOnlineUsername", "myPassword", "20151201", "20160115")
```
Response:
```
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:NONE
NEWFILEUID:NONE

<OFX>
<SIGNONMSGSRSV1>
<SONRS>
<STATUS>
<CODE>0
<SEVERITY>INFO
</STATUS>...
```
### Get a checking statement
```Ruby
# Retrieve a FinancialInstitution
fi = OFXClient::get_institution(449)
# Create an Account by with your account number and an AccountType (CHECKING, SAVINGS, MONEYMRKT, CREDITCARD)
account = Account.new("1234567890123456", AccountType::CHECKING)
# CHECKING/SAVINGS accounts require a routing number
account.routingNumber = "0010020032"
# fetch the OFX statement(s) in date range (yyyymmdd) from the institution
# currently, this call returns the raw OFX body response
puts OFXClient::get_statement(fi, account, "myOnlineUsername", "myPassword", "20151201", "20160115")
```
You can’t perform that action at this time.