Golang library for querying and parsing OFX
Go to file
Aaron Lindsay 2bbd1d424d go vet 2017-04-10 06:05:03 -04:00
cmd/ofx gofmt -s 2017-04-08 11:38:07 -04:00
.travis.yml .travis.yml: Add coveralls 2017-04-08 11:22:45 -04:00
LICENSE Add license 2017-04-08 11:48:55 -04:00
README.md Add badges for documentation and report card 2017-04-08 11:30:55 -04:00
bank.go Use named constants instead of strings for enum-like OFX fields 2017-04-06 09:06:41 -04:00
bank_test.go Add v1.0.3 bank request test 2017-04-08 10:59:42 -04:00
client.go Check HTTPS is always used 2017-04-01 21:33:56 -04:00
common.go gofmt -s 2017-04-08 11:38:07 -04:00
common_test.go go vet 2017-04-10 06:05:03 -04:00
constants.go constants: Improve testing, eliminate redundant check when marshalling 2017-04-08 08:40:46 -04:00
constants_test.go constants: Improve testing, eliminate redundant check when marshalling 2017-04-08 08:40:46 -04:00
creditcard.go Add tests for credit card requests and responses 2017-03-31 16:22:33 -04:00
creditcard_test.go Use named constants instead of strings for enum-like OFX fields 2017-04-06 09:06:41 -04:00
doc.go Improve documentation 2017-03-26 21:02:20 -04:00
generate_constants.py constants: Improve testing, eliminate redundant check when marshalling 2017-04-08 08:40:46 -04:00
invstmt.go Add tests for list of positions 2017-04-10 05:27:47 -04:00
invstmt_test.go Test open orders 2017-04-10 06:04:52 -04:00
leaf_elements.go Add more leaf elements missed earlier 2017-04-03 20:48:01 -04:00
profile.go Use named constants instead of strings for enum-like OFX fields 2017-04-06 09:06:41 -04:00
profile_test.go gofmt -s 2017-04-08 11:38:07 -04:00
request.go Switch Date to contain time.Time instead of being a typedef 2017-04-04 19:50:41 -04:00
request_test.go request_test: Point out first difference in marshalled string 2017-03-31 20:16:44 -04:00
response.go gofmt -s 2017-04-08 11:38:07 -04:00
response_test.go Use named constants instead of strings for enum-like OFX fields 2017-04-06 09:06:41 -04:00
seclist.go Use named constants instead of strings for enum-like OFX fields 2017-04-06 09:06:41 -04:00
signon.go signon: Improve error messages 2017-04-08 08:57:31 -04:00
signon_test.go Add test for signon validity 2017-04-08 08:58:09 -04:00
signup.go signup: Stop using the wrong enum for InvAcctType 2017-04-06 20:31:16 -04:00
signup_test.go Use named constants instead of strings for enum-like OFX fields 2017-04-06 09:06:41 -04:00
types.go Switch Date to contain time.Time instead of being a typedef 2017-04-04 19:50:41 -04:00
types_test.go Add test for RandomUID 2017-04-08 10:55:11 -04:00
util.go Switch to own clone of xml encoding library 2017-03-22 20:59:40 -04:00

README.md

Go Report Card Build Status GoDoc

ofxgo

A library for querying OFX servers and parsing the responses and an example command-line client.

Goals

The main purpose of this project is to provide a library to make it easier to query financial information with OFX from the comfort of Golang, without having to marshal/unmarshal to SGML or XML. The library does not intend to abstract away all of the details of the OFX specification, which would be very difficult to do well. Instead, it exposes the OFX SGML/XML hierarchy as structs which mostly resemble it.

Because the OFX specification is rather... 'comprehensive,' it can be difficult for those unfamiliar with it to figure out where to start. To that end, I have created a sample command-line client which uses the library to do simple tasks (currently it does little more than list accounts and query for balances and transactions). My hope is that by studying its code, new users will be able to figure out how to use the library much faster than staring at the OFX specification (or this library's API documentation). The command-line client also serves as an easy way for me to test/debug the library with actual financial institutions, which frequently have 'quirks' in their implementations. The command-line client can be found in the cmd/ofx directory of this repository.

Library documentation

Documentation can be found with the go doc tool, or at https://godoc.org/github.com/aclindsa/ofxgo

Using the command-line client

To install the command-line client and test it out, you may do the following:

$ go get -v github.com/aclindsa/ofxgo/cmd/ofx && go install -v github.com/aclindsa/ofxgo/cmd/ofx

Once installed (at ~/go/bin/ofx by default, if you haven't set $GOPATH), the command's usage should help you to use it (./ofx --help for a listing of the available subcommands and their purposes, ./ofx subcommand --help for individual subcommand usage).