qonto_ofx 1.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (99) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +2 -0
  3. data/.rubocop.yml +1 -0
  4. data/.rubocop_todo.yml +68 -0
  5. data/Gemfile +6 -0
  6. data/Gemfile.lock +60 -0
  7. data/LICENSE.txt +21 -0
  8. data/README.md +34 -0
  9. data/Rakefile +11 -0
  10. data/bin/qonto_ofx +24 -0
  11. data/bin/setup +8 -0
  12. data/lib/api_gateway.rb +47 -0
  13. data/lib/base_validator.rb +17 -0
  14. data/lib/converter.rb +158 -0
  15. data/lib/ofx_validator.rb +17 -0
  16. data/lib/organization_validator.rb +17 -0
  17. data/lib/qonto_ofx/version.rb +3 -0
  18. data/lib/transactions_listing_validator.rb +17 -0
  19. data/qonto_ofx.gemspec +32 -0
  20. data/qonto_organization_schema.json +63 -0
  21. data/qonto_transactions_schema.json +175 -0
  22. data/schema/.DS_Store +0 -0
  23. data/schema/OFX2_Protocol.xsd +783 -0
  24. data/schema/OFX3_Protocol_dotNET.xsd +691 -0
  25. data/schema/OFX_Banking.xsd +119 -0
  26. data/schema/OFX_Banking_Message_Wrappers.xsd +399 -0
  27. data/schema/OFX_Banking_Messages.xsd +431 -0
  28. data/schema/OFX_BillPay.xsd +223 -0
  29. data/schema/OFX_BillPay_Message_Wrappers.xsd +343 -0
  30. data/schema/OFX_BillPay_Messages.xsd +412 -0
  31. data/schema/OFX_BillerDelivery.xsd +263 -0
  32. data/schema/OFX_BillerDelivery_Message_Wrappers.xsd +295 -0
  33. data/schema/OFX_BillerDelivery_Messages.xsd +259 -0
  34. data/schema/OFX_BillerDirectory.xsd +132 -0
  35. data/schema/OFX_BillerDirectory_Message_Wrappers.xsd +56 -0
  36. data/schema/OFX_BillerDirectory_Messages.xsd +86 -0
  37. data/schema/OFX_Common.xsd +2329 -0
  38. data/schema/OFX_CreditCard.xsd +45 -0
  39. data/schema/OFX_CreditCard_Message_Wrappers.xsd +88 -0
  40. data/schema/OFX_CreditCard_Messages.xsd +102 -0
  41. data/schema/OFX_Email.xsd +25 -0
  42. data/schema/OFX_Email_Message_Wrappers.xsd +129 -0
  43. data/schema/OFX_Email_Messages.xsd +72 -0
  44. data/schema/OFX_Image_Message_Wrappers.xsd +31 -0
  45. data/schema/OFX_Image_Messages.xsd +35 -0
  46. data/schema/OFX_InterTransfer.xsd +24 -0
  47. data/schema/OFX_InterTransfer_Message_Wrappers.xsd +195 -0
  48. data/schema/OFX_InterTransfer_Messages.xsd +256 -0
  49. data/schema/OFX_Investment.xsd +1358 -0
  50. data/schema/OFX_Investment_Message_Wrappers.xsd +162 -0
  51. data/schema/OFX_Investment_Messages.xsd +149 -0
  52. data/schema/OFX_Loan_Message_Wrappers.xsd +1 -0
  53. data/schema/OFX_Loan_Messages.xsd +124 -0
  54. data/schema/OFX_Loans.xsd +200 -0
  55. data/schema/OFX_Messages.xsd +18 -0
  56. data/schema/OFX_Profile.xsd +959 -0
  57. data/schema/OFX_Profile_Message_Wrappers.xsd +55 -0
  58. data/schema/OFX_Profile_Messages.xsd +96 -0
  59. data/schema/OFX_SecuritiesList.xsd +357 -0
  60. data/schema/OFX_SecuritiesList_Message_Wrappers.xsd +55 -0
  61. data/schema/OFX_SecuritiesList_Messages.xsd +55 -0
  62. data/schema/OFX_Signon.xsd +243 -0
  63. data/schema/OFX_Signon_Message_Wrappers.xsd +120 -0
  64. data/schema/OFX_Signon_Messages.xsd +211 -0
  65. data/schema/OFX_Signup.xsd +114 -0
  66. data/schema/OFX_Signup_Message_Wrappers.xsd +222 -0
  67. data/schema/OFX_Signup_Messages.xsd +153 -0
  68. data/schema/OFX_Tax1098.xsd +123 -0
  69. data/schema/OFX_Tax1098_Message_Wrappers.xsd +52 -0
  70. data/schema/OFX_Tax1098_Messages.xsd +65 -0
  71. data/schema/OFX_Tax1099.xsd +371 -0
  72. data/schema/OFX_Tax1099_Message_Wrappers.xsd +52 -0
  73. data/schema/OFX_Tax1099_Messages.xsd +50 -0
  74. data/schema/OFX_TaxW2.xsd +204 -0
  75. data/schema/OFX_TaxW2_Message_Wrappers.xsd +52 -0
  76. data/schema/OFX_TaxW2_Messages.xsd +58 -0
  77. data/schema/OFX_TypeDefinitions.xsd +98 -0
  78. data/schema/OFX_WireTransfer.xsd +88 -0
  79. data/schema/OFX_WireTransfer_Message_Wrappers.xsd +101 -0
  80. data/schema/OFX_WireTransfer_Messages.xsd +116 -0
  81. data/test/sample/ofx/invalid.xml +34 -0
  82. data/test/sample/ofx/malformed.xml +38 -0
  83. data/test/sample/ofx/test_result.xml +101 -0
  84. data/test/sample/ofx/valid.xml +38 -0
  85. data/test/sample/organization/invalid_format.txt +1 -0
  86. data/test/sample/organization/malformed.txt +1 -0
  87. data/test/sample/organization/valid_one_account.txt +1 -0
  88. data/test/sample/organization/valid_two_accounts.txt +1 -0
  89. data/test/sample/transactions/corp-1234-bank-account-1-FR0000000000000000000000001.txt +60 -0
  90. data/test/sample/transactions/corp-1234-bank-account-2-FR0000000000000000000000002-p1.txt +28 -0
  91. data/test/sample/transactions/corp-1234-bank-account-2-FR0000000000000000000000002-p2.txt +28 -0
  92. data/test/sample/transactions/invalid_format.txt +1 -0
  93. data/test/sample/transactions/malformed.txt +1 -0
  94. data/test/sample/transactions/valid.txt +1 -0
  95. data/test/test_converter.rb +51 -0
  96. data/test/test_ofx_validator.rb +25 -0
  97. data/test/test_organization_validator.rb +28 -0
  98. data/test/test_transactions_listing_validator.rb +23 -0
  99. metadata +314 -0
@@ -0,0 +1,1358 @@
1
+ <?xml version="1.0" encoding="utf-8" standalone="no"?>
2
+ <!--
3
+ Open Financial Exchange Specification (c)1996-2004 ("Specification") by all of its publishers:
4
+ CheckFree Corp., Intuit Inc., and Microsoft Corporation. All rights reserved.
5
+
6
+ Revision History:
7
+
8
+ Version Date Editor Email Addr Short Description
9
+
10
+ p18 2002-02-11 altenburgd@businesslogic.com Initial revision
11
+ p20 2002-03-10 altenburgd@businesslogic.com Renamed type 'OpenOrder' to 'GeneralOpenOrder'
12
+ Created abstract type 'OpenOrder' and made all the open order types extend it
13
+ Created abstract type 'InvestmentBuyTransaction' and made BuyDebt, BuyMutualFund,
14
+ BuyOpt, BuyOther, and BuyStock to extend it
15
+ Created abstract type 'InvestmentSellTransaction' and made SellDebt,
16
+ SellMutualFund, SellOpt, SellOther, and SellStock to extend it
17
+ Created abstract type 'AbstractInvestmentTransaction' and made ClosureOption,
18
+ Income, InvestmentBuy, InvestmentExpense, InvestmentSell, JournalFund,
19
+ JournalSecurity, MarginInterest, Reinvest, ReturnOfCapital, Split,
20
+ and Transfer to extend it
21
+ p21 2002-03-17 altenburgd@businesslogic.com Changed elementFormDefault to "unqualified"
22
+ Changed namespace to "http://ofx.net/types/2003/04"
23
+ p22 2002-03-24 altenburgd@businesslogic.com Created type AbstractInvestmentTransactionBase and made AbstractInvestmentTransaction,
24
+ AbstractInvestmentBuyTransaction, and AbstractInvestmentSellTransaction
25
+ to extend it
26
+ p23 2002-05-13 altenburgd@businesslogic.com Bugfixes based on Intuit Schema QA
27
+ RC4 2003-06-24 gil_clark@intuit.com Added collapse to fixed length, non-string types and enums.
28
+ RC5 2003-07-22 gil_clark@intuit.com Removed complex content flags. Changed UNITPRICE to be UnitPriceType.
29
+ RC6 2003-08-01 gil_clark@intuit.com Removed BUYTYPE from BUYOTHER and SELLTYPE from SELLOTHER.
30
+ 2.0 erroneously added them in from 1.6. They were removed from 2.0.1.
31
+ -->
32
+ <xsd:schema targetNamespace="http://ofx.net/types/2003/04" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ofx="http://ofx.net/types/2003/04" elementFormDefault="unqualified">
33
+ <xsd:include schemaLocation="OFX_Common.xsd"/>
34
+ <xsd:simpleType name="BuyEnum">
35
+ <xsd:annotation>
36
+ <xsd:documentation>
37
+ The OFX element "BUYENUM" is of type "BuyEnum"
38
+ </xsd:documentation>
39
+ </xsd:annotation>
40
+ <xsd:restriction base="xsd:string">
41
+ <xsd:whiteSpace value="collapse"/>
42
+ <xsd:enumeration value="BUY"/>
43
+ <xsd:enumeration value="BUYTOCOVER"/>
44
+ </xsd:restriction>
45
+ </xsd:simpleType>
46
+ <xsd:simpleType name="DurationEnum">
47
+ <xsd:annotation>
48
+ <xsd:documentation>
49
+ The OFX element "DURATIONENUM" is of type "DurationEnum"
50
+ </xsd:documentation>
51
+ </xsd:annotation>
52
+ <xsd:restriction base="xsd:string">
53
+ <xsd:whiteSpace value="collapse"/>
54
+ <xsd:enumeration value="DAY"/>
55
+ <xsd:enumeration value="GOODTILCANCEL"/>
56
+ <xsd:enumeration value="IMMEDIATE"/>
57
+ </xsd:restriction>
58
+ </xsd:simpleType>
59
+ <xsd:simpleType name="GenericContactInfoType">
60
+ <xsd:annotation>
61
+ <xsd:documentation>
62
+ The OFX element "GENCONTACTINFO" is of type "GenericContactInfoType"
63
+ </xsd:documentation>
64
+ </xsd:annotation>
65
+ <xsd:restriction base="xsd:string">
66
+ <xsd:maxLength value="255"/>
67
+ <xsd:minLength value="1"/>
68
+ </xsd:restriction>
69
+ </xsd:simpleType>
70
+ <xsd:simpleType name="IncomeEnum">
71
+ <xsd:annotation>
72
+ <xsd:documentation>
73
+ The OFX element "INCOMEENUM" is of type "IncomeEnum"
74
+ </xsd:documentation>
75
+ </xsd:annotation>
76
+ <xsd:restriction base="xsd:string">
77
+ <xsd:whiteSpace value="collapse"/>
78
+ <xsd:enumeration value="CGLONG"/>
79
+ <xsd:enumeration value="CGSHORT"/>
80
+ <xsd:enumeration value="DIV"/>
81
+ <xsd:enumeration value="INTEREST"/>
82
+ <xsd:enumeration value="MISC"/>
83
+ </xsd:restriction>
84
+ </xsd:simpleType>
85
+ <xsd:simpleType name="InOutEnum">
86
+ <xsd:annotation>
87
+ <xsd:documentation>
88
+ The OFX element "INOUTENUM" is of type "InOutEnum"
89
+ </xsd:documentation>
90
+ </xsd:annotation>
91
+ <xsd:restriction base="xsd:string">
92
+ <xsd:whiteSpace value="collapse"/>
93
+ <xsd:enumeration value="IN"/>
94
+ <xsd:enumeration value="OUT"/>
95
+ </xsd:restriction>
96
+ </xsd:simpleType>
97
+ <xsd:simpleType name="LoanIdType">
98
+ <xsd:annotation>
99
+ <xsd:documentation>
100
+ The OFX element "LOANID" is of type "LoanIdType"
101
+ </xsd:documentation>
102
+ </xsd:annotation>
103
+ <xsd:restriction base="xsd:string">
104
+ <xsd:maxLength value="32"/>
105
+ <xsd:minLength value="1"/>
106
+ </xsd:restriction>
107
+ </xsd:simpleType>
108
+ <xsd:simpleType name="NumberPayments">
109
+ <xsd:annotation>
110
+ <xsd:documentation>
111
+ The OFX element "NUMPMTS" is of type "NumberPayments"
112
+ </xsd:documentation>
113
+ </xsd:annotation>
114
+ <xsd:restriction base="xsd:string">
115
+ <xsd:minLength value="1"/>
116
+ <xsd:maxLength value="5"/>
117
+ <xsd:whiteSpace value="collapse"/>
118
+ <xsd:pattern value="[0-9]+"/>
119
+ </xsd:restriction>
120
+ </xsd:simpleType>
121
+ <xsd:simpleType name="OptionActionEnum">
122
+ <xsd:annotation>
123
+ <xsd:documentation>
124
+ The OFX element "OPTACTIONENUM" is of type "OptionActionEnum"
125
+ </xsd:documentation>
126
+ </xsd:annotation>
127
+ <xsd:restriction base="xsd:string">
128
+ <xsd:whiteSpace value="collapse"/>
129
+ <xsd:enumeration value="EXERCISE"/>
130
+ <xsd:enumeration value="ASSIGN"/>
131
+ <xsd:enumeration value="EXPIRE"/>
132
+ </xsd:restriction>
133
+ </xsd:simpleType>
134
+ <xsd:simpleType name="OptionBuyEnum">
135
+ <xsd:annotation>
136
+ <xsd:documentation>
137
+ The OFX element "OPTBUYENUM" is of type "OptionBuyEnum"
138
+ </xsd:documentation>
139
+ </xsd:annotation>
140
+ <xsd:restriction base="xsd:string">
141
+ <xsd:whiteSpace value="collapse"/>
142
+ <xsd:enumeration value="BUYTOOPEN"/>
143
+ <xsd:enumeration value="BUYTOCLOSE"/>
144
+ </xsd:restriction>
145
+ </xsd:simpleType>
146
+ <xsd:simpleType name="OptionSellEnum">
147
+ <xsd:annotation>
148
+ <xsd:documentation>
149
+ The OFX element "OPTSELLENUM" is of type "OptionSellEnum"
150
+ </xsd:documentation>
151
+ </xsd:annotation>
152
+ <xsd:restriction base="xsd:string">
153
+ <xsd:whiteSpace value="collapse"/>
154
+ <xsd:enumeration value="SELLTOOPEN"/>
155
+ <xsd:enumeration value="SELLTOCLOSE"/>
156
+ </xsd:restriction>
157
+ </xsd:simpleType>
158
+ <xsd:simpleType name="PositionTypeEnum">
159
+ <xsd:annotation>
160
+ <xsd:documentation>
161
+ The OFX element "POSTYPEENUM" is of type "PositionTypeEnum"
162
+ </xsd:documentation>
163
+ </xsd:annotation>
164
+ <xsd:restriction base="xsd:string">
165
+ <xsd:whiteSpace value="collapse"/>
166
+ <xsd:enumeration value="LONG"/>
167
+ <xsd:enumeration value="SHORT"/>
168
+ </xsd:restriction>
169
+ </xsd:simpleType>
170
+ <xsd:simpleType name="RelatedEnum">
171
+ <xsd:annotation>
172
+ <xsd:documentation>
173
+ The OFX element "RELATEDENUM" is of type "RelatedEnum"
174
+ </xsd:documentation>
175
+ </xsd:annotation>
176
+ <xsd:restriction base="xsd:string">
177
+ <xsd:whiteSpace value="collapse"/>
178
+ <xsd:enumeration value="SPREAD"/>
179
+ <xsd:enumeration value="STRADDLE"/>
180
+ <xsd:enumeration value="NONE"/>
181
+ <xsd:enumeration value="OTHER"/>
182
+ </xsd:restriction>
183
+ </xsd:simpleType>
184
+ <xsd:simpleType name="RestrictionEnum">
185
+ <xsd:annotation>
186
+ <xsd:documentation>
187
+ The OFX element "RESTRICTIONENUM" is of type "RestrictionEnum"
188
+ </xsd:documentation>
189
+ </xsd:annotation>
190
+ <xsd:restriction base="xsd:string">
191
+ <xsd:whiteSpace value="collapse"/>
192
+ <xsd:enumeration value="ALLORNONE"/>
193
+ <xsd:enumeration value="MINUNITS"/>
194
+ <xsd:enumeration value="NONE"/>
195
+ </xsd:restriction>
196
+ </xsd:simpleType>
197
+ <xsd:simpleType name="SecuredEnum">
198
+ <xsd:annotation>
199
+ <xsd:documentation>
200
+ The OFX element "SECUREDENUM" is of type "SecuredEnum"
201
+ </xsd:documentation>
202
+ </xsd:annotation>
203
+ <xsd:restriction base="xsd:string">
204
+ <xsd:whiteSpace value="collapse"/>
205
+ <xsd:enumeration value="NAKED"/>
206
+ <xsd:enumeration value="COVERED"/>
207
+ </xsd:restriction>
208
+ </xsd:simpleType>
209
+ <xsd:simpleType name="SellReasonEnum">
210
+ <xsd:annotation>
211
+ <xsd:documentation>
212
+ The OFX element "SELLREASONENUM" is of type "SellReasonEnum"
213
+ </xsd:documentation>
214
+ </xsd:annotation>
215
+ <xsd:restriction base="xsd:string">
216
+ <xsd:whiteSpace value="collapse"/>
217
+ <xsd:enumeration value="CALL"/>
218
+ <xsd:enumeration value="MATURITY"/>
219
+ <xsd:enumeration value="SELL"/>
220
+ </xsd:restriction>
221
+ </xsd:simpleType>
222
+ <xsd:simpleType name="SellTypeEnum">
223
+ <xsd:annotation>
224
+ <xsd:documentation>
225
+ The OFX element "SELLTYPEENUM" is of type "SellTypeEnum"
226
+ </xsd:documentation>
227
+ </xsd:annotation>
228
+ <xsd:restriction base="xsd:string">
229
+ <xsd:whiteSpace value="collapse"/>
230
+ <xsd:enumeration value="SELL"/>
231
+ <xsd:enumeration value="SELLSHORT"/>
232
+ </xsd:restriction>
233
+ </xsd:simpleType>
234
+ <xsd:simpleType name="SubAccountEnum">
235
+ <xsd:annotation>
236
+ <xsd:documentation>
237
+ The OFX element "SUBACCTENUM" is of type "SubAccountEnum"
238
+ </xsd:documentation>
239
+ </xsd:annotation>
240
+ <xsd:restriction base="xsd:string">
241
+ <xsd:whiteSpace value="collapse"/>
242
+ <xsd:enumeration value="CASH"/>
243
+ <xsd:enumeration value="MARGIN"/>
244
+ <xsd:enumeration value="SHORT"/>
245
+ <xsd:enumeration value="OTHER"/>
246
+ </xsd:restriction>
247
+ </xsd:simpleType>
248
+ <xsd:simpleType name="UnitTypeEnum">
249
+ <xsd:annotation>
250
+ <xsd:documentation>
251
+ The OFX element "UNITTYPEENUM" is of type "UnitTypeEnum"
252
+ </xsd:documentation>
253
+ </xsd:annotation>
254
+ <xsd:restriction base="xsd:string">
255
+ <xsd:whiteSpace value="collapse"/>
256
+ <xsd:enumeration value="SHARES"/>
257
+ <xsd:enumeration value="CURRENCY"/>
258
+ </xsd:restriction>
259
+ </xsd:simpleType>
260
+ <xsd:complexType name="AbstractInvestmentBuyTransaction" abstract="true">
261
+ <xsd:complexContent>
262
+ <xsd:extension base="ofx:AbstractInvestmentTransactionBase">
263
+ <xsd:sequence>
264
+ <xsd:element name="INVBUY" type="ofx:InvestmentBuy"/>
265
+ </xsd:sequence>
266
+ </xsd:extension>
267
+ </xsd:complexContent>
268
+ </xsd:complexType>
269
+ <xsd:complexType name="AbstractInvestmentSellTransaction" abstract="true">
270
+ <xsd:complexContent>
271
+ <xsd:extension base="ofx:AbstractInvestmentTransactionBase">
272
+ <xsd:sequence>
273
+ <xsd:element name="INVSELL" type="ofx:InvestmentSell"/>
274
+ </xsd:sequence>
275
+ </xsd:extension>
276
+ </xsd:complexContent>
277
+ </xsd:complexType>
278
+ <xsd:complexType name="BuyDebt">
279
+ <xsd:annotation>
280
+ <xsd:documentation>
281
+ The OFX element "BUYDEBT" is of type "BuyDebt"
282
+ </xsd:documentation>
283
+ </xsd:annotation>
284
+ <xsd:complexContent>
285
+ <xsd:extension base="ofx:AbstractInvestmentBuyTransaction">
286
+ <xsd:sequence>
287
+ <xsd:element name="ACCRDINT" type="ofx:AmountType" minOccurs="0"/>
288
+ </xsd:sequence>
289
+ </xsd:extension>
290
+ </xsd:complexContent>
291
+ </xsd:complexType>
292
+ <xsd:complexType name="BuyMutualFund">
293
+ <xsd:annotation>
294
+ <xsd:documentation>
295
+ The OFX element "BUYMF" is of type "BuyMutualFund"
296
+ </xsd:documentation>
297
+ </xsd:annotation>
298
+ <xsd:complexContent>
299
+ <xsd:extension base="ofx:AbstractInvestmentBuyTransaction">
300
+ <xsd:sequence>
301
+ <xsd:element name="BUYTYPE" type="ofx:BuyEnum"/>
302
+ <xsd:element name="RELFITID" type="ofx:FinancialInstitutionTransactionIdType" minOccurs="0"/>
303
+ </xsd:sequence>
304
+ </xsd:extension>
305
+ </xsd:complexContent>
306
+ </xsd:complexType>
307
+ <xsd:complexType name="BuyOption">
308
+ <xsd:annotation>
309
+ <xsd:documentation>
310
+ The OFX element "BUYOPT" is of type "BuyOption"
311
+ </xsd:documentation>
312
+ </xsd:annotation>
313
+ <xsd:complexContent>
314
+ <xsd:extension base="ofx:AbstractInvestmentBuyTransaction">
315
+ <xsd:sequence>
316
+ <xsd:element name="OPTBUYTYPE" type="ofx:OptionBuyEnum"/>
317
+ <xsd:element name="SHPERCTRCT" type="ofx:SharesPerType"/>
318
+ </xsd:sequence>
319
+ </xsd:extension>
320
+ </xsd:complexContent>
321
+ </xsd:complexType>
322
+ <xsd:complexType name="BuyOther">
323
+ <xsd:annotation>
324
+ <xsd:documentation>
325
+ The OFX element "BUYOTHER" is of type "BuyOther"
326
+ </xsd:documentation>
327
+ </xsd:annotation>
328
+ <xsd:complexContent>
329
+ <xsd:extension base="ofx:AbstractInvestmentBuyTransaction"/>
330
+ </xsd:complexContent>
331
+ </xsd:complexType>
332
+ <xsd:complexType name="BuyStock">
333
+ <xsd:annotation>
334
+ <xsd:documentation>
335
+ The OFX element "BUYSTOCK" is of type "BuyStock"
336
+ </xsd:documentation>
337
+ </xsd:annotation>
338
+ <xsd:complexContent>
339
+ <xsd:extension base="ofx:AbstractInvestmentBuyTransaction">
340
+ <xsd:sequence>
341
+ <xsd:element name="BUYTYPE" type="ofx:BuyEnum"/>
342
+ </xsd:sequence>
343
+ </xsd:extension>
344
+ </xsd:complexContent>
345
+ </xsd:complexType>
346
+ <xsd:complexType name="ClosureOption">
347
+ <xsd:annotation>
348
+ <xsd:documentation>
349
+ The OFX element "CLOSUREOPT" is of type "ClosureOption"
350
+ </xsd:documentation>
351
+ </xsd:annotation>
352
+ <xsd:complexContent>
353
+ <xsd:extension base="ofx:AbstractInvestmentTransaction">
354
+ <xsd:sequence>
355
+ <xsd:element name="SECID" type="ofx:SecurityId"/>
356
+ <xsd:element name="OPTACTION" type="ofx:OptionActionEnum"/>
357
+ <xsd:element name="UNITS" type="ofx:QuantityType"/>
358
+ <xsd:element name="SHPERCTRCT" type="ofx:SharesPerType"/>
359
+ <xsd:element name="SUBACCTSEC" type="ofx:SubAccountEnum"/>
360
+ <xsd:element name="RELFITID" type="ofx:FinancialInstitutionTransactionIdType" minOccurs="0"/>
361
+ <xsd:element name="GAIN" type="ofx:AmountType" minOccurs="0"/>
362
+ </xsd:sequence>
363
+ </xsd:extension>
364
+ </xsd:complexContent>
365
+ </xsd:complexType>
366
+ <xsd:complexType name="ContributionInfo">
367
+ <xsd:annotation>
368
+ <xsd:documentation>
369
+ The OFX element "CONTRIBINFO" is of type "ContributionInfo"
370
+ </xsd:documentation>
371
+ </xsd:annotation>
372
+ <xsd:sequence>
373
+ <xsd:element name="CONTRIBSECURITY" type="ofx:ContributionSecurity" maxOccurs="unbounded"/>
374
+ </xsd:sequence>
375
+ </xsd:complexType>
376
+ <xsd:complexType name="ContributionSecurity">
377
+ <xsd:annotation>
378
+ <xsd:documentation>
379
+ The OFX element "CONTRIBSECURITY" is of type "ContributionSecurity"
380
+ </xsd:documentation>
381
+ </xsd:annotation>
382
+ <xsd:sequence>
383
+ <xsd:element name="SECID" type="ofx:SecurityId"/>
384
+ <xsd:choice>
385
+ <xsd:choice maxOccurs="unbounded">
386
+ <xsd:element name="PRETAXCONTRIBPCT" type="ofx:RateType"/>
387
+ <xsd:element name="AFTERTAXCONTRIBPCT" type="ofx:RateType"/>
388
+ <xsd:element name="MATCHCONTRIBPCT" type="ofx:RateType"/>
389
+ <xsd:element name="PROFITSHARINGCONTRIBPCT" type="ofx:RateType"/>
390
+ <xsd:element name="ROLLOVERCONTRIBPCT" type="ofx:RateType"/>
391
+ <xsd:element name="OTHERVESTPCT" type="ofx:RateType"/>
392
+ <xsd:element name="OTHERNONVESTPCT" type="ofx:RateType"/>
393
+ </xsd:choice>
394
+ <xsd:choice maxOccurs="unbounded">
395
+ <xsd:element name="PRETAXCONTRIBAMT" type="ofx:AmountType"/>
396
+ <xsd:element name="AFTERTAXCONTRIBAMT" type="ofx:AmountType"/>
397
+ <xsd:element name="MATCHCONTRIBAMT" type="ofx:AmountType"/>
398
+ <xsd:element name="PROFITSHARINGCONTRIBAMT" type="ofx:AmountType"/>
399
+ <xsd:element name="ROLLOVERCONTRIBAMT" type="ofx:AmountType"/>
400
+ <xsd:element name="OTHERVESTAMT" type="ofx:AmountType"/>
401
+ <xsd:element name="OTHERNONVESTAMT" type="ofx:AmountType"/>
402
+ </xsd:choice>
403
+ </xsd:choice>
404
+ </xsd:sequence>
405
+ </xsd:complexType>
406
+ <xsd:complexType name="Contributions">
407
+ <xsd:annotation>
408
+ <xsd:documentation>
409
+ The OFX element "CONTRIBUTIONS" is of type "Contributions"
410
+ </xsd:documentation>
411
+ </xsd:annotation>
412
+ <xsd:sequence>
413
+ <xsd:element name="PRETAX" type="ofx:AmountType" minOccurs="0"/>
414
+ <xsd:element name="AFTERTAX" type="ofx:AmountType" minOccurs="0"/>
415
+ <xsd:element name="MATCH" type="ofx:AmountType" minOccurs="0"/>
416
+ <xsd:element name="PROFITSHARING" type="ofx:AmountType" minOccurs="0"/>
417
+ <xsd:element name="ROLLOVER" type="ofx:AmountType" minOccurs="0"/>
418
+ <xsd:element name="OTHERVEST" type="ofx:AmountType" minOccurs="0"/>
419
+ <xsd:element name="OTHERNONVEST" type="ofx:AmountType" minOccurs="0"/>
420
+ <xsd:element name="TOTAL" type="ofx:AmountType"/>
421
+ </xsd:sequence>
422
+ </xsd:complexType>
423
+ <xsd:complexType name="Earnings">
424
+ <xsd:annotation>
425
+ <xsd:documentation>
426
+ The OFX element "EARNINGS" is of type "Earnings"
427
+ </xsd:documentation>
428
+ </xsd:annotation>
429
+ <xsd:sequence>
430
+ <xsd:element name="PRETAX" type="ofx:AmountType" minOccurs="0"/>
431
+ <xsd:element name="AFTERTAX" type="ofx:AmountType" minOccurs="0"/>
432
+ <xsd:element name="MATCH" type="ofx:AmountType" minOccurs="0"/>
433
+ <xsd:element name="PROFITSHARING" type="ofx:AmountType" minOccurs="0"/>
434
+ <xsd:element name="ROLLOVER" type="ofx:AmountType" minOccurs="0"/>
435
+ <xsd:element name="OTHERVEST" type="ofx:AmountType" minOccurs="0"/>
436
+ <xsd:element name="OTHERNONVEST" type="ofx:AmountType" minOccurs="0"/>
437
+ <xsd:element name="TOTAL" type="ofx:AmountType"/>
438
+ </xsd:sequence>
439
+ </xsd:complexType>
440
+ <xsd:complexType name="InceptToDate">
441
+ <xsd:annotation>
442
+ <xsd:documentation>
443
+ The OFX element "INCEPTTODATE" is of type "InceptToDate"
444
+ </xsd:documentation>
445
+ </xsd:annotation>
446
+ <xsd:sequence>
447
+ <xsd:element name="DTSTART" type="ofx:DateTimeType"/>
448
+ <xsd:element name="DTEND" type="ofx:DateTimeType"/>
449
+ <xsd:element name="CONTRIBUTIONS" type="ofx:Contributions" minOccurs="0"/>
450
+ <xsd:element name="WITHDRAWALS" type="ofx:Withdrawals" minOccurs="0"/>
451
+ <xsd:element name="EARNINGS" type="ofx:Earnings" minOccurs="0"/>
452
+ </xsd:sequence>
453
+ </xsd:complexType>
454
+ <xsd:complexType name="Income">
455
+ <xsd:annotation>
456
+ <xsd:documentation>
457
+ The OFX element "INCOME" is of type "Income"
458
+ </xsd:documentation>
459
+ </xsd:annotation>
460
+ <xsd:complexContent>
461
+ <xsd:extension base="ofx:AbstractInvestmentTransaction">
462
+ <xsd:sequence>
463
+ <xsd:element name="SECID" type="ofx:SecurityId"/>
464
+ <xsd:element name="INCOMETYPE" type="ofx:IncomeEnum"/>
465
+ <xsd:element name="TOTAL" type="ofx:AmountType"/>
466
+ <xsd:element name="SUBACCTSEC" type="ofx:SubAccountEnum"/>
467
+ <xsd:element name="SUBACCTFUND" type="ofx:SubAccountEnum"/>
468
+ <xsd:element name="TAXEXEMPT" type="ofx:BooleanType" minOccurs="0"/>
469
+ <xsd:element name="WITHHOLDING" type="ofx:PositiveAmountType" minOccurs="0"/>
470
+ <xsd:element name="CURRENCY" type="ofx:Currency" minOccurs="0"/>
471
+ <xsd:element name="ORIGCURRENCY" type="ofx:Currency" minOccurs="0"/>
472
+ <xsd:element name="INV401KSOURCE" type="ofx:Investment401kSourceEnum" minOccurs="0"/>
473
+ </xsd:sequence>
474
+ </xsd:extension>
475
+ </xsd:complexContent>
476
+ </xsd:complexType>
477
+ <xsd:complexType name="IncPosition">
478
+ <xsd:annotation>
479
+ <xsd:documentation>
480
+ The OFX element "INCPOS" is of type "IncPosition"
481
+ </xsd:documentation>
482
+ </xsd:annotation>
483
+ <xsd:sequence>
484
+ <xsd:element name="DTASOF" type="ofx:DateTimeType" minOccurs="0"/>
485
+ <xsd:element name="INCLUDE" type="ofx:BooleanType"/>
486
+ </xsd:sequence>
487
+ </xsd:complexType>
488
+ <xsd:complexType name="Investment401k">
489
+ <xsd:annotation>
490
+ <xsd:documentation>
491
+ The OFX element "INV401K" is of type "Investment401k"
492
+ </xsd:documentation>
493
+ </xsd:annotation>
494
+ <xsd:sequence>
495
+ <xsd:element name="EMPLOYERNAME" type="ofx:GenericNameType"/>
496
+ <xsd:element name="PLANID" type="ofx:IdType" minOccurs="0"/>
497
+ <xsd:element name="PLANJOINDATE" type="ofx:DateTimeType" minOccurs="0"/>
498
+ <xsd:element name="EMPLOYERCONTACTINFO" type="ofx:GenericContactInfoType" minOccurs="0"/>
499
+ <xsd:element name="BROKERCONTACTINFO" type="ofx:GenericContactInfoType" minOccurs="0"/>
500
+ <xsd:element name="DEFERPCTPRETAX" type="ofx:RateType" minOccurs="0"/>
501
+ <xsd:element name="DEFERPCTAFTERTAX" type="ofx:RateType" minOccurs="0"/>
502
+ <xsd:element name="MATCHINFO" type="ofx:MatchInfo" minOccurs="0"/>
503
+ <xsd:element name="CONTRIBINFO" type="ofx:ContributionInfo" minOccurs="0"/>
504
+ <xsd:element name="CURRENTVESTPCT" type="ofx:RateType" minOccurs="0"/>
505
+ <xsd:element name="VESTINFO" type="ofx:VestInfo" minOccurs="0" maxOccurs="unbounded"/>
506
+ <xsd:element name="LOANINFO" type="ofx:LoanInfo" minOccurs="0" maxOccurs="unbounded"/>
507
+ <xsd:element name="INV401KSUMMARY" type="ofx:Investment401kSummary" minOccurs="0"/>
508
+ </xsd:sequence>
509
+ </xsd:complexType>
510
+ <xsd:complexType name="Investment401kBalance">
511
+ <xsd:annotation>
512
+ <xsd:documentation>
513
+ The OFX element "INV401KBAL" is of type "Investment401kBalance"
514
+ </xsd:documentation>
515
+ </xsd:annotation>
516
+ <xsd:sequence>
517
+ <xsd:element name="CASHBAL" type="ofx:AmountType" minOccurs="0"/>
518
+ <xsd:element name="PRETAX" type="ofx:AmountType" minOccurs="0"/>
519
+ <xsd:element name="AFTERTAX" type="ofx:AmountType" minOccurs="0"/>
520
+ <xsd:element name="MATCH" type="ofx:AmountType" minOccurs="0"/>
521
+ <xsd:element name="PROFITSHARING" type="ofx:AmountType" minOccurs="0"/>
522
+ <xsd:element name="ROLLOVER" type="ofx:AmountType" minOccurs="0"/>
523
+ <xsd:element name="OTHERVEST" type="ofx:AmountType" minOccurs="0"/>
524
+ <xsd:element name="OTHERNONVEST" type="ofx:AmountType" minOccurs="0"/>
525
+ <xsd:element name="TOTAL" type="ofx:AmountType"/>
526
+ <xsd:element name="BALLIST" type="ofx:BalanceList" minOccurs="0"/>
527
+ </xsd:sequence>
528
+ </xsd:complexType>
529
+ <xsd:complexType name="Investment401kSummary">
530
+ <xsd:annotation>
531
+ <xsd:documentation>
532
+ The OFX element "INV401KSUMMARY" is of type "Investment401kSummary"
533
+ </xsd:documentation>
534
+ </xsd:annotation>
535
+ <xsd:sequence>
536
+ <xsd:element name="YEARTODATE" type="ofx:YearToDate"/>
537
+ <xsd:element name="INCEPTTODATE" type="ofx:InceptToDate" minOccurs="0"/>
538
+ <xsd:element name="PERIODTODATE" type="ofx:PeriodToDate" minOccurs="0"/>
539
+ </xsd:sequence>
540
+ </xsd:complexType>
541
+ <xsd:complexType name="InvestmentBalance">
542
+ <xsd:annotation>
543
+ <xsd:documentation>
544
+ The OFX element "INVBAL" is of type "InvestmentBalance"
545
+ </xsd:documentation>
546
+ </xsd:annotation>
547
+ <xsd:sequence>
548
+ <xsd:element name="AVAILCASH" type="ofx:AmountType"/>
549
+ <xsd:element name="MARGINBALANCE" type="ofx:AmountType"/>
550
+ <xsd:element name="SHORTBALANCE" type="ofx:AmountType"/>
551
+ <xsd:element name="BUYPOWER" type="ofx:AmountType" minOccurs="0"/>
552
+ <xsd:element name="BALLIST" type="ofx:BalanceList" minOccurs="0"/>
553
+ </xsd:sequence>
554
+ </xsd:complexType>
555
+ <xsd:complexType name="InvestmentBankTransaction">
556
+ <xsd:annotation>
557
+ <xsd:documentation>
558
+ The OFX element "INVBANKTRAN" is of type "InvestmentBankTransaction"
559
+ </xsd:documentation>
560
+ </xsd:annotation>
561
+ <xsd:sequence>
562
+ <xsd:element name="STMTTRN" type="ofx:StatementTransaction"/>
563
+ <xsd:element name="SUBACCTFUND" type="ofx:SubAccountEnum"/>
564
+ </xsd:sequence>
565
+ </xsd:complexType>
566
+ <xsd:complexType name="InvestmentBuy">
567
+ <xsd:annotation>
568
+ <xsd:documentation>
569
+ The OFX element "INVBUY" is of type "InvestmentBuy"
570
+ </xsd:documentation>
571
+ </xsd:annotation>
572
+ <xsd:complexContent>
573
+ <xsd:extension base="ofx:AbstractInvestmentTransaction">
574
+ <xsd:sequence>
575
+ <xsd:element name="SECID" type="ofx:SecurityId"/>
576
+ <xsd:element name="UNITS" type="ofx:QuantityType"/>
577
+ <xsd:element name="UNITPRICE" type="ofx:UnitPriceType"/>
578
+ <xsd:element name="MARKUP" type="ofx:UnitPriceType" minOccurs="0"/>
579
+ <xsd:element name="COMMISSION" type="ofx:PositiveAmountType" minOccurs="0"/>
580
+ <xsd:element name="TAXES" type="ofx:PositiveAmountType" minOccurs="0"/>
581
+ <xsd:element name="FEES" type="ofx:PositiveAmountType" minOccurs="0"/>
582
+ <xsd:element name="LOAD" type="ofx:PositiveAmountType" minOccurs="0"/>
583
+ <xsd:element name="TOTAL" type="ofx:AmountType"/>
584
+ <xsd:element name="CURRENCY" type="ofx:Currency" minOccurs="0"/>
585
+ <xsd:element name="ORIGCURRENCY" type="ofx:Currency" minOccurs="0"/>
586
+ <xsd:element name="SUBACCTSEC" type="ofx:SubAccountEnum"/>
587
+ <xsd:element name="SUBACCTFUND" type="ofx:SubAccountEnum"/>
588
+ <xsd:sequence minOccurs="0">
589
+ <xsd:element name="LOANID" type="ofx:LoanIdType"/>
590
+ <xsd:element name="LOANPRINCIPAL" type="ofx:AmountType"/>
591
+ <xsd:element name="LOANINTEREST" type="ofx:AmountType"/>
592
+ </xsd:sequence>
593
+ <xsd:element name="INV401KSOURCE" type="ofx:Investment401kSourceEnum" minOccurs="0"/>
594
+ <xsd:element name="DTPAYROLL" type="ofx:DateTimeType" minOccurs="0"/>
595
+ <xsd:element name="PRIORYEARCONTRIB" type="ofx:BooleanType" minOccurs="0"/>
596
+ </xsd:sequence>
597
+ </xsd:extension>
598
+ </xsd:complexContent>
599
+ </xsd:complexType>
600
+ <xsd:complexType name="InvestmentExpense">
601
+ <xsd:annotation>
602
+ <xsd:documentation>
603
+ The OFX element "INVEXPENSE" is of type "InvestmentExpense"
604
+ </xsd:documentation>
605
+ </xsd:annotation>
606
+ <xsd:complexContent>
607
+ <xsd:extension base="ofx:AbstractInvestmentTransaction">
608
+ <xsd:sequence>
609
+ <xsd:element name="SECID" type="ofx:SecurityId"/>
610
+ <xsd:element name="TOTAL" type="ofx:AmountType"/>
611
+ <xsd:element name="SUBACCTSEC" type="ofx:SubAccountEnum"/>
612
+ <xsd:element name="SUBACCTFUND" type="ofx:SubAccountEnum"/>
613
+ <xsd:element name="CURRENCY" type="ofx:Currency" minOccurs="0"/>
614
+ <xsd:element name="ORIGCURRENCY" type="ofx:Currency" minOccurs="0"/>
615
+ <xsd:element name="INV401KSOURCE" type="ofx:Investment401kSourceEnum" minOccurs="0"/>
616
+ </xsd:sequence>
617
+ </xsd:extension>
618
+ </xsd:complexContent>
619
+ </xsd:complexType>
620
+ <xsd:complexType name="InvestmentOpenOrderList">
621
+ <xsd:annotation>
622
+ <xsd:documentation>
623
+ The OFX element "INVOOLIST" is of type "InvestmentOpenOrderList"
624
+ </xsd:documentation>
625
+ </xsd:annotation>
626
+ <xsd:sequence>
627
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
628
+ <xsd:element name="OOBUYDEBT" type="ofx:OpenOrderBuyDebt"/>
629
+ <xsd:element name="OOBUYMF" type="ofx:OpenOrderBuyMutualFund"/>
630
+ <xsd:element name="OOBUYOPT" type="ofx:OpenOrderBuyOption"/>
631
+ <xsd:element name="OOBUYOTHER" type="ofx:OpenOrderBuyOther"/>
632
+ <xsd:element name="OOBUYSTOCK" type="ofx:OpenOrderBuyStock"/>
633
+ <xsd:element name="OOSELLDEBT" type="ofx:OpenOrderSellDebt"/>
634
+ <xsd:element name="OOSELLMF" type="ofx:OpenOrderSellMutualFund"/>
635
+ <xsd:element name="OOSELLOPT" type="ofx:OpenOrderSellOption"/>
636
+ <xsd:element name="OOSELLOTHER" type="ofx:OpenOrderSellOther"/>
637
+ <xsd:element name="OOSELLSTOCK" type="ofx:OpenOrderSellStock"/>
638
+ <xsd:element name="SWITCHMF" type="ofx:OpenOrderSwitchMutualFund"/>
639
+ </xsd:choice>
640
+ </xsd:sequence>
641
+ </xsd:complexType>
642
+ <xsd:complexType name="InvestmentPosition">
643
+ <xsd:annotation>
644
+ <xsd:documentation>
645
+ The OFX element "INVPOS" is of type "InvestmentPosition"
646
+ </xsd:documentation>
647
+ </xsd:annotation>
648
+ <xsd:sequence>
649
+ <xsd:element name="SECID" type="ofx:SecurityId"/>
650
+ <xsd:element name="HELDINACCT" type="ofx:SubAccountEnum"/>
651
+ <xsd:element name="POSTYPE" type="ofx:PositionTypeEnum"/>
652
+ <xsd:element name="UNITS" type="ofx:QuantityType"/>
653
+ <xsd:element name="UNITPRICE" type="ofx:UnitPriceType"/>
654
+ <xsd:element name="MKTVAL" type="ofx:AmountType"/>
655
+ <xsd:element name="DTPRICEASOF" type="ofx:DateTimeType"/>
656
+ <xsd:element name="CURRENCY" type="ofx:Currency" minOccurs="0"/>
657
+ <xsd:element name="MEMO" type="ofx:MessageType" minOccurs="0"/>
658
+ <xsd:element name="INV401KSOURCE" type="ofx:Investment401kSourceEnum" minOccurs="0"/>
659
+ </xsd:sequence>
660
+ </xsd:complexType>
661
+ <xsd:complexType name="InvestmentPositionList">
662
+ <xsd:annotation>
663
+ <xsd:documentation>
664
+ The OFX element "INVPOSLIST" is of type "InvestmentPositionList"
665
+ </xsd:documentation>
666
+ </xsd:annotation>
667
+ <xsd:sequence>
668
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
669
+ <xsd:element name="POSMF" type="ofx:PositionMutualFund"/>
670
+ <xsd:element name="POSSTOCK" type="ofx:PositionStock"/>
671
+ <xsd:element name="POSDEBT" type="ofx:PositionDebt"/>
672
+ <xsd:element name="POSOPT" type="ofx:PositionOption"/>
673
+ <xsd:element name="POSOTHER" type="ofx:PositionOther"/>
674
+ </xsd:choice>
675
+ </xsd:sequence>
676
+ </xsd:complexType>
677
+ <xsd:complexType name="InvestmentSell">
678
+ <xsd:annotation>
679
+ <xsd:documentation>
680
+ The OFX element "INVSELL" is of type "InvestmentSell"
681
+ </xsd:documentation>
682
+ </xsd:annotation>
683
+ <xsd:complexContent>
684
+ <xsd:extension base="ofx:AbstractInvestmentTransaction">
685
+ <xsd:sequence>
686
+ <xsd:element name="SECID" type="ofx:SecurityId"/>
687
+ <xsd:element name="UNITS" type="ofx:QuantityType"/>
688
+ <xsd:element name="UNITPRICE" type="ofx:UnitPriceType"/>
689
+ <xsd:element name="MARKDOWN" type="ofx:UnitPriceType" minOccurs="0"/>
690
+ <xsd:element name="COMMISSION" type="ofx:PositiveAmountType" minOccurs="0"/>
691
+ <xsd:element name="TAXES" type="ofx:PositiveAmountType" minOccurs="0"/>
692
+ <xsd:element name="FEES" type="ofx:PositiveAmountType" minOccurs="0"/>
693
+ <xsd:element name="LOAD" type="ofx:PositiveAmountType" minOccurs="0"/>
694
+ <xsd:element name="WITHHOLDING" type="ofx:PositiveAmountType" minOccurs="0"/>
695
+ <xsd:element name="TAXEXEMPT" type="ofx:BooleanType" minOccurs="0"/>
696
+ <xsd:element name="TOTAL" type="ofx:AmountType"/>
697
+ <xsd:element name="GAIN" type="ofx:AmountType" minOccurs="0"/>
698
+ <xsd:element name="CURRENCY" type="ofx:Currency" minOccurs="0"/>
699
+ <xsd:element name="ORIGCURRENCY" type="ofx:Currency" minOccurs="0"/>
700
+ <xsd:element name="SUBACCTSEC" type="ofx:SubAccountEnum"/>
701
+ <xsd:element name="SUBACCTFUND" type="ofx:SubAccountEnum"/>
702
+ <xsd:element name="LOANID" type="ofx:LoanIdType" minOccurs="0"/>
703
+ <xsd:element name="STATEWITHHOLDING" type="ofx:PositiveAmountType" minOccurs="0"/>
704
+ <xsd:element name="PENALTY" type="ofx:PositiveAmountType" minOccurs="0"/>
705
+ <xsd:element name="INV401KSOURCE" type="ofx:Investment401kSourceEnum" minOccurs="0"/>
706
+ </xsd:sequence>
707
+ </xsd:extension>
708
+ </xsd:complexContent>
709
+ </xsd:complexType>
710
+ <xsd:complexType name="InvestmentTransaction">
711
+ <xsd:annotation>
712
+ <xsd:documentation>
713
+ The OFX element "INVTRAN" is of type "InvestmentTransaction"
714
+ </xsd:documentation>
715
+ </xsd:annotation>
716
+ <xsd:sequence>
717
+ <xsd:element name="FITID" type="ofx:FinancialInstitutionTransactionIdType"/>
718
+ <xsd:element name="SRVRTID" type="ofx:ServerIdType" minOccurs="0"/>
719
+ <xsd:element name="DTTRADE" type="ofx:DateTimeType"/>
720
+ <xsd:element name="DTSETTLE" type="ofx:DateTimeType" minOccurs="0"/>
721
+ <xsd:element name="REVERSALFITID" type="ofx:FinancialInstitutionTransactionIdType" minOccurs="0"/>
722
+ <xsd:element name="MEMO" type="ofx:MessageType" minOccurs="0"/>
723
+ </xsd:sequence>
724
+ </xsd:complexType>
725
+ <xsd:complexType name="AbstractInvestmentTransactionBase" abstract="true"/>
726
+ <xsd:complexType name="AbstractInvestmentTransaction" abstract="true">
727
+ <xsd:complexContent>
728
+ <xsd:extension base="ofx:AbstractInvestmentTransactionBase">
729
+ <xsd:sequence>
730
+ <xsd:element name="INVTRAN" type="ofx:InvestmentTransaction"/>
731
+ </xsd:sequence>
732
+ </xsd:extension>
733
+ </xsd:complexContent>
734
+ </xsd:complexType>
735
+ <xsd:complexType name="InvestmentTransactionList">
736
+ <xsd:annotation>
737
+ <xsd:documentation>
738
+ The OFX element "INVTRANLIST" is of type "InvestmentTransactionList"
739
+ </xsd:documentation>
740
+ </xsd:annotation>
741
+ <xsd:sequence>
742
+ <xsd:element name="DTSTART" type="ofx:DateTimeType"/>
743
+ <xsd:element name="DTEND" type="ofx:DateTimeType"/>
744
+ <xsd:choice minOccurs="0" maxOccurs="unbounded">
745
+ <xsd:element name="BUYDEBT" type="ofx:BuyDebt"/>
746
+ <xsd:element name="BUYMF" type="ofx:BuyMutualFund"/>
747
+ <xsd:element name="BUYOPT" type="ofx:BuyOption"/>
748
+ <xsd:element name="BUYOTHER" type="ofx:BuyOther"/>
749
+ <xsd:element name="BUYSTOCK" type="ofx:BuyStock"/>
750
+ <xsd:element name="CLOSUREOPT" type="ofx:ClosureOption"/>
751
+ <xsd:element name="INCOME" type="ofx:Income"/>
752
+ <xsd:element name="INVEXPENSE" type="ofx:InvestmentExpense"/>
753
+ <xsd:element name="JRNLFUND" type="ofx:JournalFund"/>
754
+ <xsd:element name="JRNLSEC" type="ofx:JournalSecurity"/>
755
+ <xsd:element name="MARGININTEREST" type="ofx:MarginInterest"/>
756
+ <xsd:element name="REINVEST" type="ofx:Reinvest"/>
757
+ <xsd:element name="RETOFCAP" type="ofx:ReturnOfCapital"/>
758
+ <xsd:element name="SELLDEBT" type="ofx:SellDebt"/>
759
+ <xsd:element name="SELLMF" type="ofx:SellMutualFund"/>
760
+ <xsd:element name="SELLOPT" type="ofx:SellOption"/>
761
+ <xsd:element name="SELLOTHER" type="ofx:SellOther"/>
762
+ <xsd:element name="SELLSTOCK" type="ofx:SellStock"/>
763
+ <xsd:element name="SPLIT" type="ofx:Split"/>
764
+ <xsd:element name="TRANSFER" type="ofx:Transfer"/>
765
+ </xsd:choice>
766
+ <xsd:element name="INVBANKTRAN" type="ofx:InvestmentBankTransaction" minOccurs="0" maxOccurs="unbounded"/>
767
+ </xsd:sequence>
768
+ </xsd:complexType>
769
+ <xsd:complexType name="JournalFund">
770
+ <xsd:annotation>
771
+ <xsd:documentation>
772
+ The OFX element "JRNLFUND" is of type "JournalFund"
773
+ </xsd:documentation>
774
+ </xsd:annotation>
775
+ <xsd:complexContent>
776
+ <xsd:extension base="ofx:AbstractInvestmentTransaction">
777
+ <xsd:sequence>
778
+ <xsd:element name="SUBACCTTO" type="ofx:SubAccountEnum"/>
779
+ <xsd:element name="SUBACCTFROM" type="ofx:SubAccountEnum"/>
780
+ <xsd:element name="TOTAL" type="ofx:AmountType"/>
781
+ </xsd:sequence>
782
+ </xsd:extension>
783
+ </xsd:complexContent>
784
+ </xsd:complexType>
785
+ <xsd:complexType name="JournalSecurity">
786
+ <xsd:annotation>
787
+ <xsd:documentation>
788
+ The OFX element "JRNLSEC" is of type "JournalSecurity"
789
+ </xsd:documentation>
790
+ </xsd:annotation>
791
+ <xsd:complexContent>
792
+ <xsd:extension base="ofx:AbstractInvestmentTransaction">
793
+ <xsd:sequence>
794
+ <xsd:element name="SECID" type="ofx:SecurityId"/>
795
+ <xsd:element name="SUBACCTTO" type="ofx:SubAccountEnum"/>
796
+ <xsd:element name="SUBACCTFROM" type="ofx:SubAccountEnum"/>
797
+ <xsd:element name="UNITS" type="ofx:QuantityType"/>
798
+ </xsd:sequence>
799
+ </xsd:extension>
800
+ </xsd:complexContent>
801
+ </xsd:complexType>
802
+ <xsd:complexType name="LoanInfo">
803
+ <xsd:annotation>
804
+ <xsd:documentation>
805
+ The OFX element "LOANINFO" is of type "LoanInfo"
806
+ </xsd:documentation>
807
+ </xsd:annotation>
808
+ <xsd:sequence>
809
+ <xsd:element name="LOANID" type="ofx:LoanIdType"/>
810
+ <xsd:element name="LOANDESC" type="ofx:GenericDescriptionType" minOccurs="0"/>
811
+ <xsd:element name="INITIALLOANBAL" type="ofx:AmountType" minOccurs="0"/>
812
+ <xsd:element name="LOANSTARTDATE" type="ofx:DateTimeType" minOccurs="0"/>
813
+ <xsd:element name="CURRENTLOANBAL" type="ofx:AmountType"/>
814
+ <xsd:element name="DTASOF" type="ofx:DateTimeType"/>
815
+ <xsd:element name="LOANRATE" type="ofx:RateType" minOccurs="0"/>
816
+ <xsd:element name="LOANPMTAMT" type="ofx:AmountType" minOccurs="0"/>
817
+ <xsd:element name="LOANPMTFREQ" type="ofx:InvestmentFrequencyEnum" minOccurs="0"/>
818
+ <xsd:element name="LOANPMTSINITIAL" type="ofx:NumberPayments" minOccurs="0"/>
819
+ <xsd:element name="LOANPMTSREMAINING" type="ofx:NumberPayments" minOccurs="0"/>
820
+ <xsd:element name="LOANMATURITYDATE" type="ofx:DateTimeType" minOccurs="0"/>
821
+ <xsd:element name="LOANTOTALPROJINTEREST" type="ofx:AmountType" minOccurs="0"/>
822
+ <xsd:element name="LOANINTERESTTODATE" type="ofx:AmountType" minOccurs="0"/>
823
+ <xsd:element name="LOANNEXTPMTDATE" type="ofx:DateTimeType" minOccurs="0"/>
824
+ </xsd:sequence>
825
+ </xsd:complexType>
826
+ <xsd:complexType name="MarginInterest">
827
+ <xsd:annotation>
828
+ <xsd:documentation>
829
+ The OFX element "MARGININTEREST" is of type "MarginInterest"
830
+ </xsd:documentation>
831
+ </xsd:annotation>
832
+ <xsd:complexContent>
833
+ <xsd:extension base="ofx:AbstractInvestmentTransaction">
834
+ <xsd:sequence>
835
+ <xsd:element name="TOTAL" type="ofx:AmountType"/>
836
+ <xsd:element name="SUBACCTFUND" type="ofx:SubAccountEnum"/>
837
+ <xsd:element name="CURRENCY" type="ofx:Currency" minOccurs="0"/>
838
+ <xsd:element name="ORIGCURRENCY" type="ofx:Currency" minOccurs="0"/>
839
+ </xsd:sequence>
840
+ </xsd:extension>
841
+ </xsd:complexContent>
842
+ </xsd:complexType>
843
+ <xsd:complexType name="MatchInfo">
844
+ <xsd:annotation>
845
+ <xsd:documentation>
846
+ The OFX element "MATCHINFO" is of type "MatchInfo"
847
+ </xsd:documentation>
848
+ </xsd:annotation>
849
+ <xsd:sequence>
850
+ <xsd:element name="MATCHPCT" type="ofx:RateType"/>
851
+ <xsd:element name="MAXMATCHAMT" type="ofx:AmountType" minOccurs="0"/>
852
+ <xsd:element name="MAXMATCHPCT" type="ofx:RateType" minOccurs="0"/>
853
+ <xsd:element name="STARTOFYEAR" type="ofx:DateTimeType" minOccurs="0"/>
854
+ <xsd:element name="BASEMATCHAMT" type="ofx:AmountType" minOccurs="0"/>
855
+ <xsd:element name="BASEMATCHPCT" type="ofx:RateType" minOccurs="0"/>
856
+ </xsd:sequence>
857
+ </xsd:complexType>
858
+ <xsd:complexType name="AbstractOpenOrder" abstract="true">
859
+ <xsd:sequence>
860
+ <xsd:element name="OO" type="ofx:GeneralOpenOrder"/>
861
+ </xsd:sequence>
862
+ </xsd:complexType>
863
+ <xsd:complexType name="GeneralOpenOrder">
864
+ <xsd:annotation>
865
+ <xsd:documentation>
866
+ The OFX element "OO" is of type "GeneralOpenOrder"
867
+ </xsd:documentation>
868
+ </xsd:annotation>
869
+ <xsd:sequence>
870
+ <xsd:element name="FITID" type="ofx:FinancialInstitutionTransactionIdType"/>
871
+ <xsd:element name="SRVRTID" type="ofx:ServerIdType" minOccurs="0"/>
872
+ <xsd:element name="SECID" type="ofx:SecurityId"/>
873
+ <xsd:element name="DTPLACED" type="ofx:DateTimeType"/>
874
+ <xsd:element name="UNITS" type="ofx:QuantityType"/>
875
+ <xsd:element name="SUBACCT" type="ofx:SubAccountEnum"/>
876
+ <xsd:element name="DURATION" type="ofx:DurationEnum"/>
877
+ <xsd:element name="RESTRICTION" type="ofx:RestrictionEnum"/>
878
+ <xsd:element name="MINUNITS" type="ofx:QuantityType" minOccurs="0"/>
879
+ <xsd:element name="LIMITPRICE" type="ofx:UnitPriceType" minOccurs="0"/>
880
+ <xsd:element name="STOPPRICE" type="ofx:UnitPriceType" minOccurs="0"/>
881
+ <xsd:element name="MEMO" type="ofx:MessageType" minOccurs="0"/>
882
+ <xsd:element name="CURRENCY" type="ofx:Currency" minOccurs="0"/>
883
+ <xsd:element name="INV401KSOURCE" type="ofx:Investment401kSourceEnum" minOccurs="0"/>
884
+ </xsd:sequence>
885
+ </xsd:complexType>
886
+ <xsd:complexType name="OpenOrderBuyDebt">
887
+ <xsd:annotation>
888
+ <xsd:documentation>
889
+ The OFX element "OOBUYDEBT" is of type "OpenOrderBuyDebt"
890
+ </xsd:documentation>
891
+ </xsd:annotation>
892
+ <xsd:complexContent>
893
+ <xsd:extension base="ofx:AbstractOpenOrder">
894
+ <xsd:sequence>
895
+ <xsd:element name="AUCTION" type="ofx:BooleanType"/>
896
+ <xsd:element name="DTAUCTION" type="ofx:DateTimeType" minOccurs="0"/>
897
+ </xsd:sequence>
898
+ </xsd:extension>
899
+ </xsd:complexContent>
900
+ </xsd:complexType>
901
+ <xsd:complexType name="OpenOrderBuyMutualFund">
902
+ <xsd:annotation>
903
+ <xsd:documentation>
904
+ The OFX element "OOBUYMF" is of type "OpenOrderBuyMutualFund"
905
+ </xsd:documentation>
906
+ </xsd:annotation>
907
+ <xsd:complexContent>
908
+ <xsd:extension base="ofx:AbstractOpenOrder">
909
+ <xsd:sequence>
910
+ <xsd:element name="BUYTYPE" type="ofx:BuyEnum"/>
911
+ <xsd:element name="UNITTYPE" type="ofx:UnitTypeEnum"/>
912
+ </xsd:sequence>
913
+ </xsd:extension>
914
+ </xsd:complexContent>
915
+ </xsd:complexType>
916
+ <xsd:complexType name="OpenOrderBuyOption">
917
+ <xsd:annotation>
918
+ <xsd:documentation>
919
+ The OFX element "OOBUYOPT" is of type "OpenOrderBuyOption"
920
+ </xsd:documentation>
921
+ </xsd:annotation>
922
+ <xsd:complexContent>
923
+ <xsd:extension base="ofx:AbstractOpenOrder">
924
+ <xsd:sequence>
925
+ <xsd:element name="OPTBUYTYPE" type="ofx:OptionBuyEnum"/>
926
+ </xsd:sequence>
927
+ </xsd:extension>
928
+ </xsd:complexContent>
929
+ </xsd:complexType>
930
+ <xsd:complexType name="OpenOrderBuyOther">
931
+ <xsd:annotation>
932
+ <xsd:documentation>
933
+ The OFX element "OOBUYOTHER" is of type "OpenOrderBuyOther"
934
+ </xsd:documentation>
935
+ </xsd:annotation>
936
+ <xsd:complexContent>
937
+ <xsd:extension base="ofx:AbstractOpenOrder">
938
+ <xsd:sequence>
939
+ <xsd:element name="UNITTYPE" type="ofx:UnitTypeEnum"/>
940
+ </xsd:sequence>
941
+ </xsd:extension>
942
+ </xsd:complexContent>
943
+ </xsd:complexType>
944
+ <xsd:complexType name="OpenOrderBuyStock">
945
+ <xsd:annotation>
946
+ <xsd:documentation>
947
+ The OFX element "OOBUYSTOCK" is of type "OpenOrderBuyStock"
948
+ </xsd:documentation>
949
+ </xsd:annotation>
950
+ <xsd:complexContent>
951
+ <xsd:extension base="ofx:AbstractOpenOrder">
952
+ <xsd:sequence>
953
+ <xsd:element name="BUYTYPE" type="ofx:BuyEnum"/>
954
+ </xsd:sequence>
955
+ </xsd:extension>
956
+ </xsd:complexContent>
957
+ </xsd:complexType>
958
+ <xsd:complexType name="OpenOrderSellDebt">
959
+ <xsd:annotation>
960
+ <xsd:documentation>
961
+ The OFX element "OOSELLDEBT" is of type "OpenOrderSellDebt"
962
+ </xsd:documentation>
963
+ </xsd:annotation>
964
+ <xsd:complexContent>
965
+ <xsd:extension base="ofx:AbstractOpenOrder"/>
966
+ </xsd:complexContent>
967
+ </xsd:complexType>
968
+ <xsd:complexType name="OpenOrderSellMutualFund">
969
+ <xsd:annotation>
970
+ <xsd:documentation>
971
+ The OFX element "OOSELLMF" is of type "OpenOrderSellMutualFund"
972
+ </xsd:documentation>
973
+ </xsd:annotation>
974
+ <xsd:complexContent>
975
+ <xsd:extension base="ofx:AbstractOpenOrder">
976
+ <xsd:sequence>
977
+ <xsd:element name="SELLTYPE" type="ofx:SellTypeEnum"/>
978
+ <xsd:element name="UNITTYPE" type="ofx:UnitTypeEnum"/>
979
+ <xsd:element name="SELLALL" type="ofx:BooleanType"/>
980
+ </xsd:sequence>
981
+ </xsd:extension>
982
+ </xsd:complexContent>
983
+ </xsd:complexType>
984
+ <xsd:complexType name="OpenOrderSellOption">
985
+ <xsd:annotation>
986
+ <xsd:documentation>
987
+ The OFX element "OOSELLOPT" is of type "OpenOrderSellOption"
988
+ </xsd:documentation>
989
+ </xsd:annotation>
990
+ <xsd:complexContent>
991
+ <xsd:extension base="ofx:AbstractOpenOrder">
992
+ <xsd:sequence>
993
+ <xsd:element name="OPTSELLTYPE" type="ofx:OptionSellEnum"/>
994
+ </xsd:sequence>
995
+ </xsd:extension>
996
+ </xsd:complexContent>
997
+ </xsd:complexType>
998
+ <xsd:complexType name="OpenOrderSellOther">
999
+ <xsd:annotation>
1000
+ <xsd:documentation>
1001
+ The OFX element "OOSELLOTHER" is of type "OpenOrderSellOther"
1002
+ </xsd:documentation>
1003
+ </xsd:annotation>
1004
+ <xsd:complexContent>
1005
+ <xsd:extension base="ofx:AbstractOpenOrder">
1006
+ <xsd:sequence>
1007
+ <xsd:element name="UNITTYPE" type="ofx:UnitTypeEnum"/>
1008
+ </xsd:sequence>
1009
+ </xsd:extension>
1010
+ </xsd:complexContent>
1011
+ </xsd:complexType>
1012
+ <xsd:complexType name="OpenOrderSellStock">
1013
+ <xsd:annotation>
1014
+ <xsd:documentation>
1015
+ The OFX element "OOSELLSTOCK" is of type "OpenOrderSellStock"
1016
+ </xsd:documentation>
1017
+ </xsd:annotation>
1018
+ <xsd:complexContent>
1019
+ <xsd:extension base="ofx:AbstractOpenOrder">
1020
+ <xsd:sequence>
1021
+ <xsd:element name="SELLTYPE" type="ofx:SellTypeEnum"/>
1022
+ </xsd:sequence>
1023
+ </xsd:extension>
1024
+ </xsd:complexContent>
1025
+ </xsd:complexType>
1026
+ <xsd:complexType name="OpenOrderSwitchMutualFund">
1027
+ <xsd:annotation>
1028
+ <xsd:documentation>
1029
+ The OFX element "SWITCHMF" is of type "OpenOrderSwitchMutualFund"
1030
+ </xsd:documentation>
1031
+ </xsd:annotation>
1032
+ <xsd:complexContent>
1033
+ <xsd:extension base="ofx:AbstractOpenOrder">
1034
+ <xsd:sequence>
1035
+ <xsd:element name="SECID" type="ofx:SecurityId"/>
1036
+ <xsd:element name="UNITTYPE" type="ofx:UnitTypeEnum"/>
1037
+ <xsd:element name="SWITCHALL" type="ofx:BooleanType"/>
1038
+ </xsd:sequence>
1039
+ </xsd:extension>
1040
+ </xsd:complexContent>
1041
+ </xsd:complexType>
1042
+ <xsd:complexType name="PeriodToDate">
1043
+ <xsd:annotation>
1044
+ <xsd:documentation>
1045
+ The OFX element "PERIODTODATE" is of type "PeriodToDate"
1046
+ </xsd:documentation>
1047
+ </xsd:annotation>
1048
+ <xsd:sequence>
1049
+ <xsd:element name="DTSTART" type="ofx:DateTimeType"/>
1050
+ <xsd:element name="DTEND" type="ofx:DateTimeType"/>
1051
+ <xsd:element name="CONTRIBUTIONS" type="ofx:Contributions" minOccurs="0"/>
1052
+ <xsd:element name="WITHDRAWALS" type="ofx:Withdrawals" minOccurs="0"/>
1053
+ <xsd:element name="EARNINGS" type="ofx:Earnings" minOccurs="0"/>
1054
+ </xsd:sequence>
1055
+ </xsd:complexType>
1056
+ <xsd:complexType name="PositionDebt">
1057
+ <xsd:annotation>
1058
+ <xsd:documentation>
1059
+ The OFX element "POSDEBT" is of type "PositionDebt"
1060
+ </xsd:documentation>
1061
+ </xsd:annotation>
1062
+ <xsd:complexContent>
1063
+ <xsd:extension base="ofx:AbstractPositionBase"/>
1064
+ </xsd:complexContent>
1065
+ </xsd:complexType>
1066
+ <xsd:complexType name="AbstractPositionBase" abstract="true">
1067
+ <xsd:sequence>
1068
+ <xsd:element name="INVPOS" type="ofx:InvestmentPosition"/>
1069
+ </xsd:sequence>
1070
+ </xsd:complexType>
1071
+ <xsd:complexType name="PositionMutualFund">
1072
+ <xsd:annotation>
1073
+ <xsd:documentation>
1074
+ The OFX element "POSMF" is of type "PositionMutualFund"
1075
+ </xsd:documentation>
1076
+ </xsd:annotation>
1077
+ <xsd:complexContent>
1078
+ <xsd:extension base="ofx:AbstractPositionBase">
1079
+ <xsd:sequence>
1080
+ <xsd:element name="UNITSSTREET" type="ofx:PositiveQuantityType" minOccurs="0"/>
1081
+ <xsd:element name="UNITSUSER" type="ofx:PositiveQuantityType" minOccurs="0"/>
1082
+ <xsd:element name="REINVDIV" type="ofx:BooleanType" minOccurs="0"/>
1083
+ <xsd:element name="REINVCG" type="ofx:BooleanType" minOccurs="0"/>
1084
+ </xsd:sequence>
1085
+ </xsd:extension>
1086
+ </xsd:complexContent>
1087
+ </xsd:complexType>
1088
+ <xsd:complexType name="PositionOption">
1089
+ <xsd:annotation>
1090
+ <xsd:documentation>
1091
+ The OFX element "POSOPT" is of type "PositionOption"
1092
+ </xsd:documentation>
1093
+ </xsd:annotation>
1094
+ <xsd:complexContent>
1095
+ <xsd:extension base="ofx:AbstractPositionBase">
1096
+ <xsd:sequence>
1097
+ <xsd:element name="SECURED" type="ofx:SecuredEnum" minOccurs="0"/>
1098
+ </xsd:sequence>
1099
+ </xsd:extension>
1100
+ </xsd:complexContent>
1101
+ </xsd:complexType>
1102
+ <xsd:complexType name="PositionOther">
1103
+ <xsd:annotation>
1104
+ <xsd:documentation>
1105
+ The OFX element "POSOTHER" is of type "PositionOther"
1106
+ </xsd:documentation>
1107
+ </xsd:annotation>
1108
+ <xsd:complexContent>
1109
+ <xsd:extension base="ofx:AbstractPositionBase"/>
1110
+ </xsd:complexContent>
1111
+ </xsd:complexType>
1112
+ <xsd:complexType name="PositionStock">
1113
+ <xsd:annotation>
1114
+ <xsd:documentation>
1115
+ The OFX element "POSSTOCK" is of type "PositionStock"
1116
+ </xsd:documentation>
1117
+ </xsd:annotation>
1118
+ <xsd:complexContent>
1119
+ <xsd:extension base="ofx:AbstractPositionBase">
1120
+ <xsd:sequence>
1121
+ <xsd:element name="UNITSSTREET" type="ofx:PositiveQuantityType" minOccurs="0"/>
1122
+ <xsd:element name="UNITSUSER" type="ofx:PositiveQuantityType" minOccurs="0"/>
1123
+ <xsd:element name="REINVDIV" type="ofx:BooleanType" minOccurs="0"/>
1124
+ </xsd:sequence>
1125
+ </xsd:extension>
1126
+ </xsd:complexContent>
1127
+ </xsd:complexType>
1128
+ <xsd:complexType name="Reinvest">
1129
+ <xsd:annotation>
1130
+ <xsd:documentation>
1131
+ The OFX element "REINVEST" is of type "Reinvest"
1132
+ </xsd:documentation>
1133
+ </xsd:annotation>
1134
+ <xsd:complexContent>
1135
+ <xsd:extension base="ofx:AbstractInvestmentTransaction">
1136
+ <xsd:sequence>
1137
+ <xsd:element name="SECID" type="ofx:SecurityId"/>
1138
+ <xsd:element name="INCOMETYPE" type="ofx:IncomeEnum"/>
1139
+ <xsd:element name="TOTAL" type="ofx:AmountType"/>
1140
+ <xsd:element name="SUBACCTSEC" type="ofx:SubAccountEnum"/>
1141
+ <xsd:element name="UNITS" type="ofx:QuantityType"/>
1142
+ <xsd:element name="UNITPRICE" type="ofx:UnitPriceType"/>
1143
+ <xsd:element name="COMMISSION" type="ofx:PositiveAmountType" minOccurs="0"/>
1144
+ <xsd:element name="TAXES" type="ofx:PositiveAmountType" minOccurs="0"/>
1145
+ <xsd:element name="FEES" type="ofx:PositiveAmountType" minOccurs="0"/>
1146
+ <xsd:element name="LOAD" type="ofx:PositiveAmountType" minOccurs="0"/>
1147
+ <xsd:element name="TAXEXEMPT" type="ofx:BooleanType" minOccurs="0"/>
1148
+ <xsd:element name="CURRENCY" type="ofx:Currency" minOccurs="0"/>
1149
+ <xsd:element name="ORIGCURRENCY" type="ofx:Currency" minOccurs="0"/>
1150
+ <xsd:element name="INV401KSOURCE" type="ofx:Investment401kSourceEnum" minOccurs="0"/>
1151
+ </xsd:sequence>
1152
+ </xsd:extension>
1153
+ </xsd:complexContent>
1154
+ </xsd:complexType>
1155
+ <xsd:complexType name="ReturnOfCapital">
1156
+ <xsd:annotation>
1157
+ <xsd:documentation>
1158
+ The OFX element "RETOFCAP" is of type "ReturnOfCapital"
1159
+ </xsd:documentation>
1160
+ </xsd:annotation>
1161
+ <xsd:complexContent>
1162
+ <xsd:extension base="ofx:AbstractInvestmentTransaction">
1163
+ <xsd:sequence>
1164
+ <xsd:element name="SECID" type="ofx:SecurityId"/>
1165
+ <xsd:element name="TOTAL" type="ofx:AmountType"/>
1166
+ <xsd:element name="SUBACCTSEC" type="ofx:SubAccountEnum"/>
1167
+ <xsd:element name="SUBACCTFUND" type="ofx:SubAccountEnum"/>
1168
+ <xsd:element name="CURRENCY" type="ofx:Currency" minOccurs="0"/>
1169
+ <xsd:element name="ORIGCURRENCY" type="ofx:Currency" minOccurs="0"/>
1170
+ <xsd:element name="INV401KSOURCE" type="ofx:Investment401kSourceEnum" minOccurs="0"/>
1171
+ </xsd:sequence>
1172
+ </xsd:extension>
1173
+ </xsd:complexContent>
1174
+ </xsd:complexType>
1175
+ <xsd:complexType name="SellDebt">
1176
+ <xsd:annotation>
1177
+ <xsd:documentation>
1178
+ The OFX element "SELLDEBT" is of type "SellDebt"
1179
+ </xsd:documentation>
1180
+ </xsd:annotation>
1181
+ <xsd:complexContent>
1182
+ <xsd:extension base="ofx:AbstractInvestmentSellTransaction">
1183
+ <xsd:sequence>
1184
+ <xsd:element name="SELLREASON" type="ofx:SellReasonEnum"/>
1185
+ <xsd:element name="ACCRDINT" type="ofx:AmountType" minOccurs="0"/>
1186
+ </xsd:sequence>
1187
+ </xsd:extension>
1188
+ </xsd:complexContent>
1189
+ </xsd:complexType>
1190
+ <xsd:complexType name="SellMutualFund">
1191
+ <xsd:annotation>
1192
+ <xsd:documentation>
1193
+ The OFX element "SELLMF" is of type "SellMutualFund"
1194
+ </xsd:documentation>
1195
+ </xsd:annotation>
1196
+ <xsd:complexContent>
1197
+ <xsd:extension base="ofx:AbstractInvestmentSellTransaction">
1198
+ <xsd:sequence>
1199
+ <xsd:element name="SELLTYPE" type="ofx:SellTypeEnum"/>
1200
+ <xsd:element name="AVGCOSTBASIS" type="ofx:AmountType" minOccurs="0"/>
1201
+ <xsd:element name="RELFITID" type="ofx:FinancialInstitutionTransactionIdType" minOccurs="0"/>
1202
+ </xsd:sequence>
1203
+ </xsd:extension>
1204
+ </xsd:complexContent>
1205
+ </xsd:complexType>
1206
+ <xsd:complexType name="SellOption">
1207
+ <xsd:annotation>
1208
+ <xsd:documentation>
1209
+ The OFX element "SELLOPT" is of type "SellOption"
1210
+ </xsd:documentation>
1211
+ </xsd:annotation>
1212
+ <xsd:complexContent>
1213
+ <xsd:extension base="ofx:AbstractInvestmentSellTransaction">
1214
+ <xsd:sequence>
1215
+ <xsd:element name="OPTSELLTYPE" type="ofx:OptionSellEnum"/>
1216
+ <xsd:element name="SHPERCTRCT" type="ofx:SharesPerType"/>
1217
+ <xsd:element name="RELFITID" type="ofx:FinancialInstitutionTransactionIdType" minOccurs="0"/>
1218
+ <xsd:element name="RELTYPE" type="ofx:RelatedEnum" minOccurs="0"/>
1219
+ <xsd:element name="SECURED" type="ofx:SecuredEnum" minOccurs="0"/>
1220
+ </xsd:sequence>
1221
+ </xsd:extension>
1222
+ </xsd:complexContent>
1223
+ </xsd:complexType>
1224
+ <xsd:complexType name="SellOther">
1225
+ <xsd:annotation>
1226
+ <xsd:documentation>
1227
+ The OFX element "SELLOTHER" is of type "SellOther"
1228
+ </xsd:documentation>
1229
+ </xsd:annotation>
1230
+ <xsd:complexContent>
1231
+ <xsd:extension base="ofx:AbstractInvestmentSellTransaction"/>
1232
+ </xsd:complexContent>
1233
+ </xsd:complexType>
1234
+ <xsd:complexType name="SellStock">
1235
+ <xsd:annotation>
1236
+ <xsd:documentation>
1237
+ The OFX element "SELLSTOCK" is of type "SellStock"
1238
+ </xsd:documentation>
1239
+ </xsd:annotation>
1240
+ <xsd:complexContent>
1241
+ <xsd:extension base="ofx:AbstractInvestmentSellTransaction">
1242
+ <xsd:sequence>
1243
+ <xsd:element name="SELLTYPE" type="ofx:SellTypeEnum"/>
1244
+ </xsd:sequence>
1245
+ </xsd:extension>
1246
+ </xsd:complexContent>
1247
+ </xsd:complexType>
1248
+ <xsd:complexType name="Split">
1249
+ <xsd:annotation>
1250
+ <xsd:documentation>
1251
+ The OFX element "SPLIT" is of type "Split"
1252
+ </xsd:documentation>
1253
+ </xsd:annotation>
1254
+ <xsd:complexContent>
1255
+ <xsd:extension base="ofx:AbstractInvestmentTransaction">
1256
+ <xsd:sequence>
1257
+ <xsd:element name="SECID" type="ofx:SecurityId"/>
1258
+ <xsd:element name="SUBACCTSEC" type="ofx:SubAccountEnum"/>
1259
+ <xsd:element name="OLDUNITS" type="ofx:QuantityType"/>
1260
+ <xsd:element name="NEWUNITS" type="ofx:QuantityType"/>
1261
+ <xsd:element name="NUMERATOR" type="ofx:QuantityType"/>
1262
+ <xsd:element name="DENOMINATOR" type="ofx:QuantityType"/>
1263
+ <xsd:element name="CURRENCY" type="ofx:Currency" minOccurs="0"/>
1264
+ <xsd:element name="ORIGCURRENCY" type="ofx:Currency" minOccurs="0"/>
1265
+ <xsd:element name="FRACCASH" type="ofx:AmountType" minOccurs="0"/>
1266
+ <xsd:element name="SUBACCTFUND" type="ofx:SubAccountEnum" minOccurs="0"/>
1267
+ <xsd:element name="INV401KSOURCE" type="ofx:Investment401kSourceEnum" minOccurs="0"/>
1268
+ </xsd:sequence>
1269
+ </xsd:extension>
1270
+ </xsd:complexContent>
1271
+ </xsd:complexType>
1272
+ <xsd:complexType name="Transfer">
1273
+ <xsd:annotation>
1274
+ <xsd:documentation>
1275
+ The OFX element "TRANSFER" is of type "Transfer"
1276
+ </xsd:documentation>
1277
+ </xsd:annotation>
1278
+ <xsd:complexContent>
1279
+ <xsd:extension base="ofx:AbstractInvestmentTransaction">
1280
+ <xsd:sequence>
1281
+ <xsd:element name="SECID" type="ofx:SecurityId"/>
1282
+ <xsd:element name="SUBACCTSEC" type="ofx:SubAccountEnum"/>
1283
+ <xsd:element name="UNITS" type="ofx:QuantityType"/>
1284
+ <xsd:element name="TFERACTION" type="ofx:InOutEnum"/>
1285
+ <xsd:element name="POSTYPE" type="ofx:PositionTypeEnum"/>
1286
+ <xsd:element name="INVACCTFROM" type="ofx:InvestmentAccount" minOccurs="0"/>
1287
+ <xsd:element name="AVGCOSTBASIS" type="ofx:AmountType" minOccurs="0"/>
1288
+ <xsd:element name="UNITPRICE" type="ofx:UnitPriceType" minOccurs="0"/>
1289
+ <xsd:element name="DTPURCHASE" type="ofx:DateTimeType" minOccurs="0"/>
1290
+ <xsd:element name="INV401KSOURCE" type="ofx:Investment401kSourceEnum" minOccurs="0"/>
1291
+ </xsd:sequence>
1292
+ </xsd:extension>
1293
+ </xsd:complexContent>
1294
+ </xsd:complexType>
1295
+ <xsd:complexType name="VestInfo">
1296
+ <xsd:annotation>
1297
+ <xsd:documentation>
1298
+ The OFX element "VESTINFO" is of type "VestInfo"
1299
+ </xsd:documentation>
1300
+ </xsd:annotation>
1301
+ <xsd:sequence>
1302
+ <xsd:element name="VESTDATE" type="ofx:DateTimeType" minOccurs="0"/>
1303
+ <xsd:element name="VESTPCT" type="ofx:RateType"/>
1304
+ </xsd:sequence>
1305
+ </xsd:complexType>
1306
+ <xsd:complexType name="Withdrawals">
1307
+ <xsd:annotation>
1308
+ <xsd:documentation>
1309
+ The OFX element "WITHDRAWALS" is of type "Withdrawals"
1310
+ </xsd:documentation>
1311
+ </xsd:annotation>
1312
+ <xsd:sequence>
1313
+ <xsd:element name="PRETAX" type="ofx:AmountType" minOccurs="0"/>
1314
+ <xsd:element name="AFTERTAX" type="ofx:AmountType" minOccurs="0"/>
1315
+ <xsd:element name="MATCH" type="ofx:AmountType" minOccurs="0"/>
1316
+ <xsd:element name="PROFITSHARING" type="ofx:AmountType" minOccurs="0"/>
1317
+ <xsd:element name="ROLLOVER" type="ofx:AmountType" minOccurs="0"/>
1318
+ <xsd:element name="OTHERVEST" type="ofx:AmountType" minOccurs="0"/>
1319
+ <xsd:element name="OTHERNONVEST" type="ofx:AmountType" minOccurs="0"/>
1320
+ <xsd:element name="TOTAL" type="ofx:AmountType"/>
1321
+ </xsd:sequence>
1322
+ </xsd:complexType>
1323
+ <xsd:complexType name="YearToDate">
1324
+ <xsd:annotation>
1325
+ <xsd:documentation>
1326
+ The OFX element "YEARTODATE" is of type "YearToDate"
1327
+ </xsd:documentation>
1328
+ </xsd:annotation>
1329
+ <xsd:sequence>
1330
+ <xsd:element name="DTSTART" type="ofx:DateTimeType"/>
1331
+ <xsd:element name="DTEND" type="ofx:DateTimeType"/>
1332
+ <xsd:element name="CONTRIBUTIONS" type="ofx:Contributions" minOccurs="0"/>
1333
+ <xsd:element name="WITHDRAWALS" type="ofx:Withdrawals" minOccurs="0"/>
1334
+ <xsd:element name="EARNINGS" type="ofx:Earnings" minOccurs="0"/>
1335
+ </xsd:sequence>
1336
+ </xsd:complexType>
1337
+
1338
+ <xsd:complexType name="InvestmentClosing">
1339
+ <xsd:annotation>
1340
+ <xsd:documentation>
1341
+ The OFX element "INVCLOSING" is of type "InvestmentClosing"
1342
+ </xsd:documentation>
1343
+ </xsd:annotation>
1344
+
1345
+ <xsd:sequence>
1346
+ <xsd:element name="FITID" type="ofx:FinancialInstitutionTransactionIdType"/>
1347
+ <xsd:element name="IMAGEDATA" type="ofx:ImageData" minOccurs="0"/>
1348
+ </xsd:sequence>
1349
+ </xsd:complexType>
1350
+
1351
+ </xsd:schema>
1352
+
1353
+
1354
+
1355
+
1356
+
1357
+
1358
+