Created
November 25, 2015 10:37
-
-
Save elandesign/13bf842f349dd9c32187 to your computer and use it in GitHub Desktop.
Script to generate a dummy ofx bank statement
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/usr/bin/env ruby | |
# == Synopsis | |
# Generate a dummy OFX bank transactions file | |
# Depends on nokogiri, faker and pickup gems | |
# OFX format reverse engineered from my Nationwide bank download. YMMV. | |
# | |
# == Usage | |
# ofx-generator [options] > file.ofx | |
# | |
# == Options | |
# -c, --count The number of dummy transactions to generate (average 1 per day) | |
# -f, --from Dated from (3 months ago) | |
# -t, --to Dated to (yesterday) | |
# --currency The bank currency (GBP) | |
# --opening-balance The opening balance (zero) | |
# --bank-id The BANKID (0) | |
# --account-id The ACCTID (****1234) | |
# --account-type The ACCTTYPE (CHECKING) | |
# | |
# == Author | |
# Paul Smith | |
# | |
# == Copyright | |
# Copyright (c) 2007 Paul Smith. Licensed under the MIT License: | |
# http://www.opensource.org/licenses/mit-license.php | |
require 'optparse' | |
require 'ostruct' | |
require 'date' | |
require 'bigdecimal' | |
require 'faker' | |
require 'nokogiri' | |
require 'pickup' | |
class OfxGenerator | |
attr_reader :options | |
DATE_FORMAT = "%Y%m%d%H%M%S.%L[#{Time.now.utc_offset}]" | |
NUMBER_FORMAT = "%.2f" | |
TRANSACTION_TYPES = { | |
"CREDIT" => { :weight => 300, :range => BigDecimal('0.01')..BigDecimal('10000.00') }, | |
"POS" => { :weight => 1000, :range => BigDecimal('-1000.00')..BigDecimal('-0.01') }, | |
"XFER" => { :weight => 100, :range => BigDecimal('-1000.00')..BigDecimal('1000.00') }, | |
"FEE" => { :weight => 10, :range => BigDecimal('-40.00')..BigDecimal('-0.01'), :name => "Bank Fees" }, | |
"DIRECTDEBIT" => { :weight => 10, :range => BigDecimal('-200.00')..BigDecimal('-10.00') } | |
} | |
TRANSACTIONS = Pickup.new(TRANSACTION_TYPES.inject({}) { |weights, (type, options)| weights[type] = options[:weight]; weights }) | |
def initialize(arguments) | |
@arguments = arguments | |
@options = OpenStruct.new | |
@options.verbose = false | |
@options.from = Date.today << 3 | |
@options.to = Date.today - 1 | |
@options.count = nil | |
@options.currency = 'GBP' | |
@options.bankid = 0 | |
@options.acctid = "****1234" | |
@options.accttype = "CHECKING" | |
@options.opening_balance = BigDecimal('0.00') | |
end | |
# Parse options, check arguments, then process the command | |
def run | |
if parsed_options? | |
process_command | |
else | |
output_options | |
end | |
end | |
protected | |
def parsed_options? | |
opts = OptionParser.new | |
opts.on('-V', '--verbose') { @options.verbose = true } | |
opts.on('-c', '--count [NUMBER]') { |count| @options.count = count.to_i } | |
opts.on('-f', '--from [DATE]') { |date| @options.from = Date.parse(date) } | |
opts.on('-t', '--to [DATE]') { |date| @options.to = Date.parse(date) } | |
opts.on('--currency [CURRENCY]') { |currency| @options.currency = currency } | |
opts.on('--opening-balance [BAL]') { |balance| @options.opening_balance = BigDecimal(balance) } | |
opts.on('--bank-id [ID]') { |id| @options.bankid = id } | |
opts.on('--account-id [ID]') { |id| @options.acctid = id } | |
opts.on('--account-type [TYPE]') { |type| @options.accttype = type } | |
opts.parse!(@arguments) rescue return false | |
@options.count ||= (@options.to - @options.from).to_i | |
@date_range = @[email protected] | |
true | |
end | |
def output_options | |
puts "Options:\n" | |
@options.marshal_dump.each do |name, val| | |
puts " #{name} = #{val}" | |
end | |
end | |
def process_command | |
transactions = @options.count.times.collect { build_transaction }.sort { |a, b| a[:date] <=> b[:date] } | |
builder = Nokogiri::XML::Builder.new(:encoding => "utf-8") do |xml| | |
xml << '<?OFX OFXHEADER="200" VERSION="203" SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE"?>' | |
xml.OFX do | |
xml.SIGNONMSGSRSV1 do | |
xml.SONRS do | |
xml.STATUS do | |
xml.CODE 0 | |
xml.SEVERITY 'INFO' | |
end | |
xml.DTSERVER Time.now.strftime(DATE_FORMAT) | |
xml.LANGUAGE 'ENG' | |
end | |
end | |
xml.BANKMSGSRSV1 do | |
xml.STMTTRNRS do | |
xml.TRNUID 'A' | |
xml.STATUS do | |
xml.CODE 0 | |
xml.SEVERITY 'INFO' | |
end | |
xml.STMTRS do | |
xml.CURDEF @options.currency | |
xml.BANKACCTFROM do | |
xml.BANKID @options.bankid | |
xml.ACCTID @options.acctid | |
xml.ACCTTYPE @options.accttype | |
end | |
end | |
xml.BANKTRANLIST do | |
xml.DTSTART @options.from.strftime(DATE_FORMAT) | |
xml.DTEND @options.to.strftime(DATE_FORMAT) | |
transactions.each do |tx| | |
xml.STMTTRN do | |
xml.TRNTYPE tx[:type] | |
xml.DTPOSTED tx[:date].strftime(DATE_FORMAT) | |
xml.TRNAMT NUMBER_FORMAT % tx[:value] | |
xml.FITID fitid(tx) | |
xml.NAME tx[:name] | |
end | |
end | |
end | |
xml.LEDGERBAL do | |
xml.BALAMT NUMBER_FORMAT % (@options.opening_balance + transactions.map { |tx| tx[:value] }.reduce(:+)) | |
xml.DTASOF @options.to.strftime(DATE_FORMAT) | |
end | |
end | |
end | |
end | |
end | |
puts builder.to_xml | |
end | |
def build_transaction | |
type = TRANSACTIONS.pick | |
options = TRANSACTION_TYPES[type] | |
{ | |
:type => type, | |
:value => random_value(options[:range]), | |
:date => rand(@date_range), | |
:name => options[:name] || Faker::Company.name | |
} | |
end | |
def fitid(tx) | |
"00#{tx[:type]}#{tx[:date].strftime('%Y%m%d')}1200000000#{(tx[:value] * 100).to_i}#{tx[:name].gsub(' ', '')}" | |
end | |
def random_value(range) | |
baseline = range.min | |
integer_rage = (range.max - range.min) * 100 | |
pennies = rand(integer_rage) | |
baseline + (BigDecimal(pennies) / BigDecimal('100')) | |
end | |
end | |
app = OfxGenerator.new(ARGV) | |
app.run |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<?xml version="1.0" encoding="utf-8"?> | |
<?OFX OFXHEADER="200" VERSION="203" SECURITY="NONE" OLDFILEUID="NONE" NEWFILEUID="NONE"?> | |
<OFX> | |
<SIGNONMSGSRSV1> | |
<SONRS> | |
<STATUS> | |
<CODE>0</CODE> | |
<SEVERITY>INFO</SEVERITY> | |
</STATUS> | |
<DTSERVER>20151125102949.223[0]</DTSERVER> | |
<LANGUAGE>ENG</LANGUAGE> | |
</SONRS> | |
</SIGNONMSGSRSV1> | |
<BANKMSGSRSV1> | |
<STMTTRNRS> | |
<TRNUID>A</TRNUID> | |
<STATUS> | |
<CODE>0</CODE> | |
<SEVERITY>INFO</SEVERITY> | |
</STATUS> | |
<STMTRS> | |
<CURDEF>GBP</CURDEF> | |
<BANKACCTFROM> | |
<BANKID>0</BANKID> | |
<ACCTID>****1234</ACCTID> | |
<ACCTTYPE>CHECKING</ACCTTYPE> | |
</BANKACCTFROM> | |
</STMTRS> | |
<BANKTRANLIST> | |
<DTSTART>20150825000000.000[0]</DTSTART> | |
<DTEND>20151124000000.000[0]</DTEND> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150825000000.000[0]</DTPOSTED> | |
<TRNAMT>-496.68</TRNAMT> | |
<FITID>00POS201508251200000000-49668WunschGroup</FITID> | |
<NAME>Wunsch Group</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150826000000.000[0]</DTPOSTED> | |
<TRNAMT>-410.15</TRNAMT> | |
<FITID>00POS201508261200000000-41015Auer-Daugherty</FITID> | |
<NAME>Auer-Daugherty</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150826000000.000[0]</DTPOSTED> | |
<TRNAMT>-445.30</TRNAMT> | |
<FITID>00POS201508261200000000-44530HarveyInc</FITID> | |
<NAME>Harvey Inc</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>XFER</TRNTYPE> | |
<DTPOSTED>20150831000000.000[0]</DTPOSTED> | |
<TRNAMT>-583.22</TRNAMT> | |
<FITID>00XFER201508311200000000-58322BartonGroup</FITID> | |
<NAME>Barton Group</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150831000000.000[0]</DTPOSTED> | |
<TRNAMT>-538.91</TRNAMT> | |
<FITID>00POS201508311200000000-53891Towne-Collier</FITID> | |
<NAME>Towne-Collier</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20150901000000.000[0]</DTPOSTED> | |
<TRNAMT>32.17</TRNAMT> | |
<FITID>00CREDIT2015090112000000003217Quigley,KundeandGibson</FITID> | |
<NAME>Quigley, Kunde and Gibson</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150903000000.000[0]</DTPOSTED> | |
<TRNAMT>-988.53</TRNAMT> | |
<FITID>00POS201509031200000000-98853PurdyLLC</FITID> | |
<NAME>Purdy LLC</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150904000000.000[0]</DTPOSTED> | |
<TRNAMT>-918.21</TRNAMT> | |
<FITID>00POS201509041200000000-91821BeattyandSons</FITID> | |
<NAME>Beatty and Sons</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20150905000000.000[0]</DTPOSTED> | |
<TRNAMT>5279.30</TRNAMT> | |
<FITID>00CREDIT201509051200000000527930KlockoInc</FITID> | |
<NAME>Klocko Inc</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150906000000.000[0]</DTPOSTED> | |
<TRNAMT>-510.11</TRNAMT> | |
<FITID>00POS201509061200000000-51011Reichel,ArmstrongandFerry</FITID> | |
<NAME>Reichel, Armstrong and Ferry</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150906000000.000[0]</DTPOSTED> | |
<TRNAMT>-88.45</TRNAMT> | |
<FITID>00POS201509061200000000-8845Pacocha-Rempel</FITID> | |
<NAME>Pacocha-Rempel</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>XFER</TRNTYPE> | |
<DTPOSTED>20150907000000.000[0]</DTPOSTED> | |
<TRNAMT>-356.19</TRNAMT> | |
<FITID>00XFER201509071200000000-35619Conroy-Ledner</FITID> | |
<NAME>Conroy-Ledner</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150907000000.000[0]</DTPOSTED> | |
<TRNAMT>-876.03</TRNAMT> | |
<FITID>00POS201509071200000000-87603Altenwerth-Kunze</FITID> | |
<NAME>Altenwerth-Kunze</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150908000000.000[0]</DTPOSTED> | |
<TRNAMT>-910.35</TRNAMT> | |
<FITID>00POS201509081200000000-91035Wilkinson,RosenbaumandAbernathy</FITID> | |
<NAME>Wilkinson, Rosenbaum and Abernathy</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150909000000.000[0]</DTPOSTED> | |
<TRNAMT>-282.08</TRNAMT> | |
<FITID>00POS201509091200000000-28208Moen-Murphy</FITID> | |
<NAME>Moen-Murphy</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150911000000.000[0]</DTPOSTED> | |
<TRNAMT>-352.41</TRNAMT> | |
<FITID>00POS201509111200000000-35241SauerLLC</FITID> | |
<NAME>Sauer LLC</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150913000000.000[0]</DTPOSTED> | |
<TRNAMT>-227.82</TRNAMT> | |
<FITID>00POS201509131200000000-22782RunolfssonInc</FITID> | |
<NAME>Runolfsson Inc</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150914000000.000[0]</DTPOSTED> | |
<TRNAMT>-771.85</TRNAMT> | |
<FITID>00POS201509141200000000-77185HamillLLC</FITID> | |
<NAME>Hamill LLC</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150915000000.000[0]</DTPOSTED> | |
<TRNAMT>-51.65</TRNAMT> | |
<FITID>00POS201509151200000000-5165Sanford-Mann</FITID> | |
<NAME>Sanford-Mann</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150915000000.000[0]</DTPOSTED> | |
<TRNAMT>-423.56</TRNAMT> | |
<FITID>00POS201509151200000000-42356Wisozk,ZulaufandMcDermott</FITID> | |
<NAME>Wisozk, Zulauf and McDermott</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150916000000.000[0]</DTPOSTED> | |
<TRNAMT>-616.37</TRNAMT> | |
<FITID>00POS201509161200000000-61637Christiansen-Strosin</FITID> | |
<NAME>Christiansen-Strosin</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20150918000000.000[0]</DTPOSTED> | |
<TRNAMT>1813.73</TRNAMT> | |
<FITID>00CREDIT201509181200000000181373Wisozk-Kris</FITID> | |
<NAME>Wisozk-Kris</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20150921000000.000[0]</DTPOSTED> | |
<TRNAMT>304.92</TRNAMT> | |
<FITID>00CREDIT20150921120000000030492Quitzon,StrosinandBalistreri</FITID> | |
<NAME>Quitzon, Strosin and Balistreri</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150923000000.000[0]</DTPOSTED> | |
<TRNAMT>-746.03</TRNAMT> | |
<FITID>00POS201509231200000000-74603PadbergGroup</FITID> | |
<NAME>Padberg Group</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>XFER</TRNTYPE> | |
<DTPOSTED>20150923000000.000[0]</DTPOSTED> | |
<TRNAMT>932.89</TRNAMT> | |
<FITID>00XFER20150923120000000093289BergstromLLC</FITID> | |
<NAME>Bergstrom LLC</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150924000000.000[0]</DTPOSTED> | |
<TRNAMT>-419.55</TRNAMT> | |
<FITID>00POS201509241200000000-41955Lowe-Grant</FITID> | |
<NAME>Lowe-Grant</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20150925000000.000[0]</DTPOSTED> | |
<TRNAMT>4819.31</TRNAMT> | |
<FITID>00CREDIT201509251200000000481931Stiedemann-Will</FITID> | |
<NAME>Stiedemann-Will</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150925000000.000[0]</DTPOSTED> | |
<TRNAMT>-260.85</TRNAMT> | |
<FITID>00POS201509251200000000-26085Haley,JacobiandSporer</FITID> | |
<NAME>Haley, Jacobi and Sporer</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20150925000000.000[0]</DTPOSTED> | |
<TRNAMT>7433.99</TRNAMT> | |
<FITID>00CREDIT201509251200000000743399O'Reilly,HammesandJenkins</FITID> | |
<NAME>O'Reilly, Hammes and Jenkins</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150926000000.000[0]</DTPOSTED> | |
<TRNAMT>-431.61</TRNAMT> | |
<FITID>00POS201509261200000000-43161Heathcote,KilbackandRuecker</FITID> | |
<NAME>Heathcote, Kilback and Ruecker</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150926000000.000[0]</DTPOSTED> | |
<TRNAMT>-6.52</TRNAMT> | |
<FITID>00POS201509261200000000-652MarquardtInc</FITID> | |
<NAME>Marquardt Inc</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150927000000.000[0]</DTPOSTED> | |
<TRNAMT>-450.53</TRNAMT> | |
<FITID>00POS201509271200000000-45053Murray,PfannerstillandGleason</FITID> | |
<NAME>Murray, Pfannerstill and Gleason</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150927000000.000[0]</DTPOSTED> | |
<TRNAMT>-594.73</TRNAMT> | |
<FITID>00POS201509271200000000-59473Botsford-Balistreri</FITID> | |
<NAME>Botsford-Balistreri</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150928000000.000[0]</DTPOSTED> | |
<TRNAMT>-402.60</TRNAMT> | |
<FITID>00POS201509281200000000-40260Morar-Lang</FITID> | |
<NAME>Morar-Lang</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20150929000000.000[0]</DTPOSTED> | |
<TRNAMT>-913.94</TRNAMT> | |
<FITID>00POS201509291200000000-91394Quigley,StreichandMraz</FITID> | |
<NAME>Quigley, Streich and Mraz</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>XFER</TRNTYPE> | |
<DTPOSTED>20150929000000.000[0]</DTPOSTED> | |
<TRNAMT>-375.82</TRNAMT> | |
<FITID>00XFER201509291200000000-37582Smith-Nienow</FITID> | |
<NAME>Smith-Nienow</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151002000000.000[0]</DTPOSTED> | |
<TRNAMT>-593.11</TRNAMT> | |
<FITID>00POS201510021200000000-59311Kiehn-Glover</FITID> | |
<NAME>Kiehn-Glover</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151004000000.000[0]</DTPOSTED> | |
<TRNAMT>-110.17</TRNAMT> | |
<FITID>00POS201510041200000000-11017KesslerInc</FITID> | |
<NAME>Kessler Inc</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151004000000.000[0]</DTPOSTED> | |
<TRNAMT>-855.20</TRNAMT> | |
<FITID>00POS201510041200000000-85520Bergnaum,BuckridgeandRohan</FITID> | |
<NAME>Bergnaum, Buckridge and Rohan</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151005000000.000[0]</DTPOSTED> | |
<TRNAMT>-775.09</TRNAMT> | |
<FITID>00POS201510051200000000-77509Hauck-Kilback</FITID> | |
<NAME>Hauck-Kilback</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151006000000.000[0]</DTPOSTED> | |
<TRNAMT>-473.44</TRNAMT> | |
<FITID>00POS201510061200000000-47344Rippin-Wilderman</FITID> | |
<NAME>Rippin-Wilderman</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151007000000.000[0]</DTPOSTED> | |
<TRNAMT>-841.22</TRNAMT> | |
<FITID>00POS201510071200000000-84122GorczanyInc</FITID> | |
<NAME>Rippin-Wilderman</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151007000000.000[0]</DTPOSTED> | |
<TRNAMT>-721.88</TRNAMT> | |
<FITID>00POS201510071200000000-72188Ondricka,BlickandMurazik</FITID> | |
<NAME>Rippin-Wilderman</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151007000000.000[0]</DTPOSTED> | |
<TRNAMT>-284.86</TRNAMT> | |
<FITID>00POS201510071200000000-28486MacejkovicInc</FITID> | |
<NAME>Rippin-Wilderman</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20151009000000.000[0]</DTPOSTED> | |
<TRNAMT>6061.29</TRNAMT> | |
<FITID>00CREDIT201510091200000000606129Bogisich,JohnsonandMarks</FITID> | |
<NAME>Rippin-Wilderman</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20151009000000.000[0]</DTPOSTED> | |
<TRNAMT>7687.31</TRNAMT> | |
<FITID>00CREDIT201510091200000000768731Kutch-Stoltenberg</FITID> | |
<NAME>Kutch-Stoltenberg</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151010000000.000[0]</DTPOSTED> | |
<TRNAMT>-827.78</TRNAMT> | |
<FITID>00POS201510101200000000-82778MoenandSons</FITID> | |
<NAME>Moen and Sons</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151014000000.000[0]</DTPOSTED> | |
<TRNAMT>-465.74</TRNAMT> | |
<FITID>00POS201510141200000000-46574SchillerInc</FITID> | |
<NAME>Schiller Inc</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151014000000.000[0]</DTPOSTED> | |
<TRNAMT>-256.92</TRNAMT> | |
<FITID>00POS201510141200000000-25692HammesInc</FITID> | |
<NAME>Hammes Inc</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151015000000.000[0]</DTPOSTED> | |
<TRNAMT>-464.69</TRNAMT> | |
<FITID>00POS201510151200000000-46469LynchandSons</FITID> | |
<NAME>Lynch and Sons</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151015000000.000[0]</DTPOSTED> | |
<TRNAMT>-930.35</TRNAMT> | |
<FITID>00POS201510151200000000-93035Kunde-Bauch</FITID> | |
<NAME>Kunde-Bauch</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151016000000.000[0]</DTPOSTED> | |
<TRNAMT>-799.87</TRNAMT> | |
<FITID>00POS201510161200000000-79987Boyle-Pfeffer</FITID> | |
<NAME>Boyle-Pfeffer</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151016000000.000[0]</DTPOSTED> | |
<TRNAMT>-966.05</TRNAMT> | |
<FITID>00POS201510161200000000-96605ThielLLC</FITID> | |
<NAME>Thiel LLC</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20151017000000.000[0]</DTPOSTED> | |
<TRNAMT>7297.48</TRNAMT> | |
<FITID>00CREDIT201510171200000000729748Littel,RippinandSipes</FITID> | |
<NAME>Littel, Rippin and Sipes</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151017000000.000[0]</DTPOSTED> | |
<TRNAMT>-830.82</TRNAMT> | |
<FITID>00POS201510171200000000-83082Kshlerin-Daniel</FITID> | |
<NAME>Kshlerin-Daniel</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20151019000000.000[0]</DTPOSTED> | |
<TRNAMT>4267.86</TRNAMT> | |
<FITID>00CREDIT201510191200000000426786Konopelski,SchmittandGraham</FITID> | |
<NAME>Konopelski, Schmitt and Graham</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151020000000.000[0]</DTPOSTED> | |
<TRNAMT>-199.41</TRNAMT> | |
<FITID>00POS201510201200000000-19941Streich,LuettgenandStamm</FITID> | |
<NAME>Streich, Luettgen and Stamm</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20151023000000.000[0]</DTPOSTED> | |
<TRNAMT>6092.29</TRNAMT> | |
<FITID>00CREDIT201510231200000000609229HeathcoteInc</FITID> | |
<NAME>Heathcote Inc</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20151023000000.000[0]</DTPOSTED> | |
<TRNAMT>1159.46</TRNAMT> | |
<FITID>00CREDIT201510231200000000115946EmardandSons</FITID> | |
<NAME>Emard and Sons</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>XFER</TRNTYPE> | |
<DTPOSTED>20151024000000.000[0]</DTPOSTED> | |
<TRNAMT>617.03</TRNAMT> | |
<FITID>00XFER20151024120000000061703GoyetteGroup</FITID> | |
<NAME>Goyette Group</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151024000000.000[0]</DTPOSTED> | |
<TRNAMT>-313.96</TRNAMT> | |
<FITID>00POS201510241200000000-31396Predovic-Flatley</FITID> | |
<NAME>Predovic-Flatley</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151024000000.000[0]</DTPOSTED> | |
<TRNAMT>-450.02</TRNAMT> | |
<FITID>00POS201510241200000000-45002White,CronaandBeer</FITID> | |
<NAME>White, Crona and Beer</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151026000000.000[0]</DTPOSTED> | |
<TRNAMT>-305.35</TRNAMT> | |
<FITID>00POS201510261200000000-30535TerryInc</FITID> | |
<NAME>Terry Inc</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151026000000.000[0]</DTPOSTED> | |
<TRNAMT>-609.14</TRNAMT> | |
<FITID>00POS201510261200000000-60914Murphy-Veum</FITID> | |
<NAME>Murphy-Veum</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20151026000000.000[0]</DTPOSTED> | |
<TRNAMT>6895.99</TRNAMT> | |
<FITID>00CREDIT201510261200000000689599JerdeLLC</FITID> | |
<NAME>Jerde LLC</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151027000000.000[0]</DTPOSTED> | |
<TRNAMT>-108.46</TRNAMT> | |
<FITID>00POS201510271200000000-10846SatterfieldandSons</FITID> | |
<NAME>Satterfield and Sons</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151029000000.000[0]</DTPOSTED> | |
<TRNAMT>-181.56</TRNAMT> | |
<FITID>00POS201510291200000000-18156RohanandSons</FITID> | |
<NAME>Rohan and Sons</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151031000000.000[0]</DTPOSTED> | |
<TRNAMT>-923.00</TRNAMT> | |
<FITID>00POS201510311200000000-92300ParisianandSons</FITID> | |
<NAME>Parisian and Sons</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20151031000000.000[0]</DTPOSTED> | |
<TRNAMT>5573.73</TRNAMT> | |
<FITID>00CREDIT201510311200000000557373KochGroup</FITID> | |
<NAME>Koch Group</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>XFER</TRNTYPE> | |
<DTPOSTED>20151031000000.000[0]</DTPOSTED> | |
<TRNAMT>-212.64</TRNAMT> | |
<FITID>00XFER201510311200000000-21264CroninandSons</FITID> | |
<NAME>Cronin and Sons</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151103000000.000[0]</DTPOSTED> | |
<TRNAMT>-677.40</TRNAMT> | |
<FITID>00POS201511031200000000-67740ReichelLLC</FITID> | |
<NAME>Reichel LLC</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151103000000.000[0]</DTPOSTED> | |
<TRNAMT>-176.09</TRNAMT> | |
<FITID>00POS201511031200000000-17609Will-Lesch</FITID> | |
<NAME>Will-Lesch</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20151105000000.000[0]</DTPOSTED> | |
<TRNAMT>389.12</TRNAMT> | |
<FITID>00CREDIT20151105120000000038912VonRueden,OrnandKuhic</FITID> | |
<NAME>VonRueden, Orn and Kuhic</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20151105000000.000[0]</DTPOSTED> | |
<TRNAMT>1818.27</TRNAMT> | |
<FITID>00CREDIT201511051200000000181827Ratke,KossandRath</FITID> | |
<NAME>Ratke, Koss and Rath</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151106000000.000[0]</DTPOSTED> | |
<TRNAMT>-986.56</TRNAMT> | |
<FITID>00POS201511061200000000-98656NienowLLC</FITID> | |
<NAME>Nienow LLC</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151106000000.000[0]</DTPOSTED> | |
<TRNAMT>-84.26</TRNAMT> | |
<FITID>00POS201511061200000000-8426Will,BlickandTorphy</FITID> | |
<NAME>Will, Blick and Torphy</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>FEE</TRNTYPE> | |
<DTPOSTED>20151110000000.000[0]</DTPOSTED> | |
<TRNAMT>-17.40</TRNAMT> | |
<FITID>00FEE201511101200000000-1740BankFees</FITID> | |
<NAME>Bank Fees</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151111000000.000[0]</DTPOSTED> | |
<TRNAMT>-537.30</TRNAMT> | |
<FITID>00POS201511111200000000-53730Kuhic-Nikolaus</FITID> | |
<NAME>Kuhic-Nikolaus</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151111000000.000[0]</DTPOSTED> | |
<TRNAMT>-773.33</TRNAMT> | |
<FITID>00POS201511111200000000-77333Hessel,SchneiderandWatsica</FITID> | |
<NAME>Hessel, Schneider and Watsica</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151112000000.000[0]</DTPOSTED> | |
<TRNAMT>-527.10</TRNAMT> | |
<FITID>00POS201511121200000000-52710BauchGroup</FITID> | |
<NAME>Bauch Group</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151114000000.000[0]</DTPOSTED> | |
<TRNAMT>-741.58</TRNAMT> | |
<FITID>00POS201511141200000000-74158RunolfsdottirandSons</FITID> | |
<NAME>Runolfsdottir and Sons</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151115000000.000[0]</DTPOSTED> | |
<TRNAMT>-349.48</TRNAMT> | |
<FITID>00POS201511151200000000-34948Murphy-Bergstrom</FITID> | |
<NAME>Murphy-Bergstrom</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151116000000.000[0]</DTPOSTED> | |
<TRNAMT>-734.70</TRNAMT> | |
<FITID>00POS201511161200000000-73470FerryandSons</FITID> | |
<NAME>Ferry and Sons</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151116000000.000[0]</DTPOSTED> | |
<TRNAMT>-228.60</TRNAMT> | |
<FITID>00POS201511161200000000-22860ParisianLLC</FITID> | |
<NAME>Parisian LLC</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151116000000.000[0]</DTPOSTED> | |
<TRNAMT>-779.38</TRNAMT> | |
<FITID>00POS201511161200000000-77938Strosin-Nikolaus</FITID> | |
<NAME>Strosin-Nikolaus</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151117000000.000[0]</DTPOSTED> | |
<TRNAMT>-596.81</TRNAMT> | |
<FITID>00POS201511171200000000-59681Wuckert-Ortiz</FITID> | |
<NAME>Wuckert-Ortiz</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151118000000.000[0]</DTPOSTED> | |
<TRNAMT>-948.01</TRNAMT> | |
<FITID>00POS201511181200000000-94801Franecki,KubandMohr</FITID> | |
<NAME>Franecki, Kub and Mohr</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151119000000.000[0]</DTPOSTED> | |
<TRNAMT>-441.39</TRNAMT> | |
<FITID>00POS201511191200000000-44139Kertzmann-Hilll</FITID> | |
<NAME>Kertzmann-Hilll</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>CREDIT</TRNTYPE> | |
<DTPOSTED>20151121000000.000[0]</DTPOSTED> | |
<TRNAMT>1741.43</TRNAMT> | |
<FITID>00CREDIT201511211200000000174143Zemlak-Effertz</FITID> | |
<NAME>Zemlak-Effertz</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>XFER</TRNTYPE> | |
<DTPOSTED>20151122000000.000[0]</DTPOSTED> | |
<TRNAMT>900.08</TRNAMT> | |
<FITID>00XFER20151122120000000090008Rutherford,DickinsonandBashirian</FITID> | |
<NAME>Rutherford, Dickinson and Bashirian</NAME> | |
</STMTTRN> | |
<STMTTRN> | |
<TRNTYPE>POS</TRNTYPE> | |
<DTPOSTED>20151124000000.000[0]</DTPOSTED> | |
<TRNAMT>-855.56</TRNAMT> | |
<FITID>00POS201511241200000000-85556Corkery-Quitzon</FITID> | |
<NAME>Corkery-Quitzon</NAME> | |
</STMTTRN> | |
</BANKTRANLIST> | |
<LEDGERBAL> | |
<BALAMT>33711.92</BALAMT> | |
<DTASOF>20151124000000.000[0]</DTASOF> | |
</LEDGERBAL> | |
</STMTTRNRS> | |
</BANKMSGSRSV1> | |
</OFX> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment