Skip to content

Instantly share code, notes, and snippets.

@JoeDupuis
Created November 24, 2022 01:46
Show Gist options
  • Save JoeDupuis/41397ce6f44ca725c6af4a1a2c596068 to your computer and use it in GitHub Desktop.
Save JoeDupuis/41397ce6f44ca725c6af4a1a2c596068 to your computer and use it in GitHub Desktop.
From b3f0057a37eded6d17028258a6d62e6f4a507f8b Mon Sep 17 00:00:00 2001
From: Joe Dupuis <joe@dupuis.io>
Date: Wed, 23 Nov 2022 17:39:52 -0800
Subject: [PATCH] Diff
---
README.rdoc | 4 +-
lib/ofx/account.rb | 10 +-
lib/ofx/balance.rb | 9 +-
lib/ofx/errors.rb | 2 +
lib/ofx/foundation.rb | 5 +-
lib/ofx/parser.rb | 35 +-
lib/ofx/parser/ofx102.rb | 6 +-
lib/ofx/parser/ofx211.rb | 12 +-
lib/ofx/sign_on.rb | 7 +-
lib/ofx/statement.rb | 10 +-
lib/ofx/status.rb | 8 +-
lib/ofx/transaction.rb | 16 +-
lib/ofx/version.rb | 4 +-
spec/fixtures/avatar.gif | Bin 274 -> 0 bytes
spec/fixtures/bb.ofx | 700 ------------------------
spec/fixtures/bradesco.ofx | 96 ----
spec/fixtures/cef_malformed_decimal.ofx | 55 --
spec/fixtures/creditcard.ofx | 79 ---
spec/fixtures/dtsof_balance_issue.ofx | 54 --
spec/fixtures/error.ofx | 24 -
spec/fixtures/invalid_version.ofx | 308 -----------
spec/fixtures/nd-amex-sample.ofx | 12 -
spec/fixtures/sample.ofx | 315 -----------
spec/fixtures/santander.ofx | 91 ---
spec/fixtures/utf8.ofx | 308 -----------
spec/fixtures/v103.ofx | 80 ---
spec/fixtures/v211.ofx | 85 ---
spec/ofx/ofx_parser_spec.rb | 10 +-
spec/ofx/transaction_spec.rb | 87 ++-
spec/spec_helper.rb | 5 -
30 files changed, 101 insertions(+), 2336 deletions(-)
delete mode 100644 spec/fixtures/avatar.gif
delete mode 100644 spec/fixtures/bb.ofx
delete mode 100644 spec/fixtures/bradesco.ofx
delete mode 100644 spec/fixtures/cef_malformed_decimal.ofx
delete mode 100644 spec/fixtures/creditcard.ofx
delete mode 100644 spec/fixtures/dtsof_balance_issue.ofx
delete mode 100644 spec/fixtures/error.ofx
delete mode 100644 spec/fixtures/invalid_version.ofx
delete mode 100644 spec/fixtures/nd-amex-sample.ofx
delete mode 100644 spec/fixtures/sample.ofx
delete mode 100644 spec/fixtures/santander.ofx
delete mode 100644 spec/fixtures/utf8.ofx
delete mode 100644 spec/fixtures/v103.ofx
delete mode 100644 spec/fixtures/v211.ofx
diff --git a/README.rdoc b/README.rdoc
index 71dc812..0772b2e 100644
--- a/README.rdoc
+++ b/README.rdoc
@@ -1,7 +1,7 @@
= OFX
-{<img src="https://badge.fury.io/rb/ofx.svg" alt="Gem Version" />}[https://badge.fury.io/rb/ofx]
-{<img src="https://github.com/annacruz/ofx/actions/workflows/config.yml/badge.svg" alt="Build Status" />}[https://github.com/annacruz/ofx/actions]
+{<img src="https://badge.fury.io/rb/ofx.png" alt="Gem Version" />}[http://badge.fury.io/rb/ofx]
+{<img src="https://travis-ci.org/annacruz/ofx.svg?branch=master" alt="Build Status" />}[https://travis-ci.org/annacruz/ofx]
A simple OFX (Open Financial Exchange) parser built on top of Nokogiri. Currently supports both OFX 1.0.2 and 2.1.1.
diff --git a/lib/ofx/account.rb b/lib/ofx/account.rb
index e9a0b58..c696d12 100644
--- a/lib/ofx/account.rb
+++ b/lib/ofx/account.rb
@@ -1,11 +1,7 @@
+# frozen_string_literal: true
+
module OFX
class Account < Foundation
- attr_accessor :balance
- attr_accessor :bank_id
- attr_accessor :currency
- attr_accessor :id
- attr_accessor :transactions
- attr_accessor :type
- attr_accessor :available_balance
+ attr_accessor :balance, :bank_id, :currency, :id, :transactions, :type, :available_balance
end
end
diff --git a/lib/ofx/balance.rb b/lib/ofx/balance.rb
index 2ac629d..de0450e 100644
--- a/lib/ofx/balance.rb
+++ b/lib/ofx/balance.rb
@@ -1,7 +1,8 @@
+# frozen_string_literal: true
+
module OFX
class Balance < Foundation
- attr_accessor :amount
- attr_accessor :amount_in_pennies
- attr_accessor :posted_at
+ attr_accessor :amount, :amount_in_pennies, :posted_at
end
-end
\ No newline at end of file
+end
+
diff --git a/lib/ofx/errors.rb b/lib/ofx/errors.rb
index b2e5254..1506d4e 100644
--- a/lib/ofx/errors.rb
+++ b/lib/ofx/errors.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module OFX
class UnsupportedFileError < StandardError; end
end
diff --git a/lib/ofx/foundation.rb b/lib/ofx/foundation.rb
index b60d510..6b3857e 100644
--- a/lib/ofx/foundation.rb
+++ b/lib/ofx/foundation.rb
@@ -1,3 +1,5 @@
+# frozen_string_literal: true
+
module OFX
class Foundation
def initialize(attrs)
@@ -6,4 +8,5 @@ module OFX
end
end
end
-end
\ No newline at end of file
+end
+
diff --git a/lib/ofx/parser.rb b/lib/ofx/parser.rb
index e993fb5..3564cec 100644
--- a/lib/ofx/parser.rb
+++ b/lib/ofx/parser.rb
@@ -1,10 +1,9 @@
+# frozen_string_literal: true
+
module OFX
module Parser
class Base
- attr_reader :headers
- attr_reader :body
- attr_reader :content
- attr_reader :parser
+ attr_reader :headers, :body, :conten, :parser
def initialize(resource)
resource = open_resource(resource)
@@ -12,17 +11,17 @@ module OFX
begin
@content = convert_to_utf8(resource.read)
@headers, @body = prepare(content)
- rescue
+ rescue StandardError
raise OFX::UnsupportedFileError
end
- case headers["VERSION"]
- when /102/ then
- @parser = OFX102.new(:headers => headers, :body => body)
- when /103/ then
- @parser = OFX103.new(:headers => headers, :body => body)
- when /200|202|211|220/ then
- @parser = OFX211.new(:headers => headers, :body => body)
+ case headers['VERSION']
+ when /102/
+ @parser = OFX102.new(headers: headers, body: body)
+ when /103/
+ @parser = OFX103.new(headersu: headers, body: body)
+ when /200|202|211|220/
+ @parser = OFX211.new(headers: headers, body: body)
else
raise OFX::UnsupportedFileError
end
@@ -34,11 +33,12 @@ module OFX
else
open(resource)
end
- rescue
+ rescue StandardError
StringIO.new(resource)
end
private
+
def prepare(content)
# split headers & body
header_text, body = content.dup.split(/<OFX>/, 2)
@@ -55,9 +55,9 @@ module OFX
end
# Replace body tags to parse it with Nokogiri
- body.gsub!(/>\s+</m, "><")
- body.gsub!(/\s+</m, "<")
- body.gsub!(/>\s+/m, ">")
+ body.gsub!(/>\s+</m, '><')
+ body.gsub!(/\s+</m, '<')
+ body.gsub!(/>\s+/m, '>')
body.gsub!(/<(\w+?)>([^<]+)/m, '<\1>\2</\1>')
[headers, body]
@@ -65,7 +65,8 @@ module OFX
def convert_to_utf8(string)
return string if Kconv.isutf8(string)
- string.encode("UTF-8", "ISO-8859-1")
+
+ string.encode('UTF-8', 'ISO-8859-1')
end
end
end
diff --git a/lib/ofx/parser/ofx102.rb b/lib/ofx/parser/ofx102.rb
index 4837a36..a948c6f 100644
--- a/lib/ofx/parser/ofx102.rb
+++ b/lib/ofx/parser/ofx102.rb
@@ -52,7 +52,7 @@ module OFX
def self.parse_headers(header_text)
# Change single CR's to LF's to avoid issues with some banks
- header_text.gsub!(/\r(?!\n)/, "\n")
+ header_text.gsub!(/\r(?!\n)/, '\n')
# Parse headers. When value is NONE, convert it to nil.
headers = header_text.to_enum(:each_line).each_with_object({}) do |line, memo|
@@ -178,7 +178,7 @@ module OFX
end
OFX::Balance.new({
- amount: amount,
+ amount: ammount,
amount_in_pennies: (amount * 100).to_i,
posted_at: posted_at
})
@@ -198,8 +198,6 @@ module OFX
def to_decimal(amount)
BigDecimal(amount.to_s.gsub(',', '.'))
- rescue ArgumentError
- BigDecimal('0.0')
end
end
end
diff --git a/lib/ofx/parser/ofx211.rb b/lib/ofx/parser/ofx211.rb
index b836e08..0d55abd 100644
--- a/lib/ofx/parser/ofx211.rb
+++ b/lib/ofx/parser/ofx211.rb
@@ -1,7 +1,9 @@
+# frozen_string_literal: true
+
module OFX
module Parser
class OFX211 < OFX102
- VERSION = "2.1.1"
+ VERSION = '2.1.1'
def self.parse_headers(header_text)
doc = Nokogiri::XML(header_text)
@@ -9,7 +11,7 @@ module OFX
# Nokogiri can't search for processing instructions, so we
# need to do this manually.
doc.children.each do |e|
- if e.type == Nokogiri::XML::Node::PI_NODE && e.name == "OFX"
+ if e.type == Nokogiri::XML::Node::PI_NODE && e.name == 'OFX'
# Getting the attributes from the element doesn't seem to
# work either.
return extract_headers(e.text)
@@ -19,13 +21,14 @@ module OFX
nil
end
- private
def self.extract_headers(text)
headers = {}
text.split(/\s+/).each do |attr_text|
match = /(.+)="(.+)"/.match(attr_text)
next unless match
- k, v = match[1], match[2]
+
+ k = match[1]
+ v = match[2]
headers[k] = v
end
headers
@@ -33,6 +36,7 @@ module OFX
def self.strip_quotes(s)
return unless s
+
s.sub(/^"(.*)"$/, '\1')
end
end
diff --git a/lib/ofx/sign_on.rb b/lib/ofx/sign_on.rb
index 5a3537e..7e6c172 100644
--- a/lib/ofx/sign_on.rb
+++ b/lib/ofx/sign_on.rb
@@ -1,8 +1,7 @@
+# frozen_string_literal: true
+
module OFX
class SignOn < Foundation
- attr_accessor :language
- attr_accessor :fi_id
- attr_accessor :fi_name
- attr_accessor :status
+ attr_accessor :language, :fi_id, :fi_name, :status
end
end
diff --git a/lib/ofx/statement.rb b/lib/ofx/statement.rb
index 88ee68f..ea0e04b 100644
--- a/lib/ofx/statement.rb
+++ b/lib/ofx/statement.rb
@@ -1,11 +1,7 @@
+# frozen_string_literal: true
+
module OFX
class Statement < Foundation
- attr_accessor :account
- attr_accessor :available_balance
- attr_accessor :balance
- attr_accessor :currency
- attr_accessor :start_date
- attr_accessor :end_date
- attr_accessor :transactions
+ attr_accessor :account, :available_balance, :balance, :currency, :start_date, :end_date, :transactions
end
end
diff --git a/lib/ofx/status.rb b/lib/ofx/status.rb
index 2958385..de41201 100644
--- a/lib/ofx/status.rb
+++ b/lib/ofx/status.rb
@@ -1,12 +1,12 @@
+# frozen_string_literal: true
+
module OFX
# Error Reporting Aggregate
class Status < Foundation
- attr_accessor :code # Error code
- attr_accessor :severity # Severity of the error
- attr_accessor :message # Textual explanation
+ attr_accessor :code, :severity, :message
def success?
- code == 0
+ code.zero?
end
end
end
diff --git a/lib/ofx/transaction.rb b/lib/ofx/transaction.rb
index f24c9fb..5012c17 100644
--- a/lib/ofx/transaction.rb
+++ b/lib/ofx/transaction.rb
@@ -1,16 +1,8 @@
+# frozen_string_literal: true
+
module OFX
class Transaction < Foundation
- attr_accessor :amount
- attr_accessor :amount_in_pennies
- attr_accessor :check_number
- attr_accessor :fit_id
- attr_accessor :memo
- attr_accessor :name
- attr_accessor :payee
- attr_accessor :posted_at
- attr_accessor :occurred_at
- attr_accessor :ref_number
- attr_accessor :type
- attr_accessor :sic
+ attr_accessor :amount, :amount_in_pennies, :check_number, :fit_id, :memo, :name, :payee, :posted_at, :occurred_at,
+ :ref_number, :type, :sic
end
end
diff --git a/lib/ofx/version.rb b/lib/ofx/version.rb
index 6c82f02..25c6007 100644
--- a/lib/ofx/version.rb
+++ b/lib/ofx/version.rb
@@ -1,8 +1,10 @@
+# frozen_string_literal: true
+
module OFX
module Version
MAJOR = 0
MINOR = 3
- PATCH = 3
+ PATCH = 5
STRING = "#{MAJOR}.#{MINOR}.#{PATCH}"
end
end
diff --git a/spec/fixtures/avatar.gif b/spec/fixtures/avatar.gif
deleted file mode 100644
index 065847c2bd7c9c472c9767f86208176e18616de3..0000000000000000000000000000000000000000
GIT binary patch
literal 0
HcmV?d00001
literal 274
zcmZ?wbh9u|G-5Dfc+9|X=FAxe1_mD=A4y5cw6rv1W8?bz`c0cQ&73(CD2@qqKtdqB
z3@pb5PI#`~Yw`N*?*9oIeJPpqGFGk2dA+Yd=X^=-{fc$(Yu+Dc4+~J{kYE=&oFHJ(
z(slgFrkR2Q8tn{B4IDhSVQZ$nJ}Sb~uE?Y*X`$ZH^u*wY*SXA-RgcWrXN0pAm4}Nk
zv6i%ou+}p+HZ!nxiE=o`vU>?n5_6qgFfDFoi%eW~ZoY5{>ja6VISjSp&Mb^VA=4w6
z!`sC+Z)Mn?D&FHA&EVy;qId;M*~EJ0V<$qS&M{n*zjnj^&fR<WA3S{Y_{q~}&tJTJ
Jr7g%{4FGxMW3>PP
diff --git a/spec/fixtures/bb.ofx b/spec/fixtures/bb.ofx
deleted file mode 100644
index a91298b..0000000
--- a/spec/fixtures/bb.ofx
+++ /dev/null
@@ -1,700 +0,0 @@
-OFXHEADER:100
-DATA:OFXSGML
-VERSION:102
-SECURITY:NONE
-ENCODING:USASCII
-CHARSET:1252
-COMPRESSION:NONE
-OLDFILEUID:NONE
-NEWFILEUID:NONE
-<OFX>
-<SIGNONMSGSRSV1>
- <SONRS>
- <STATUS>
- <CODE>0</CODE>
- <SEVERITY>INFO</SEVERITY>
- </STATUS>
- <DTSERVER>20101025
- <LANGUAGE>POR
- <DTACCTUP>20101025
- <FI>
- <ORG>Banco do Brasil S/A
- <FID>001
- </FI>
- </SONRS>
-</SIGNONMSGSRSV1>
-<BANKMSGSRSV1>
- <STMTTRNRS>
- <TRNUID>0
- <STATUS>
- <CODE>0
- <SEVERITY>INFO
- </STATUS>
- <STMTRS>
- <CURDEF>BRL
- <BANKACCTFROM>
- <BANKID>001
- <ACCTID>12345-6
- <ACCTTYPE>CHECKING
- </BANKACCTFROM>
- <BANKTRANLIST>
- <DTSTART>20100930
- <DTEND>20101025
- <STMTTRN>
- <TRNTYPE>CHECK
- <DTPOSTED>20100826
- <TRNAMT>-836.30
- <FITID>20100826183630
- <CHECKNUM>850076
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101001
- <TRNAMT>-18.34
- <FITID>2010100111834
- <CHECKNUM>147021
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101001
- <TRNAMT>-28.90
- <FITID>2010100112890
- <CHECKNUM>37345
- <MEMO>D�B AUTORIZADO EM CONTA
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101001
- <TRNAMT>-5.73
- <FITID>201010011573
- <CHECKNUM>91100702
- <MEMO>COBRAN�A DE I.O.F.
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101004
- <TRNAMT>-10.99
- <FITID>2010100411099
- <CHECKNUM>138204
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101004
- <TRNAMT>-8.30
- <FITID>201010041830
- <CHECKNUM>149857
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101004
- <TRNAMT>-12.00
- <FITID>2010100411200
- <CHECKNUM>246313
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101004
- <TRNAMT>-11.50
- <FITID>2010100411150
- <CHECKNUM>369318
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101006
- <TRNAMT>-18.83
- <FITID>2010100611883
- <CHECKNUM>36897762
- <MEMO>PAGTO CART�O CR�DITO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEP
- <DTPOSTED>20101006
- <TRNAMT>18.83
- <FITID>2010100601883
- <CHECKNUM>36897762
- <MEMO>ESTORNO DE D�BITO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEP
- <DTPOSTED>20101007
- <TRNAMT>1000.00
- <FITID>201010070100000
- <CHECKNUM>800544
- <MEMO>DEP�SITO COMPE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101007
- <TRNAMT>-18.83
- <FITID>2010100711883
- <CHECKNUM>36897762
- <MEMO>PAGTO CART�O CR�DITO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>XFER
- <DTPOSTED>20101008
- <TRNAMT>300.00
- <FITID>20101008030000
- <CHECKNUM>00020224
- <MEMO>TRANSFER�NCIA ON LINE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEP
- <DTPOSTED>20101008
- <TRNAMT>500.00
- <FITID>20101008050000
- <CHECKNUM>421347
- <MEMO>DEP�SITO COMPE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEP
- <DTPOSTED>20101008
- <TRNAMT>500.00
- <FITID>2010100805000011
- <CHECKNUM>648512
- <MEMO>DEP�SITO COMPE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101008
- <TRNAMT>-28.28
- <FITID>2010100812828
- <CHECKNUM>146396
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101008
- <TRNAMT>-5.90
- <FITID>201010081590
- <CHECKNUM>246834
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101008
- <TRNAMT>-16.10
- <FITID>2010100811610
- <CHECKNUM>370424
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>XFER
- <DTPOSTED>20101008
- <TRNAMT>-822.00
- <FITID>20101008182200
- <CHECKNUM>00048316
- <MEMO>TRANSFER�NCIA ON LINE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101008
- <TRNAMT>-60.76
- <FITID>2010100816076
- <CHECKNUM>100801
- <MEMO>PAGAMENTO DE T�TULO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101008
- <TRNAMT>-110.00
- <FITID>20101008111000
- <CHECKNUM>100802
- <MEMO>PAGAMENTO DE T�TULO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101011
- <TRNAMT>-24.00
- <FITID>2010101112400
- <CHECKNUM>142600
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101011
- <TRNAMT>-20.00
- <FITID>2010101112000
- <CHECKNUM>166230
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101011
- <TRNAMT>-126.17
- <FITID>20101011112617
- <CHECKNUM>205611
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101011
- <TRNAMT>-42.00
- <FITID>2010101114200
- <CHECKNUM>243071
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101011
- <TRNAMT>-29.00
- <FITID>2010101112900
- <CHECKNUM>366151
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101011
- <TRNAMT>-17.60
- <FITID>2010101111760
- <CHECKNUM>368944
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101011
- <TRNAMT>-412.20
- <FITID>20101011141220
- <CHECKNUM>672017
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101011
- <TRNAMT>-34.00
- <FITID>2010101113400
- <CHECKNUM>01241475
- <MEMO>TARIFA PACOTE DE SERVI�OS
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101013
- <TRNAMT>-30.18
- <FITID>2010101313018
- <CHECKNUM>146454
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101013
- <TRNAMT>-7.19
- <FITID>201010131719
- <CHECKNUM>247102
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101013
- <TRNAMT>-7.80
- <FITID>201010131780
- <CHECKNUM>367701
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>XFER
- <DTPOSTED>20101013
- <TRNAMT>-50.96
- <FITID>2010101315096
- <CHECKNUM>00070756
- <MEMO>TRANSFER�NCIA ON LINE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101013
- <TRNAMT>-61.03
- <FITID>2010101316103
- <CHECKNUM>101301
- <MEMO>PAGAMENTO CONTA LUZ
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101013
- <TRNAMT>-204.50
- <FITID>20101013120450
- <CHECKNUM>101302
- <MEMO>PAGAMENTO DE T�TULO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEP
- <DTPOSTED>20101014
- <TRNAMT>400.00
- <FITID>20101014040000
- <CHECKNUM>00016279
- <MEMO>COBRAN�A
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101014
- <TRNAMT>-19.99
- <FITID>2010101411999
- <CHECKNUM>134048
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101014
- <TRNAMT>-40.00
- <FITID>2010101414000
- <CHECKNUM>138633
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101014
- <TRNAMT>-19.82
- <FITID>2010101411982
- <CHECKNUM>246442
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>XFER
- <DTPOSTED>20101014
- <TRNAMT>-190.00
- <FITID>20101014119000
- <CHECKNUM>00070756
- <MEMO>TRANSFER�NCIA ON LINE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101014
- <TRNAMT>-4.50
- <FITID>201010141450
- <CHECKNUM>00016279
- <MEMO>D�BITO SERVI�O COBRAN�A
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101015
- <TRNAMT>-19.54
- <FITID>2010101511954
- <CHECKNUM>146403
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101018
- <TRNAMT>-12.80
- <FITID>2010101811280
- <CHECKNUM>147492
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101018
- <TRNAMT>-23.05
- <FITID>2010101812305
- <CHECKNUM>149942
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101018
- <TRNAMT>-6.80
- <FITID>201010181680
- <CHECKNUM>272293
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>CASH
- <DTPOSTED>20101018
- <TRNAMT>-40.00
- <FITID>2010101814000
- <CHECKNUM>11783980
- <MEMO>SAQUE NO TAA
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>CASH
- <DTPOSTED>20101018
- <TRNAMT>-100.00
- <FITID>20101018110000
- <CHECKNUM>21783980
- <MEMO>SAQUE NO TAA
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEP
- <DTPOSTED>20101019
- <TRNAMT>400.00
- <FITID>20101019040000
- <CHECKNUM>00012545
- <MEMO>COBRAN�A
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101019
- <TRNAMT>-14.64
- <FITID>2010101911464
- <CHECKNUM>146476
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101019
- <TRNAMT>-4.84
- <FITID>201010191484
- <CHECKNUM>246931
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101019
- <TRNAMT>-16.10
- <FITID>2010101911610
- <CHECKNUM>373982
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101019
- <TRNAMT>-4.50
- <FITID>201010191450
- <CHECKNUM>00012545
- <MEMO>D�BITO SERVI�O COBRAN�A
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101019
- <TRNAMT>-149.05
- <FITID>20101019114905
- <CHECKNUM>101901
- <MEMO>PAGTO CONTA TELEFONE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101020
- <TRNAMT>-10.18
- <FITID>2010102011018
- <CHECKNUM>146249
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101020
- <TRNAMT>-16.60
- <FITID>2010102011660
- <CHECKNUM>266347
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101020
- <TRNAMT>-274.25
- <FITID>20101020127425
- <CHECKNUM>102001
- <MEMO>PAGAMENTO DE T�TULO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEP
- <DTPOSTED>20101021
- <TRNAMT>2083.33
- <FITID>201010210208333
- <CHECKNUM>40929489
- <MEMO>DESBLOQUEIO DE DEP�SITO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEP
- <DTPOSTED>20101021
- <TRNAMT>2546.07
- <FITID>201010210254607
- <CHECKNUM>20380391
- <MEMO>DESBLOQUEIO DE DEP�SITO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEP
- <DTPOSTED>20101021
- <TRNAMT>1720.59
- <FITID>201010210172059
- <CHECKNUM>20380425
- <MEMO>DESBLOQUEIO DE DEP�SITO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEP
- <DTPOSTED>20101021
- <TRNAMT>3000.00
- <FITID>201010210300000
- <CHECKNUM>13200184
- <MEMO>DESBLOQUEIO DE DEP�SITO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEP
- <DTPOSTED>20101022
- <TRNAMT>825.00
- <FITID>20101022082500
- <CHECKNUM>35900150
- <MEMO>DEP�SITO ONLINE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101022
- <TRNAMT>-9.40
- <FITID>201010221940
- <CHECKNUM>152718
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101022
- <TRNAMT>-75.90
- <FITID>2010102217590
- <CHECKNUM>171210
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101022
- <TRNAMT>-29.90
- <FITID>2010102212990
- <CHECKNUM>261902
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>CASH
- <DTPOSTED>20101022
- <TRNAMT>-100.00
- <FITID>20101022110000
- <CHECKNUM>81783980
- <MEMO>SAQUE NO TAA
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>XFER
- <DTPOSTED>20101022
- <TRNAMT>-52.00
- <FITID>2010102215200
- <CHECKNUM>00070756
- <MEMO>TRANSFER�NCIA ON LINE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101022
- <TRNAMT>-812.99
- <FITID>20101022181299
- <CHECKNUM>102201
- <MEMO>PAGAMENTO DE T�TULO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101022
- <TRNAMT>-465.66
- <FITID>20101022146566
- <CHECKNUM>102202
- <MEMO>PAGAMENTO DE T�TULO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101022
- <TRNAMT>-387.36
- <FITID>20101022138736
- <CHECKNUM>102203
- <MEMO>PAGAMENTO DE T�TULO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101025
- <TRNAMT>-40.00
- <FITID>2010102514000
- <CHECKNUM>102501
- <MEMO>PAGAMENTO DE T�TULO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101025
- <TRNAMT>-10.63
- <FITID>2010102511063
- <CHECKNUM>147859
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101025
- <TRNAMT>-6.30
- <FITID>201010251630
- <CHECKNUM>154134
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>XFER
- <DTPOSTED>20101025
- <TRNAMT>-100.00
- <FITID>20101025110000
- <CHECKNUM>00070756
- <MEMO>TRANSFER�NCIA ON LINE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101025
- <TRNAMT>-76.80
- <FITID>2010102517680
- <CHECKNUM>283102
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>CASH
- <DTPOSTED>20101025
- <TRNAMT>-70.00
- <FITID>2010102517000
- <CHECKNUM>41783972
- <MEMO>SAQUE NO TAA
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101025
- <TRNAMT>-9.76
- <FITID>201010251976
- <CHECKNUM>244487
- <MEMO>COMPRA COM CART�O
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101025
- <TRNAMT>-27.12
- <FITID>2010102512712
- <CHECKNUM>102502
- <MEMO>PAGAMENTO DE T�TULO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101025
- <TRNAMT>-82.03
- <FITID>2010102518203
- <CHECKNUM>102503
- <MEMO>PAGTO CONTA TELEFONE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101025
- <TRNAMT>-87.27
- <FITID>2010102518727
- <CHECKNUM>102504
- <MEMO>PAGTO CONTA TELEFONE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20101025
- <TRNAMT>-69.90
- <FITID>2010102516990
- <CHECKNUM>102505
- <MEMO>PAGTO CONTA TELEFONE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>XFER
- <DTPOSTED>20101025
- <TRNAMT>-142.00
- <FITID>20101025114200
- <CHECKNUM>00014207
- <MEMO>TRANSFER�NCIA ON LINE
- </STMTTRN>
- </BANKTRANLIST>
- <LEDGERBAL>
- <BALAMT>6529.19
- <DTASOF>20101025
- </LEDGERBAL>
- <MKTGINFO>Banco do Brasil, esse parceiro � todo seu.
- </STMTRS>
- </STMTTRNRS>
-</BANKMSGSRSV1>
-</OFX>
diff --git a/spec/fixtures/bradesco.ofx b/spec/fixtures/bradesco.ofx
deleted file mode 100644
index da0b95e..0000000
--- a/spec/fixtures/bradesco.ofx
+++ /dev/null
@@ -1,96 +0,0 @@
-
-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>
-<DTSERVER>00000000000000
-<LANGUAGE>POR
-</SONRS>
-</SIGNONMSGSRSV1>
-<BANKMSGSRSV1>
-<STMTTRNRS>
-<TRNUID>1001
-<STATUS>
-<CODE>0
-<SEVERITY>INFO
-</STATUS>
-<STMTRS>
-<CURDEF>BRL
-<BANKACCTFROM>
-<BANKID>0237
-<ACCTID>34545
-<ACCTTYPE>CHECKING
-</BANKACCTFROM>
-<BANKTRANLIST>
-<DTSTART>20150730120000
-<DTEND>20150730120000
-<STMTTRN>
-<TRNTYPE>DEBIT
-<DTPOSTED>20150730120000
-<TRNAMT>-530,86
-<FITID>5649673
-<CHECKNUM>5649673
-<MEMO>PAGTO ELETRONICO TRIBUTO
-</STMTTRN>
-<STMTTRN>
-<TRNTYPE>DEBIT
-<DTPOSTED>20150730120000
-<TRNAMT>-576,30
-<FITID>6043640
-<CHECKNUM>6043640
-<MEMO>PAGTO ELETRONICO TRIBUTO
-</STMTTRN>
-<STMTTRN>
-<TRNTYPE>DEBIT
-<DTPOSTED>20150730120000
-<TRNAMT>-534,33
-<FITID>6043560
-<CHECKNUM>6043560
-<MEMO>PAGTO ELETRONICO TRIBUTO
-</STMTTRN>
-<STMTTRN>
-<TRNTYPE>DEBIT
-<DTPOSTED>20150730120000
-<TRNAMT>-250,80
-<FITID>6042089
-<CHECKNUM>6042089
-<MEMO>PAGTO ELETRONICO TRIBUTO
-</STMTTRN>
-<STMTTRN>
-<TRNTYPE>DEBIT
-<DTPOSTED>20150730120000
-<TRNAMT>-225,72
-<FITID>6042372
-<CHECKNUM>6042372
-<MEMO>PAGTO ELETRONICO TRIBUTO
-</STMTTRN>
-<STMTTRN>
-<TRNTYPE>DEBIT
-<DTPOSTED>20150730120000
-<TRNAMT>-48,80
-<FITID>300038
-<CHECKNUM>300038
-<MEMO>CARTAO VISA ELECTRON
-</STMTTRN>
-</BANKTRANLIST>
-<LEDGERBAL>
-<BALAMT>0,00
-<DTASOF>00000000
-</LEDGERBAL>
-</STMTRS>
-</STMTTRNRS>
-</BANKMSGSRSV1>
-</OFX>
diff --git a/spec/fixtures/cef_malformed_decimal.ofx b/spec/fixtures/cef_malformed_decimal.ofx
deleted file mode 100644
index cf7d243..0000000
--- a/spec/fixtures/cef_malformed_decimal.ofx
+++ /dev/null
@@ -1,55 +0,0 @@
-OFXHEADER:100
-DATA:OFXSGML
-VERSION:102
-SECURITY:NONE
-ENCODING:USASCII
-CHARSET:1252
-COMPRESSION:NONE
-OLDFILEUID:NONE
-NEWFILEUID:NONE
-
-<OFX>
- <SIGNONMSGSRSV1>
- <SONRS>
- <STATUS>
- <CODE>0</CODE>
- <SEVERITY>INFO</SEVERITY>
- </STATUS>
- <DTSERVER>20220412092340</DTSERVER>
- <LANGUAGE>POR</LANGUAGE>
- </SONRS>
- </SIGNONMSGSRSV1>
- <BANKMSGSRSV1>
- <STMTTRNRS>
- <TRNUID>1001</TRNUID>
- <STATUS>
- <CODE>0</CODE>
- <SEVERITY>INFO</SEVERITY>
- </STATUS>
- <STMTRS>
- <CURDEF>BRL</CURDEF>
- <BANKACCTFROM>
- <BANKID>0104</BANKID>
- <ACCTID>0000000000001</ACCTID>
- <ACCTTYPE>CHECKING</ACCTTYPE>
- </BANKACCTFROM>
- <BANKTRANLIST>
- <DTSTART>20220411</DTSTART>
- <DTEND>20220412</DTEND>
- <STMTTRN>
- <TRNTYPE>CREDIT</TRNTYPE>
- <DTPOSTED>20220411120000[-3:BRT]</DTPOSTED>
- <TRNAMT> . </TRNAMT>
- <FITID>0</FITID>
- <CHECKNUM>0</CHECKNUM>
- <MEMO>SALDO DIA</MEMO>
- </STMTTRN>
- </BANKTRANLIST>
- <LEDGERBAL>
- <BALAMT>0.00</BALAMT>
- <DTASOF>20220412</DTASOF>
- </LEDGERBAL>
- </STMTRS>
- </STMTTRNRS>
- </BANKMSGSRSV1>
-</OFX>
diff --git a/spec/fixtures/creditcard.ofx b/spec/fixtures/creditcard.ofx
deleted file mode 100644
index 07bba18..0000000
--- a/spec/fixtures/creditcard.ofx
+++ /dev/null
@@ -1,79 +0,0 @@
-OFXHEADER:100
-DATA:OFXSGML
-VERSION:102
-SECURITY:NONE
-ENCODING:USASCII
-CHARSET:1252
-COMPRESSION:NONE
-OLDFILEUID:NONE
-NEWFILEUID:NONE
-
-<OFX>
- <SIGNONMSGSRSV1>
- <SONRS>
- <STATUS>
- <CODE>0</CODE>
- <SEVERITY>INFO</SEVERITY>
- </STATUS>
- <DTSERVER>20070623192010</DTSERVER>
- <LANGUAGE>ENG</LANGUAGE>
- <FI>
- <ORG>Citigroup</ORG>
- <FID>24909</FID>
- </FI>
- <INTU.BID>24909</INTU.BID>
- </SONRS>
- </SIGNONMSGSRSV1>
- <CREDITCARDMSGSRSV1>
- <CCSTMTTRNRS>
- <TRNUID>0</TRNUID>
- <STATUS>
- <CODE>0</CODE>
- <SEVERITY>INFO</SEVERITY>
- </STATUS>
- <CCSTMTRS>
- <CURDEF>USD</CURDEF>
- <CCACCTFROM>
- <ACCTID>XXXXXXXXXXXX1111</ACCTID>
- </CCACCTFROM>
- <BANKTRANLIST>
- <DTSTART>20070509120000</DTSTART>
- <DTEND>20070608120000</DTEND>
- <STMTTRN>
- <TRNTYPE>DEBIT</TRNTYPE>
- <DTPOSTED>20070510170000</DTPOSTED>
- <TRNAMT>-19.17</TRNAMT>
- <FITID>xx</FITID>
- <SIC>5912</SIC>
- <NAME>WALGREEN 34638675 ANYTOWN</NAME>
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT</TRNTYPE>
- <DTPOSTED>20070512170000</DTPOSTED>
- <TRNAMT>-12.0</TRNAMT>
- <FITID>yy-56</FITID>
- <SIC>7933</SIC>
- <NAME>SUNSET BOWL ANYTOWN</NAME>
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>CREDIT</TRNTYPE>
- <DTPOSTED>20070526170000</DTPOSTED>
- <TRNAMT>11.01</TRNAMT>
- <FITID>78-9</FITID>
- <SIC>0000</SIC>
- <NAME>ELECTRONIC PAYMENT-THANK YOU</NAME>
- </STMTTRN>
- </BANKTRANLIST>
- <LEDGERBAL>
- <BALAMT>-1111.01</BALAMT>
- <DTASOF>20070623192013</DTASOF>
- </LEDGERBAL>
- <AVAILBAL>
- <BALAMT>19000.99</BALAMT>
- <DTASOF>20070623192013</DTASOF>
- </AVAILBAL>
- </CCSTMTRS>
- </CCSTMTTRNRS>
- </CREDITCARDMSGSRSV1>
-</OFX>
-
diff --git a/spec/fixtures/dtsof_balance_issue.ofx b/spec/fixtures/dtsof_balance_issue.ofx
deleted file mode 100644
index 35c7cbd..0000000
--- a/spec/fixtures/dtsof_balance_issue.ofx
+++ /dev/null
@@ -1,54 +0,0 @@
-OFXHEADER:100
-DATA:OFXSGML
-VERSION:102
-SECURITY:NONE
-ENCODING:USASCII
-CHARSET:1252
-COMPRESSION:NONE
-OLDFILEUID:NONE
-NEWFILEUID:NONE
-<OFX>
-<SIGNONMSGSRSV1>
- <SONRS>
- <STATUS>
- <CODE>0</CODE>
- <SEVERITY>INFO</SEVERITY>
- </STATUS>
- <DTSERVER>00000000000000
- <LANGUAGE>POR
- </SONRS>
-</SIGNONMSGSRSV1>
-<BANKMSGSRSV1>
- <STMTTRNRS>
- <TRNUID>0
- <STATUS>
- <CODE>0
- <SEVERITY>INFO
- </STATUS>
- <STMTRS>
- <CURDEF>BRL
- <BANKACCTFROM>
- <BANKID>0237
- <ACCTID>1234
- <ACCTTYPE>CHECKING
- </BANKACCTFROM>
- <BANKTRANLIST>
- <DTSTART>20150309120000
- <DTEND>20150309120000
- <STMTTRN>
- <TRNTYPE>CHECK
- <DTPOSTED>20100826
- <TRNAMT>-836.30
- <FITID>20100826183630
- <CHECKNUM>850076
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN>
- </BANKTRANLIST>
- <LEDGERBAL>
- <BALAMT>0,00
- <DTASOF>00000000
- </LEDGERBAL>
- </STMTRS>
- </STMTTRNRS>
-</BANKMSGSRSV1>
-</OFX>
diff --git a/spec/fixtures/error.ofx b/spec/fixtures/error.ofx
deleted file mode 100644
index 19b91ea..0000000
--- a/spec/fixtures/error.ofx
+++ /dev/null
@@ -1,24 +0,0 @@
-<?xml version="1.0" encoding="UTF-8" standalone="no"?>
-<?OFX OFXHEADER="200" VERSION="211" SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE"?>
-<OFX>
- <SIGNONMSGSRSV1>
- <SONRS>
- <STATUS>
- <CODE>2000</CODE>
- <SEVERITY>ERROR</SEVERITY>
- <MESSAGE>We were unable to process your request. Please try again later.</MESSAGE>
- </STATUS>
- <DTSERVER>20181007222526.659[-4:EDT]</DTSERVER>
- <LANGUAGE>ENG</LANGUAGE>
- </SONRS>
- </SIGNONMSGSRSV1>
- <SIGNUPMSGSRSV1>
- <ACCTINFOTRNRS>
- <TRNUID>17dad707-2728-4742-8266-ee564a194cf8</TRNUID>
- <STATUS>
- <CODE>15500</CODE>
- <SEVERITY>ERROR</SEVERITY>
- </STATUS>
- </ACCTINFOTRNRS>
- </SIGNUPMSGSRSV1>
-</OFX>
diff --git a/spec/fixtures/invalid_version.ofx b/spec/fixtures/invalid_version.ofx
deleted file mode 100644
index 4dd694e..0000000
--- a/spec/fixtures/invalid_version.ofx
+++ /dev/null
@@ -1,308 +0,0 @@
-
-
-OFXHEADER:100
-DATA:OFXSGML
-VERSION:300
-SECURITY:NONE
-ENCODING:USASCII
-CHARSET:1252
-COMPRESSION:NONE
-OLDFILEUID:NONE
-NEWFILEUID:NONE
-
-<OFX>
- <SIGNONMSGSRSV1>
- <SONRS>
- <STATUS>
- <CODE>0
- <SEVERITY>INFO
- </STATUS>
- <DTSERVER>20091101192253
- <LANGUAGE>POR
- </SONRS>
- </SIGNONMSGSRSV1>
- <BANKMSGSRSV1>
- <STMTTRNRS>
- <TRNUID>1
- <STATUS>
- <CODE>0
- <SEVERITY>INFO
- </STATUS>
- <STMTRS>
- <CURDEF>BRL
- <BANKACCTFROM>
- <BANKID>0356
- <ACCTID>03227113109
- <ACCTTYPE>CHECKING
- </BANKACCTFROM>
- <BANKTRANLIST>
- <DTSTART>20091009080000
- <DTEND>20091103080000
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091009080000
- <TRNAMT>-35.34
- <FITID>200910091
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>CREDIT
- <DTPOSTED>20091016080000
- <TRNAMT>60.39
- <FITID>200910162
- <CHECKNUM>0880136
- <MEMO>DEPOSITO POUP.CORRENTE
- </STMTTRN>
-
- <STMTTRN>
- <TRNTYPE>OTHER</TRNTYPE>
- <DTPOSTED>20091019120000[-3:BRT]</DTPOSTED>
- <TRNAMT>-148.40</TRNAMT>
- <FITID>200910191148400</FITID>
- <CHECKNUM>000000101901</CHECKNUM>
- <REFNUM>101.901</REFNUM>
- <PAYEE>Pagto conta telefone</PAYEE>
- <MEMO>Pagto conta telefone</MEMO>
- </STMTTRN>
-
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-126.13
- <FITID>200910131
- <CHECKNUM>0001511
- <MEMO>TITULO COBRANCA-IB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-232.23
- <FITID>200910132
- <CHECKNUM>0001511
- <MEMO>TITULO COBRANCA-IB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-501.24
- <FITID>200910133
- <CHECKNUM>0001511
- <MEMO>TITULO COBRANCA-IB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-719.03
- <FITID>200910134
- <CHECKNUM>0001511
- <MEMO>TITULO COBRANCA-IB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-90.75
- <FITID>200910135
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-49.80
- <FITID>200910136
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-219.90
- <FITID>200910137
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-54.61
- <FITID>200910138
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-38.57
- <FITID>200910139
- <CHECKNUM>0002208
- <MEMO>PAGTO CONTA TELEFONE -RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-119.40
- <FITID>2009101310
- <CHECKNUM>0002209
- <MEMO>CONTA DE LUZ -RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-34.69
- <FITID>2009101311
- <CHECKNUM>0002208
- <MEMO>PAGTO CONTA TELEFONE -RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-35.07
- <FITID>2009101312
- <CHECKNUM>0002231
- <MEMO>IPTU / TAXAS SP -RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-259.10
- <FITID>2009101313
- <CHECKNUM>0001085
- <MEMO>PGTO NET
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-202.84
- <FITID>2009101314
- <CHECKNUM>0002606
- <MEMO>PARC RC EXCLUSIVO 12
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-272.77
- <FITID>2009101315
- <CHECKNUM>0002606
- <MEMO>PARC RC EXCLUSIVO 08
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091014080000
- <TRNAMT>-80.00
- <FITID>200910141
- <CHECKNUM>0010991
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091014080000
- <TRNAMT>-177.00
- <FITID>200910142
- <CHECKNUM>0010986
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091014080000
- <TRNAMT>-386.00
- <FITID>200910143
- <CHECKNUM>0011063
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091014080000
- <TRNAMT>-12.19
- <FITID>200910144
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091015080000
- <TRNAMT>-41.00
- <FITID>200910151
- <CHECKNUM>0011064
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091016080000
- <TRNAMT>-63.00
- <FITID>200910161
- <CHECKNUM>0010856
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091019080000
- <TRNAMT>-51.00
- <FITID>200910191
- <CHECKNUM>0011065
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091019080000
- <TRNAMT>-23.81
- <FITID>200910192
- <CHECKNUM>0001203
- <MEMO>ASSINATURA ABRIL
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091020080000
- <TRNAMT>-15.50
- <FITID>200910201
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091021080000
- <TRNAMT>-132.00
- <FITID>200910211
- <CHECKNUM>0011023
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>CREDIT
- <DTPOSTED>20091022080000
- <TRNAMT>600.00
- <FITID>200910221
- <CHECKNUM>0001433
- <MEMO>DOC REM 216.397.168-66
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091022080000
- <TRNAMT>-22.40
- <FITID>200910222
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091022080000
- <TRNAMT>-73.16
- <FITID>200910223
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091023080000
- <TRNAMT>-61.36
- <FITID>200910231
- <CHECKNUM>0000292
- <MEMO>CONTA AGUA/ESGOTO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091026080000
- <TRNAMT>-96.00
- <FITID>200910261
- <CHECKNUM>0002212
- <MEMO>PAGTO FATURA REALVISA-RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091030080000
- <TRNAMT>-67.75
- <FITID>200910301
- <CHECKNUM>0011061
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091030080000
- <TRNAMT>-25.88
- <FITID>200910302
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091103080000
- <TRNAMT>-89.03
- <FITID>200911031
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN>
- </BANKTRANLIST>
- <LEDGERBAL>
- <BALAMT>598.44
- <DTASOF>20091101
- </LEDGERBAL>
- </STMTRS>
- </STMTTRNRS>
- </BANKMSGSRSV1>
-</OFX>
diff --git a/spec/fixtures/nd-amex-sample.ofx b/spec/fixtures/nd-amex-sample.ofx
deleted file mode 100644
index c3ad8d2..0000000
--- a/spec/fixtures/nd-amex-sample.ofx
+++ /dev/null
@@ -1,12 +0,0 @@
-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<MESSAGE>Login successful</STATUS><DTSERVER>20130921174852.283[-7:MST]<LANGUAGE>ENG<FI><ORG>AMEX<FID>3101</FI><ORIGIN.ID>FMPWeb<INTU.BID>3101<START.TIME>20130921174852<INTU.USERID>nathanaeljones</SONRS></SIGNONMSGSRSV1><CREDITCARDMSGSRSV1><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>555555555555555<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>555555555555555<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20130907050000.000[-7:MST]<DTEND>20130921050000.000[-7:MST]<STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20130913000000.000[-7:MST]<TRNAMT>-169.92<FITID>320132560259369437<REFNUM>320132560259369437<NAME>SUPER VALUE FOOD STONASSAU <MEMO>70000013255 GROCERY STORE</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20130914000000.000[-7:MST]<TRNAMT>-188.48<FITID>320132570273553775<REFNUM>320132570273553775<NAME>SUPER VALUE FOOD STONASSAU <MEMO>70000013256 GROCERY STORE</STMTTRN></BANKTRANLIST><LEDGERBAL><BALAMT>-764.6<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>555555555555555<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>555555555555555<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20130809050000.000[-7:MST]<DTEND>20130906050000.000[-7:MST]<STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20130901000000.000[-7:MST]<TRNAMT>-35.4<FITID>320132440098204631<REFNUM>320132440098204631<NAME>DELTA AIR LINES ATLANTA<MEMO>18002211212</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20130901000000.000[-7:MST]<TRNAMT>-185.4<FITID>320132440098204632<REFNUM>320132440098204632<NAME>DELTA AIR LINES ATLANTA<MEMO>18002211212</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20130901000000.000[-7:MST]<TRNAMT>-185.4<FITID>320132440098204633<REFNUM>320132440098204633<NAME>DELTA AIR LINES ATLANTA<MEMO>18002211212</STMTTRN></BANKTRANLIST><LEDGERBAL><BALAMT>-764.6<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>555555555555555<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>555555555555555<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20130709050000.000[-7:MST]<DTEND>20130808050000.000[-7:MST]</BANKTRANLIST><LEDGERBAL><BALAMT>-764.6<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>555555555555555<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>555555555555555<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20130608050000.000[-7:MST]<DTEND>20130708050000.000[-7:MST]<STMTTRN><TRNTYPE>CREDIT<DTPOSTED>20130628000000.000[-7:MST]<TRNAMT>1108.95<FITID>320131790209446624<REFNUM>320131790209446624<NAME>ONLINE PAYMENT - THANK YOU</STMTTRN></BANKTRANLIST><LEDGERBAL><BALAMT>-764.6<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>555555555555555<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>555555555555555<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20130507050000.000[-7:MST]<DTEND>20130607050000.000[-7:MST]<STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20130515000000.000[-7:MST]<TRNAMT>-79<FITID>320131350107283534<REFNUM>320131350107283534<NAME>DELTA AIR LINES ATLANTA<MEMO>18002211212</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20130515000000.000[-7:MST]<TRNAMT>-1168.9<FITID>320131350107283535<REFNUM>320131350107283535<NAME>DELTA AIR LINES ATLANTA<MEMO>18002211212</STMTTRN><STMTTRN><TRNTYPE>CREDIT<DTPOSTED>20130517000000.000[-7:MST]<TRNAMT>50<FITID>320131370144375832<REFNUM>320131370144375832<NAME>ADGN:0001 $50 statement credit <MEMO>purchase at delta within 92 days of</STMTTRN><STMTTRN><TRNTYPE>CREDIT<DTPOSTED>20130525000000.000[-7:MST]<TRNAMT>9.95<FITID>320131450244793847<REFNUM>320131450244793847<NAME>CREDIT - BAGGAGE INSURANCE PREM<MEMO>TKT NO. 0060173980658</STMTTRN><STMTTRN><TRNTYPE>CREDIT<DTPOSTED>20130524000000.000[-7:MST]<TRNAMT>79<FITID>320131440230242321<REFNUM>320131440230242321<NAME>DELTA AIR LINES ATLANTA<MEMO>18002211212</STMTTRN></BANKTRANLIST><LEDGERBAL><BALAMT>-764.6<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>444444444444444<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>444444444444444<OLD.CYCLES>true<OLD.CYCLESCOUNT>4<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20130828050000.000[-7:MST]<DTEND>20130921050000.000[-7:MST]</BANKTRANLIST><LEDGERBAL><BALAMT>0.21<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>444444444444444<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>444444444444444<OLD.CYCLES>true<OLD.CYCLESCOUNT>4<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20130727050000.000[-7:MST]<DTEND>20130827050000.000[-7:MST]</BANKTRANLIST><LEDGERBAL><BALAMT>0.21<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>444444444444444<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>444444444444444<OLD.CYCLES>true<OLD.CYCLESCOUNT>4<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20130627050000.000[-7:MST]<DTEND>20130726050000.000[-7:MST]<STMTTRN><TRNTYPE>CREDIT<DTPOSTED>20130704000000.000[-7:MST]<TRNAMT>0.21<FITID>320131850826000665<REFNUM>320131850826000665<NAME>CR ADJ FOR BILLING INQUIR</STMTTRN></BANKTRANLIST><LEDGERBAL><BALAMT>0.21<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>444444444444444<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>444444444444444<OLD.CYCLES>true<OLD.CYCLESCOUNT>4<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20130528050000.000[-7:MST]<DTEND>20130626050000.000[-7:MST]</BANKTRANLIST><LEDGERBAL><BALAMT>0.21<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>444444444444444<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>444444444444444<OLD.CYCLES>true<OLD.CYCLESCOUNT>4<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20130427050000.000[-7:MST]<DTEND>20130527050000.000[-7:MST]</BANKTRANLIST><LEDGERBAL><BALAMT>0.21<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>444444444444444<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>444444444444444<OLD.CYCLES>true<OLD.CYCLESCOUNT>4<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20130328050000.000[-7:MST]<DTEND>20130426050000.000[-7:MST]</BANKTRANLIST><LEDGERBAL><BALAMT>0.21<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>444444444444444<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>444444444444444<OLD.CYCLES>true<OLD.CYCLESCOUNT>4<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20130225050000.000[-7:MST]<DTEND>20130327050000.000[-7:MST]</BANKTRANLIST><LEDGERBAL><BALAMT>0.21<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>444444444444444<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>444444444444444<OLD.CYCLES>true<OLD.CYCLESCOUNT>4<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20130128050000.000[-7:MST]<DTEND>20130224050000.000[-7:MST]</BANKTRANLIST><LEDGERBAL><BALAMT>0.21<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>444444444444444<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>444444444444444<OLD.CYCLES>true<OLD.CYCLESCOUNT>4<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20121228050000.000[-7:MST]<DTEND>20130127050000.000[-7:MST]</BANKTRANLIST><LEDGERBAL><BALAMT>0.21<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>444444444444444<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>444444444444444<OLD.CYCLES>true<OLD.CYCLESCOUNT>4<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20121127050000.000[-7:MST]<DTEND>20121227050000.000[-7:MST]<STMTTRN><TRNTYPE>CREDIT<DTPOSTED>20121216000000.000[-7:MST]<TRNAMT>84.89<FITID>320123510149113443<REFNUM>320123510149113443<NAME>ONLINE PAYMENT - THANK YOU</STMTTRN></BANKTRANLIST><LEDGERBAL><BALAMT>0.21<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS><CCSTMTTRNRS><TRNUID>0<STATUS><CODE>0<SEVERITY>INFO</STATUS><CCSTMTRS><CURDEF>USD<CCACCTFROM><ACCTID>444444444444444<DOWNLOAD.FLAG>true<DOWNLOAD.TYPE>downloadDates<AMEX.BASICACCT>444444444444444<OLD.CYCLES>true<OLD.CYCLESCOUNT>4<AMEX.ROLE>B<AMEX.UNIVID>3f87b410fb936a8e316cc0ea4526d586</CCACCTFROM><BANKTRANLIST><DTSTART>20121027050000.000[-7:MST]<DTEND>20121126050000.000[-7:MST]<STMTTRN><TRNTYPE>CREDIT<DTPOSTED>20121125000000.000[-7:MST]<TRNAMT>25<FITID>320123300342150270<REFNUM>320123300342150270<NAME>SQUARE SAN FRANCIS<MEMO>Shop Small Offer</STMTTRN><STMTTRN><TRNTYPE>DEBIT<DTPOSTED>20121125000000.000[-7:MST]<TRNAMT>-109.89<FITID>320123300342150271<REFNUM>320123300342150271<NAME>Market Street Inn BeJeffersonvi<MEMO>BT5D4I 8774174551</STMTTRN></BANKTRANLIST><LEDGERBAL><BALAMT>0.21<DTASOF>20130921050000.000[-7:MST]</LEDGERBAL><CYCLECUT.INDICATOR>false<PURGE.INDICATOR>false<INTL.INDICATOR>false</CCSTMTRS></CCSTMTTRNRS></CREDITCARDMSGSRSV1></OFX>
-
diff --git a/spec/fixtures/sample.ofx b/spec/fixtures/sample.ofx
deleted file mode 100644
index 2d02dab..0000000
--- a/spec/fixtures/sample.ofx
+++ /dev/null
@@ -1,315 +0,0 @@
-
-
-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>
- <DTSERVER>20091101192253
- <LANGUAGE>POR
- </SONRS>
- </SIGNONMSGSRSV1>
- <BANKMSGSRSV1>
- <STMTTRNRS>
- <TRNUID>1
- <STATUS>
- <CODE>0
- <SEVERITY>INFO
- </STATUS>
- <STMTRS>
- <CURDEF>BRL
- <BANKACCTFROM>
- <BANKID>0356
- <ACCTID>03227113109
- <ACCTTYPE>CHECKING
- </BANKACCTFROM>
- <BANKTRANLIST>
- <DTSTART>20091009080000
- <DTEND>20091103080000
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091009080000
- <DTUSER>20090909080000
- <TRNAMT>-35.34
- <FITID>200910091
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- <SIC>5072
- </STMTTRN><STMTTRN>
- <TRNTYPE>CREDIT
- <DTPOSTED>20091016080000
- <DTUSER>20090916080000
- <TRNAMT>60.39
- <FITID>200910162
- <CHECKNUM>0880136
- <MEMO>DEPOSITO POUP.CORRENTE
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>OTHER</TRNTYPE>
- <DTPOSTED>20091019120000[-3:BRT]</DTPOSTED>
- <DTUSER>20091017120000[-3:BRT]</DTPOSTED>
- <TRNAMT>-148.40</TRNAMT>
- <FITID>200910191148400</FITID>
- <CHECKNUM>000000101901</CHECKNUM>
- <REFNUM>101.901</REFNUM>
- <PAYEE>Pagto conta telefone</PAYEE>
- <MEMO>Pagto conta telefone</MEMO>
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-126.13
- <FITID>200910131
- <CHECKNUM>0001511
- <NAME>Pagto conta telefone</NAME>
- <MEMO>TITULO COBRANCA-IB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-232.23
- <FITID>200910132
- <CHECKNUM>0001511
- <MEMO>TITULO COBRANCA-IB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-501.24
- <FITID>200910133
- <CHECKNUM>0001511
- <MEMO>TITULO COBRANCA-IB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-719.03
- <FITID>200910134
- <CHECKNUM>0001511
- <MEMO>TITULO COBRANCA-IB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-90.75
- <FITID>200910135
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-49.80
- <FITID>200910136
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-219.90
- <FITID>200910137
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-54.61
- <FITID>200910138
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-38.57
- <FITID>200910139
- <CHECKNUM>0002208
- <MEMO>PAGTO CONTA TELEFONE -RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-119.40
- <FITID>2009101310
- <CHECKNUM>0002209
- <MEMO>CONTA DE LUZ -RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-34.69
- <FITID>2009101311
- <CHECKNUM>0002208
- <MEMO>PAGTO CONTA TELEFONE -RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-35.07
- <FITID>2009101312
- <CHECKNUM>0002231
- <MEMO>IPTU / TAXAS SP -RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-259.10
- <FITID>2009101313
- <CHECKNUM>0001085
- <MEMO>PGTO NET
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-202.84
- <FITID>2009101314
- <CHECKNUM>0002606
- <MEMO>PARC RC EXCLUSIVO 12
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-272.77
- <FITID>2009101315
- <CHECKNUM>0002606
- <MEMO>PARC RC EXCLUSIVO 08
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091014080000
- <TRNAMT>-80.00
- <FITID>200910141
- <CHECKNUM>0010991
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091014080000
- <TRNAMT>-177.00
- <FITID>200910142
- <CHECKNUM>0010986
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091014080000
- <TRNAMT>-386.00
- <FITID>200910143
- <CHECKNUM>0011063
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091014080000
- <TRNAMT>-12.19
- <FITID>200910144
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091015080000
- <TRNAMT>-41.00
- <FITID>200910151
- <CHECKNUM>0011064
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091016080000
- <TRNAMT>-63.00
- <FITID>200910161
- <CHECKNUM>0010856
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091019080000
- <TRNAMT>-51.00
- <FITID>200910191
- <CHECKNUM>0011065
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091019080000
- <TRNAMT>-23.81
- <FITID>200910192
- <CHECKNUM>0001203
- <MEMO>ASSINATURA ABRIL
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091020080000
- <TRNAMT>-15.50
- <FITID>200910201
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091021080000
- <TRNAMT>-132.00
- <FITID>200910211
- <CHECKNUM>0011023
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>CREDIT
- <DTPOSTED>20091022080000
- <TRNAMT>600.00
- <FITID>200910221
- <CHECKNUM>0001433
- <MEMO>DOC REM 216.397.168-66
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091022080000
- <TRNAMT>-22.40
- <FITID>200910222
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091022080000
- <TRNAMT>-73.16
- <FITID>200910223
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091023080000
- <TRNAMT>-61.36
- <FITID>200910231
- <CHECKNUM>0000292
- <MEMO>CONTA AGUA/ESGOTO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091026080000
- <TRNAMT>-96.00
- <FITID>200910261
- <CHECKNUM>0002212
- <MEMO>PAGTO FATURA REALVISA-RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091030080000
- <TRNAMT>-67.75
- <FITID>200910301
- <CHECKNUM>0011061
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091030080000
- <TRNAMT>-25.88
- <FITID>200910302
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091103080000
- <TRNAMT>-89.03
- <FITID>200911031
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN>
- </BANKTRANLIST>
- <LEDGERBAL>
- <BALAMT>598.44
- <DTASOF>20091101
- </LEDGERBAL>
- <AVAILBAL>
- <BALAMT>1555.99</BALAMT>
- <DTASOF>20091101</DTASOF>
- </AVAILBAL>
- </STMTRS>
- </STMTTRNRS>
- </BANKMSGSRSV1>
-</OFX>
diff --git a/spec/fixtures/santander.ofx b/spec/fixtures/santander.ofx
deleted file mode 100644
index c085bc8..0000000
--- a/spec/fixtures/santander.ofx
+++ /dev/null
@@ -1,91 +0,0 @@
-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>
- <DTSERVER>20170904082855[-3:GMT]
- <LANGUAGE>ENG
- <FI>
- <ORG>SANTANDER
- <FID>SANTANDER
- </FI>
- </SONRS>
- </SIGNONMSGSRSV1>
- <BANKMSGSRSV1>
- <STMTTRNRS>
- <TRNUID>1
- <STATUS>
- <CODE>0
- <SEVERITY>INFO
- </STATUS>
- <STMTRS>
- <CURDEF>BRL
- <BANKACCTFROM>
- <BANKID>034
- <ACCTID>3423130031625
- <ACCTTYPE>CHECKING
- </BANKACCTFROM>
- <BANKTRANLIST>
- <DTSTART>20170904082855[-3:GMT]
- <DTEND>20170904082855[-3:GMT]
- <STMTTRN>
- <TRNTYPE>OTHER
- <DTPOSTED>20170901000000[-3:GMT]
- <TRNAMT> -11,76
- <FITID>00190944
- <CHECKNUM>00190944
- <PAYEEID>0
- <MEMO>TARIFA REGISTRO TITULO
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>OTHER
- <DTPOSTED>20170901000000[-3:GMT]
- <TRNAMT> -2,23
- <FITID>00030409
- <CHECKNUM>00030409
- <PAYEEID>0
- <MEMO>IOF IMPOSTO OPERACOES FINANCEIRAS PERIODO: 01/08 A 31/08/17
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>OTHER
- <DTPOSTED>20170901000000[-3:GMT]
- <TRNAMT> -33,02
- <FITID>00040409
- <CHECKNUM>00040409
- <PAYEEID>0
- <MEMO>IOF ADICIONAL - AUTOMATICO PERIODO: 01/08 A 31/08/17
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>OTHER
- <DTPOSTED>20170901000000[-3:GMT]
- <TRNAMT> 47,01
- <FITID>00050409
- <CHECKNUM>00050409
- <PAYEEID>0
- <MEMO>RESGATE AUT CONTAMAX EMPRESARIAL
- </STMTTRN>
- </BANKTRANLIST>
- <LEDGERBAL>
- <BALAMT> 348,29
- <DTASOF>20170904082855[-3:GMT]
- </LEDGERBAL>
- <AVAILBAL>
- <BALAMT> 2415,87
- <DTASOF>20170904082855[-3:GMT]
- </AVAILBAL>
- </STMTRS>
- </STMTTRNRS>
- </BANKMSGSRSV1>
-</OFX>
diff --git a/spec/fixtures/utf8.ofx b/spec/fixtures/utf8.ofx
deleted file mode 100644
index b6c16ca..0000000
--- a/spec/fixtures/utf8.ofx
+++ /dev/null
@@ -1,308 +0,0 @@
-
-
-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>
- <DTSERVER>20091101192253
- <LANGUAGE>POR
- </SONRS>
- </SIGNONMSGSRSV1>
- <BANKMSGSRSV1>
- <STMTTRNRS>
- <TRNUID>1
- <STATUS>
- <CODE>0
- <SEVERITY>INFO
- </STATUS>
- <STMTRS>
- <CURDEF>BRL
- <BANKACCTFROM>
- <BANKID>0356
- <ACCTID>03227113109
- <ACCTTYPE>CHECKING
- </BANKACCTFROM>
- <BANKTRANLIST>
- <DTSTART>20091009080000
- <DTEND>20091103080000
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091009080000
- <TRNAMT>-35.34
- <FITID>200910091
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>CREDIT
- <DTPOSTED>20091016080000
- <TRNAMT>60.39
- <FITID>200910162
- <CHECKNUM>0880136
- <MEMO>DEPOSITO POUP.CORRENTE
- </STMTTRN>
-
- <STMTTRN>
- <TRNTYPE>OTHER</TRNTYPE>
- <DTPOSTED>20091019120000[-3:BRT]</DTPOSTED>
- <TRNAMT>-148.40</TRNAMT>
- <FITID>200910191148400</FITID>
- <CHECKNUM>000000101901</CHECKNUM>
- <REFNUM>101.901</REFNUM>
- <PAYEE>Pagto conta telefone</PAYEE>
- <MEMO>Pagto conta telefone</MEMO>
- </STMTTRN>
-
- <STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-126.13
- <FITID>200910131
- <CHECKNUM>0001511
- <MEMO>TÍTULO COBRANÇA-IB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-232.23
- <FITID>200910132
- <CHECKNUM>0001511
- <MEMO>TÍTULO COBRANÇA-IB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-501.24
- <FITID>200910133
- <CHECKNUM>0001511
- <MEMO>TÍTULO COBRANÇA-IB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-719.03
- <FITID>200910134
- <CHECKNUM>0001511
- <MEMO>TÍTULO COBRANÇA-IB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-90.75
- <FITID>200910135
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-49.80
- <FITID>200910136
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-219.90
- <FITID>200910137
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-54.61
- <FITID>200910138
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-38.57
- <FITID>200910139
- <CHECKNUM>0002208
- <MEMO>PAGTO CONTA TELEFONE -RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-119.40
- <FITID>2009101310
- <CHECKNUM>0002209
- <MEMO>CONTA DE LUZ -RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-34.69
- <FITID>2009101311
- <CHECKNUM>0002208
- <MEMO>PAGTO CONTA TELEFONE -RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-35.07
- <FITID>2009101312
- <CHECKNUM>0002231
- <MEMO>IPTU / TAXAS SP -RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-259.10
- <FITID>2009101313
- <CHECKNUM>0001085
- <MEMO>PGTO NET
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-202.84
- <FITID>2009101314
- <CHECKNUM>0002606
- <MEMO>PARC RC EXCLUSIVO 12
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091013080000
- <TRNAMT>-272.77
- <FITID>2009101315
- <CHECKNUM>0002606
- <MEMO>PARC RC EXCLUSIVO 08
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091014080000
- <TRNAMT>-80.00
- <FITID>200910141
- <CHECKNUM>0010991
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091014080000
- <TRNAMT>-177.00
- <FITID>200910142
- <CHECKNUM>0010986
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091014080000
- <TRNAMT>-386.00
- <FITID>200910143
- <CHECKNUM>0011063
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091014080000
- <TRNAMT>-12.19
- <FITID>200910144
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091015080000
- <TRNAMT>-41.00
- <FITID>200910151
- <CHECKNUM>0011064
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091016080000
- <TRNAMT>-63.00
- <FITID>200910161
- <CHECKNUM>0010856
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091019080000
- <TRNAMT>-51.00
- <FITID>200910191
- <CHECKNUM>0011065
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091019080000
- <TRNAMT>-23.81
- <FITID>200910192
- <CHECKNUM>0001203
- <MEMO>ASSINATURA ABRIL
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091020080000
- <TRNAMT>-15.50
- <FITID>200910201
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091021080000
- <TRNAMT>-132.00
- <FITID>200910211
- <CHECKNUM>0011023
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>CREDIT
- <DTPOSTED>20091022080000
- <TRNAMT>600.00
- <FITID>200910221
- <CHECKNUM>0001433
- <MEMO>DOC REM 216.397.168-66
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091022080000
- <TRNAMT>-22.40
- <FITID>200910222
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091022080000
- <TRNAMT>-73.16
- <FITID>200910223
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091023080000
- <TRNAMT>-61.36
- <FITID>200910231
- <CHECKNUM>0000292
- <MEMO>CONTA ÁGUA/ESGOTO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091026080000
- <TRNAMT>-96.00
- <FITID>200910261
- <CHECKNUM>0002212
- <MEMO>PAGTO FATURA REALVISA-RIB
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091030080000
- <TRNAMT>-67.75
- <FITID>200910301
- <CHECKNUM>0011061
- <MEMO>CHEQUE COMPENSADO
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091030080000
- <TRNAMT>-25.88
- <FITID>200910302
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN><STMTTRN>
- <TRNTYPE>DEBIT
- <DTPOSTED>20091103080000
- <TRNAMT>-89.03
- <FITID>200911031
- <CHECKNUM>0001223
- <MEMO>COMPRA VISA ELECTRON
- </STMTTRN>
- </BANKTRANLIST>
- <LEDGERBAL>
- <BALAMT>598.44
- <DTASOF>20091101
- </LEDGERBAL>
- </STMTRS>
- </STMTTRNRS>
- </BANKMSGSRSV1>
-</OFX>
diff --git a/spec/fixtures/v103.ofx b/spec/fixtures/v103.ofx
deleted file mode 100644
index d02df24..0000000
--- a/spec/fixtures/v103.ofx
+++ /dev/null
@@ -1,80 +0,0 @@
-
-
-OFXHEADER:100
-DATA:OFXSGML
-VERSION:103
-SECURITY:NONE
-ENCODING:USASCII
-CHARSET:1252
-COMPRESSION:NONE
-OLDFILEUID:NONE
-NEWFILEUID:NONE
-
-<OFX>
- <SIGNONMSGSRSV1>
- <SONRS>
- <STATUS>
- <CODE>0</CODE>
- <SEVERITY>INFO</SEVERITY>
- </STATUS>
- <DTSERVER>20150507164333.979[-0300:BRT]</DTSERVER>
- <LANGUAGE>POR</LANGUAGE>
- <FI>
- <ORG>HSBC Bank Brasil S.A.</ORG>
- <FID>1</FID>
- </FI>
- </SONRS>
- </SIGNONMSGSRSV1>
- <BANKMSGSRSV1>
- <STMTTRNRS>
- <TRNUID>1</TRNUID>
- <STATUS>
- <CODE>0</CODE>
- <SEVERITY>INFO</SEVERITY>
- </STATUS>
- <STMTRS>
- <CURDEF>BRL</CURDEF>
- <BANKACCTFROM>
- <BANKID>399</BANKID>
- <ACCTID>26215973324</ACCTID>
- <ACCTTYPE>CHECKING</ACCTTYPE>
- </BANKACCTFROM>
- <BANKTRANLIST>
- <DTSTART>20150501</DTSTART>
- <DTEND>20150507</DTEND>
-
- <STMTTRN>
- <TRNTYPE>PAYMENT</TRNTYPE>
- <DTPOSTED>20150504120000</DTPOSTED>
- <DTUSER>20150504120000</DTUSER>
- <TRNAMT>-1020.88</TRNAMT>
- <FITID>201505041</FITID>
- <CHECKNUM>0390003</CHECKNUM>
- <NAME>PAGAMENTO TITULO-CNB </NAME>
- <MEMO>PAGAMENTO TITULO-CNB </MEMO>
- </STMTTRN>
-
- <STMTTRN>
- <TRNTYPE>PAYMENT</TRNTYPE>
- <DTPOSTED>20150505120000</DTPOSTED>
- <DTUSER>20150505120000</DTUSER>
- <TRNAMT>-82.10</TRNAMT>
- <FITID>201505051</FITID>
- <CHECKNUM>0000000</CHECKNUM>
- <NAME>TAR PACOTE MENSAL </NAME>
- <MEMO>TAR PACOTE MENSAL </MEMO>
- </STMTTRN>
-
- </BANKTRANLIST>
- <LEDGERBAL>
- <BALAMT>3806.63</BALAMT>
- <DTASOF>20150507164333.980[-0300:BRT]</DTASOF>
- </LEDGERBAL>
- <AVAILBAL>
- <BALAMT>3806.63</BALAMT>
- <DTASOF>20150507164333.980[-0300:BRT]</DTASOF>
- </AVAILBAL>
- </STMTRS>
- </STMTTRNRS>
- </BANKMSGSRSV1>
-</OFX>
diff --git a/spec/fixtures/v211.ofx b/spec/fixtures/v211.ofx
deleted file mode 100644
index 48306f0..0000000
--- a/spec/fixtures/v211.ofx
+++ /dev/null
@@ -1,85 +0,0 @@
-<?xml version="1.0" encoding="US-ASCII"?>
-
-<!-- This example is taken from the 2.1.1 specification, pages 610-612 -->
-<?OFX OFXHEADER="200" VERSION="211" SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE"?>
-<OFX>
- <SIGNONMSGSRSV1>
- <SONRS>
- <STATUS>
- <CODE>0</CODE>
- <SEVERITY>INFO</SEVERITY>
- </STATUS>
- <DTSERVER>20050831165153.000[-8:PST]</DTSERVER>
- <LANGUAGE>ENG</LANGUAGE>
- </SONRS>
- </SIGNONMSGSRSV1>
- <BANKMSGSRSV1>
- <STMTTRNRS>
- <TRNUID>0</TRNUID>
- <STATUS>
- <CODE>0</CODE>
- <SEVERITY>INFO</SEVERITY>
- </STATUS>
- <STMTRS>
- <CURDEF>USD</CURDEF>
- <BANKACCTFROM>
- <BANKID>000000123</BANKID>
- <ACCTID>123456</ACCTID>
- <ACCTTYPE>CHECKING</ACCTTYPE>
- </BANKACCTFROM>
- <BANKTRANLIST>
- <DTSTART>20040801</DTSTART>
- <DTEND>20050831165153.000[-8:PST]</DTEND>
- <STMTTRN>
- <TRNTYPE>POS</TRNTYPE>
- <DTPOSTED>20050824080000</DTPOSTED>
- <TRNAMT>-80</TRNAMT>
- <FITID>219378</FITID>
- <NAME>FrogKick Scuba Gear</NAME>
- </STMTTRN>
- </BANKTRANLIST>
- <LEDGERBAL>
- <BALAMT>2156.56</BALAMT>
- <DTASOF>20050831165153</DTASOF>
- </LEDGERBAL>
- </STMTRS>
- </STMTTRNRS>
- </BANKMSGSRSV1>
- <CREDITCARDMSGSRSV1>
- <CCSTMTTRNRS>
- <TRNUID>0</TRNUID>
- <STATUS>
- <CODE>0</CODE>
- <SEVERITY>INFO</SEVERITY>
- </STATUS>
- <CCSTMTRS>
- <CURDEF>USD</CURDEF>
- <CCACCTFROM>
- <ACCTID>123412341234</ACCTID>
- </CCACCTFROM>
- <BANKTRANLIST>
- <DTSTART>20050801</DTSTART>
- <DTEND>20050831165153.000[-8:PST]</DTEND>
- <STMTTRN>
- <TRNTYPE>INT</TRNTYPE>
- <DTPOSTED>20050811080000</DTPOSTED>
- <TRNAMT>-23.00</TRNAMT>
- <FITID>219867</FITID>
- <NAME>Interest Charge</NAME>
- </STMTTRN>
- <STMTTRN>
- <TRNTYPE>CREDIT</TRNTYPE>
- <DTPOSTED>20050811080000</DTPOSTED>
- <TRNAMT>350.00</TRNAMT>
- <FITID>219868</FITID>
- <NAME>Payment - Thank You</NAME>
- </STMTTRN>
- </BANKTRANLIST>
- <LEDGERBAL>
- <BALAMT>-562.00</BALAMT>
- <DTASOF>20050831165153</DTASOF>
- </LEDGERBAL>
- </CCSTMTRS>
- </CCSTMTTRNRS>
- </CREDITCARDMSGSRSV1>
-</OFX>
diff --git a/spec/ofx/ofx_parser_spec.rb b/spec/ofx/ofx_parser_spec.rb
index 6e8968b..968cd65 100644
--- a/spec/ofx/ofx_parser_spec.rb
+++ b/spec/ofx/ofx_parser_spec.rb
@@ -101,15 +101,17 @@ describe OFX::Parser do
end
it "should parse headers with CR and without LF" do
- header = %{OFXHEADER:100\rDATA:OFXSGML\rVERSION:102\rSECURITY:NONE\rENCODING:USASCII\rCHARSET:1252\rCOMPRESSION:NONE\rOLDFILEUID:NONE\rNEWFILEUID:NONE\r}
- body = open("spec/fixtures/sample.ofx").read.split(/<OFX>/, 2)[1]
- ofx_with_carriage_return = header + "<OFX>" + body
-
@ofx = OFX::Parser::Base.new(ofx_with_carriage_return)
@ofx.headers.size.should be(9)
end
end
+ def ofx_with_carriage_return
+ header = %{OFXHEADER:100\rDATA:OFXSGML\rVERSION:102\rSECURITY:NONE\rENCODING:USASCII\rCHARSET:1252\rCOMPRESSION:NONE\rOLDFILEUID:NONE\rNEWFILEUID:NONE\r}
+ body = open("spec/fixtures/sample.ofx").read.split(/<OFX>/, 2)[1]
+ header + "<OFX>" + body
+ end
+
def ofx_2_example(version)
<<-EndOfx
<?xml version="1.0" encoding="US-ASCII"?>
diff --git a/spec/ofx/transaction_spec.rb b/spec/ofx/transaction_spec.rb
index 32709c2..6831ce4 100644
--- a/spec/ofx/transaction_spec.rb
+++ b/spec/ofx/transaction_spec.rb
@@ -13,43 +13,43 @@ describe OFX::Transaction do
end
it "should set amount" do
- expect(@transaction.amount).to eql BigDecimal('-35.34')
+ @transaction.amount.should == BigDecimal('-35.34')
end
it "should cast amount to BigDecimal" do
- expect(@transaction.amount.class).to be BigDecimal
+ @transaction.amount.class.should == BigDecimal
end
it "should set amount in pennies" do
- expect(@transaction.amount_in_pennies).to eql -3534
+ @transaction.amount_in_pennies.should == -3534
end
it "should set fit id" do
- expect(@transaction.fit_id).to eql "200910091"
+ @transaction.fit_id.should == "200910091"
end
it "should set memo" do
- expect(@transaction.memo).to eql "COMPRA VISA ELECTRON"
+ @transaction.memo.should == "COMPRA VISA ELECTRON"
end
it "should set check number" do
- expect(@transaction.check_number).to eql "0001223"
+ @transaction.check_number.should == "0001223"
end
it "should have date" do
- expect(@transaction.posted_at).to eql Time.parse("2009-10-09 08:00:00 +0000")
+ @transaction.posted_at.should == Time.parse("2009-10-09 08:00:00 +0000")
end
it 'should have user date' do
- expect(@transaction.occurred_at).to eql Time.parse("2009-09-09 08:00:00 +0000")
+ @transaction.occurred_at.should == Time.parse("2009-09-09 08:00:00 +0000")
end
it "should have type" do
- expect(@transaction.type).to eql :debit
+ @transaction.type.should == :debit
end
it "should have sic" do
- expect(@transaction.sic).to eql '5072'
+ @transaction.sic.should == '5072'
end
end
@@ -59,39 +59,39 @@ describe OFX::Transaction do
end
it "should set amount" do
- expect(@transaction.amount).to eql BigDecimal('60.39')
+ @transaction.amount.should == BigDecimal('60.39')
end
it "should set amount in pennies" do
- expect(@transaction.amount_in_pennies).to eql 6039
+ @transaction.amount_in_pennies.should == 6039
end
it "should set fit id" do
- expect(@transaction.fit_id).to eql "200910162"
+ @transaction.fit_id.should == "200910162"
end
it "should set memo" do
- expect(@transaction.memo).to eql "DEPOSITO POUP.CORRENTE"
+ @transaction.memo.should == "DEPOSITO POUP.CORRENTE"
end
it "should set check number" do
- expect(@transaction.check_number).to eql "0880136"
+ @transaction.check_number.should == "0880136"
end
it "should have date" do
- expect(@transaction.posted_at).to eql Time.parse("2009-10-16 08:00:00 +0000")
+ @transaction.posted_at.should == Time.parse("2009-10-16 08:00:00 +0000")
end
it "should have user date" do
- expect(@transaction.occurred_at).to eql Time.parse("2009-09-16 08:00:00 +0000")
+ @transaction.occurred_at.should == Time.parse("2009-09-16 08:00:00 +0000")
end
it "should have type" do
- expect(@transaction.type).to eql :credit
+ @transaction.type.should == :credit
end
it "should have empty sic" do
- expect(@transaction.sic).to eql ''
+ @transaction.sic.should == ''
end
end
@@ -101,27 +101,27 @@ describe OFX::Transaction do
end
it "should set payee" do
- expect(@transaction.payee).to eql "Pagto conta telefone"
+ @transaction.payee.should == "Pagto conta telefone"
end
it "should set check number" do
- expect(@transaction.check_number).to eql "000000101901"
+ @transaction.check_number.should == "000000101901"
end
it "should have date" do
- expect(@transaction.posted_at).to eql Time.parse("2009-10-19 12:00:00 -0300")
+ @transaction.posted_at.should == Time.parse("2009-10-19 12:00:00 -0300")
end
it "should have user date" do
- expect(@transaction.occurred_at).to eql Time.parse("2009-10-17 12:00:00 -0300")
+ @transaction.occurred_at.should == Time.parse("2009-10-17 12:00:00 -0300")
end
it "should have type" do
- expect(@transaction.type).to eql :other
+ @transaction.type.should == :other
end
it "should have reference number" do
- expect(@transaction.ref_number).to eql "101.901"
+ @transaction.ref_number.should == "101.901"
end
end
@@ -131,7 +131,7 @@ describe OFX::Transaction do
end
it "should set name" do
- expect(@transaction.name).to eql "Pagto conta telefone"
+ @transaction.name.should == "Pagto conta telefone"
end
end
@@ -144,22 +144,22 @@ describe OFX::Transaction do
it "should return dep" do
@transaction = @account.transactions[9]
- expect(@transaction.type).to eql :dep
+ @transaction.type.should == :dep
end
it "should return xfer" do
@transaction = @account.transactions[18]
- expect(@transaction.type).to eql :xfer
+ @transaction.type.should == :xfer
end
it "should return cash" do
@transaction = @account.transactions[45]
- expect(@transaction.type).to eql :cash
+ @transaction.type.should == :cash
end
it "should return check" do
@transaction = @account.transactions[0]
- expect(@transaction.type).to eql :check
+ @transaction.type.should == :check
end
end
@@ -176,11 +176,11 @@ describe OFX::Transaction do
end
it "should set amount" do
- expect(@transaction.amount).to eql BigDecimal('-11.76')
+ @transaction.amount.should == BigDecimal('-11.76')
end
it "should set amount in pennies" do
- expect(@transaction.amount_in_pennies).to eql -1176
+ @transaction.amount_in_pennies.should == -1176
end
end
@@ -190,31 +190,12 @@ describe OFX::Transaction do
end
it "should set amount" do
- expect(@transaction.amount).to eql BigDecimal('47.01')
+ @transaction.amount.should == BigDecimal('47.01')
end
it "should set amount in pennies" do
- expect(@transaction.amount_in_pennies).to eql 4701
+ @transaction.amount_in_pennies.should == 4701
end
end
end
-
- context "invalid decimal values" do
- before do
- @ofx = OFX::Parser::Base.new("spec/fixtures/cef_malformed_decimal.ofx")
- @parser = @ofx.parser
- end
-
- it "should not raise error" do
- expect { @parser.account.transactions }.to_not raise_error
- end
-
- it "should return zero in amount" do
- expect(@parser.account.transactions[0].amount).to eql BigDecimal('0.0')
- end
-
- it "should return zero in amount_in_pennies" do
- expect(@parser.account.transactions[0].amount_in_pennies).to eql 0
- end
- end
end
diff --git a/spec/spec_helper.rb b/spec/spec_helper.rb
index e4e23b4..003d3e6 100644
--- a/spec/spec_helper.rb
+++ b/spec/spec_helper.rb
@@ -1,5 +1,4 @@
require "ofx"
-require "byebug"
RSpec::Matchers.define :have_key do |key|
match do |hash|
@@ -8,7 +7,3 @@ RSpec::Matchers.define :have_key do |key|
hash.keys.include?(key)
end
end
-
-RSpec.configure do |c|
- c.filter_run_when_matching :focus
-end
--
2.36.2
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment