This does not apply to Active Statements.
.
Investments
Open Financial Exchange supports download of security information and detailed investment account statements including transactions, open orders, balances, and positions. Refer to the OFX specification for more detail to implement Investments statements for Active Statements. Microsoft Money and MSN Money also provides specific information to financial institutions offering brokerage services interested in implementing OFX or OFX Active Statements for Money.
Types of Response Information
The response consists of five types of information:
-
Transactions – a combination of bank transaction detail records and investment transaction detail records. Transactions only within the specified start and stop dates are sent.
-
Positions – positions a user has at a brokerage. Each statement response must contain a complete set of position records, even if no transactions occurred in the requested statement period for a particular holding.
-
Balances – current balances typically reported on an FI statement, such as cash balance or buying power. They can also convey other numbers of interest, such as current interest rates.
-
Securities – any security referenced in either transactions, positions, open orders or explicitly requested.
Appendices
Status Codes
Only STATUS 0 is used for Active Statements.
Change History OFX 1.0 to 1.0.1
This section describes the revisions to Open Financial Exchange that occurred between version 1.0 and version 1.0.1. These revisions are grouped into the following categories:
-
Revisions to the specification text, organized by chapter
-
General revisions to the specification text
-
Changes to the Document Type Definition (DTD) files
Specification Changes by Chapter Chapter 1, “Overview”
-
Section
|
Subject
|
Change Type
|
Change
|
1.2.1
|
Header examples, SECURITY tag
|
Correction
|
Changed SECURITY:1 to SECURITY:Type1.
| Chapter 2, “Structure” Sections 2.2 to 2.4.4
-
Section
|
Subject
|
Change Type
|
Change
|
2.1
|
HTTP headers, errors
|
Clarification
|
The server must return code 400 for any problem that prevents it from processing the request file. Processing problems include failures relating to security, communication, parsing, or the Open Financial Exchange headers (for example, the client requested an unsupported language).
|
2.2,
2.2.1 to 2.2.7
|
Headers
|
Clarification
|
Defined values for the Open Financial Exchange headers.
|
2.3.1
|
SGML compliance
|
Correction
|
Changed “complaint” to “compliant.”
|
2.3.2
|
SGML values
|
Clarification
|
Clarified acceptable SGML values.
|
2.3.3
|
Comments
|
Addition
|
For explanatory purposes, the examples in the specification contain comments. However, Open Financial Exchange files cannot contain comments.
|
2.4.3
|
Messages, transaction wrappers
|
Clarification
|
For requests, the transaction wrapper adds a transaction unique ID . For responses, the transaction wrapper adds the same transaction unique ID , plus a aggregate.
|
2.4.4
|
Message sets
|
Correction
|
Added missing “rq” and “rs” for <XXXMSGSRQVn> and <XXXMSGSRSVn>. For each message set of XXX and version n, there are two aggregates – one for requests (<XXXMSGSRQVn>) and one for responses (<XXXMSGSRSVn>).
|
Sections 2.5.1 to 2.6
-
Section
|
Subject
|
Change Type
|
Change
|
2.5.1
|
, user IDs in signon requests
|
Clarification
|
Servers must accept user IDs, with or without punctuation.
|
|
, server response to signon failure
|
Clarification
|
If the server returns any signon error, it must respond to all other requests in the same block with status code 15500. The server must return status code 15500 to all requests; it cannot simply ignore the requests.
|
2.5.1.1
|
|
Correction
|
Moved after aggregate.
|
|
|
Correction
|
Choose either 1) and or
2) .
|
2.5.1.2
|
|
Clarification
|
Updated element sizes.
|
2.5.2.1
|
|
Clarification
|
Clarified scope of the PIN change.
|
2.5.3
|
|
Addition
|
Added description of the signon message set.
|
2.6
|
example
|
Correction
|
Changed zzz.html to zzz.jpg.
|
2.7
|
Extensions to Open Financial Exchange
|
Clarification
|
End tags are required for all aggregates and elements introduced by an organization. For example, must be followed by .
|
Chapter 3, “Common Aggregates, Elements, and Data Types” Sections 3.1.2 to 3.2.3
-
Section
|
Subject
|
Change Type
|
Change
|
3.1.2
|
User-supplied numbers
|
Addition
|
Clients will not attempt to strip dashes or other punctuation from user-supplied numbers, such as the in an enrollment request or the in a service-addition request. Servers must be prepared to accept these numbers with or without punctuation.
|
3.1.3
|
|
Correction
|
Balance is of type A-32.
|
|
|
Correction
|
Moved before aggregate.
|
|
|
Correction
|
Changed format of DOLLAR to DDDD.cc.
|
3.1.4
|
|
Clarification
|
element is of type A-255.
|
|
|
Addition
|
Added status code 15500 to the list of general errors that a server can return.
|
3.2.3
|
element
|
Clarification
|
In most cases, clients originate transactions. When a client originates a for a transaction, the value of the is always set to a unique identifier.
When the server originates a transaction, the value of the must be set to zero.
|
Sections 3.3.1 to 3.3.4
-
Section
|
Subject
|
Change Type
|
Change
|
3.3.1,
3.3.1.1,
3.3.1.2, 3.3.1.3
|
Dates and times
|
Clarification
|
Clarified format of date, datetime, and time.
|
3.3.2
|
Amounts, prices, and quantities
|
Clarification
|
Clarified size of types, implied decimal point if none is specified, and server error code for unsupported size or precision.
|
3.3.2.1
|
Amounts
|
Correction
|
Amounts that do not represent whole numbers (for example, 540.32), must include a decimal point or comma to indicate the start of the fractional amount. Amounts should not include any punctuation separating thousands, millions, and so forth.
|
3.3.4
|
currSymbol type
|
Addition
|
Added currSymbol type, a three-letter code that identifies the currency being used for a request or response. The currency codes are based on ISO-4217.
|
|
URL
|
Clarification
|
Specified size of URL type as A-255.
|
Chapter 5, “International Support”
This section does not apply to Active Statements.
Chapter 6, “Data Synchronization”
This section does not apply to Active Statements.
Chapter 7, “FI Profile”
This section does not apply to Active Statements.
Chapter 8, “Activation & Account Information”
This section does not apply to Active Statements.
Chapter 9, “Customer to FI Communication”
This section does not apply to Active Statements.
Chapter 10, “Recurring Transactions”
This section does not apply to Active Statements.
Chapter 11, “Banking” Sections 11.2.1.1 to 11.8.3
-
Section
|
Subject
|
Change Type
|
Change
|
11.2.1.1
|
|
Addition
|
Added and .
|
11.3.1
|
|
Clarification
|
Clarified size and definition of elements.
|
11.3.2
|
|
Clarification
|
Clarified size and definition of elements.
|
11.3.3
|
|
Clarification
|
Clarified size and definition of elements.
|
11.4.1.1
|
|
Clarification
|
Clarified size and definition of elements.
|
11.4.1.2
|
|
Clarification
|
is of type currsymbol.
|
11.4.2.1
|
|
Clarification
|
is of type currsymbol.
|
11.4.2.3.1
|
|
Clarification
|
Clarified size and definition of elements.
|
11.5.1.2
|
|
Clarification
|
is of type currsymbol.
|
11.5.2
|
|
Clarification
|
Clarified size and definition of elements.
|
11.5.4
|
|
Clarification
|
is of type currsymbol.
|
11.6.1.1
|
|
Correction
|
Changed type of and to A-12.
|
11.6.1.2
|
|
Clarification
|
is of type currsymbol.
|
11.6.1.2.1
|
|
Clarification
|
Clarified size and definition of elements.
|
11.7.1.2
|
|
Addition
|
Added aggregate.
|
|
|
Clarification
|
Clarified size and definition of elements.
|
11.7.2
|
|
Correction
|
When modifying a transfer, the client must specify all of the tags within the aggregate that were specified when the transfer was created, not just the tags that the client wants to modify.
|
11.8.2.2
|
|
Addition
|
Added aggregate.
|
|
|
Clarification
|
Clarified size and definition of elements.
|
11.8.3
|
|
Correction
|
When modifying a transfer, the client must specify all of the tags within the aggregate that were specified when the transfer was created, not just the tags that the client wants to modify.
|
Sections 11.9.1.1 to 11.10.6.2
-
Section
|
Subject
|
Change Type
|
Change
|
11.9.1.1
|
|
Clarification
|
Clarified size and definition of elements.
|
|
|
Correction
|
Made aggregate optional.
|
11.9.1.1.1
|
|
Clarification
|
Clarified size and definition of elements.
|
11.9.1.1.2
|
|
Clarification
|
Clarified size and definition of elements.
|
11.9.1.2
|
|
Clarification
|
Clarified size and definition of elements.
|
11.10.2.1
|
|
Clarification
|
If the client sets this flag, the server must modify pending and future transfers.
|
11.10.2.2
|
|
Clarification
|
Y if client requested that the server modify pending and future transfers. N if the client did not request that the server modify pending and future transfers. Boolean
|
11.10.3.1
|
|
Clarification
|
If the client sets this flag, the server must cancel pending and future transfers.
|
11.10.3.2
|
|
Clarification
|
Y if the client requested that the server cancel pending and future transfers. N if the client did not request that the server cancel pending and future transfers.
|
11.10.5.1
|
|
Clarification
|
If the client sets this flag, the server must modify pending and future transfers.
|
11.10.5.2
|
|
Clarification
|
Y if client requested that the server modify pending and future transfers. N if the client did not request that the server modify pending and future transfers. Boolean
|
11.10.5.1
|
|
Clarification
|
Clarified size and definition of elements.
|
11.10.6.1
|
|
Clarification
|
If the client sets this flag, the server must cancel pending and future transfers.
|
11.10.6.2
|
|
Clarification
|
Y if the client requested that the server cancel pending and future transfers. N if the client did not request that the server cancel pending and future transfers.
|
Sections 11.12.1.1 to 11.12.7.2
-
Section
|
Subject
|
Change Type
|
Change
|
11.12.1.1
|
|
Clarification
|
Clarified size and definition of elements.
|
|
|
Addition
|
Added , , and .
|
11.12.1.2
|
|
Clarification
|
Clarified size and definition of elements.
|
11.12.2.1
|
|
Clarification
|
Clarified size and definition of elements.
|
|
|
Addition
|
Added , , and .
|
11.12.2.2
|
|
Clarification
|
Clarified size and definition of elements.
|
11.12.3.1
|
|
Clarification
|
Clarified size and definition of elements.
|
|
|
Addition
|
Added , , and .
|
11.12.3.2
|
|
Clarification
|
Clarified size and definition of elements.
|
11.12.4.1
|
|
Clarification
|
Clarified size and definition of elements.
|
|
|
Addition
|
Added , , and .
|
11.12.4.2
|
|
Clarification
|
Clarified size and definition of elements.
|
11.12.5.1
|
|
Clarification
|
Clarified size and definition of elements.
|
|
|
Addition
|
Added , , and .
|
11.12.5.2
|
|
Clarification
|
Clarified size and definition of elements.
|
11.12.6.1
|
|
Clarification
|
Clarified size and definition of elements.
|
|
|
Addition
|
Added , , and .
|
11.12.6.2
|
|
Clarification
|
Clarified size and definition of elements.
|
11.12.7.1
|
|
Clarification
|
Clarified size and definition of elements.
|
|
|
Addition
|
Added , , and elements.
|
|
|
Correction
|
The account-from aggregate can be either or .
|
11.12.7.2
|
|
Clarification
|
Clarified size and definition of elements.
|
|
|
Correction
|
The account-from aggregate can be either or .
|
Sections 11.13.1 to 11.14.4
-
Section
|
Subject
|
Change Type
|
Change
|
11.13.1, 11.13.1.1, 11.13.1.2, 11.13.1.3, 11.13.1.4
|
Bank message sets and messages
|
Clarification
|
Updated tables to identify the message set aggregates and corresponding messages.
|
11.13.2
|
|
Correction
|
Made ,
, , and optional.
|
11.13.4
|
|
Correction
|
Made
optional.
|
11.13.5
|
|
Correction
|
Made
optional.
|
11.14.1
|
Example
|
Correction
|
Changed > to .
|
11.14.2
|
Recurring transfer response
|
Correction
|
Changed ENG to USD.
|
11.14.3
|
Example
|
Correction
|
Changed 0 to 0.
|
|
|
Addition
|
Added and elements.
|
11.14.4
|
Example of synchronization request
|
Addition
|
Added N after .
| Chapter 12, “Payments”
Refer to the OFX Specification.
Chapter 13, “Investments”
Refer to the OFX Specification.
-
The text associated with status codes has been standardized throughout the specification. The text for a status code should always be the same, regardless of the context in which it is used. For a complete list of the status codes that can be returned by a server, refer to Appendix A, “Status Codes.”
DTD Changes
The corrections to the DTD files ensure that the DTD files match the specification. They do not represent changes to the specification itself.
-
Subject
|
Change Type
|
Change
|
|
Correction
|
Made and
optional.
|
|
Addition
|
Added .
|
|
Correction
|
Made and optional.
|
,
|
Addition
|
Some of the synchronization requests and responses were not listed as being part of and .
|
, ,
,
|
Correction
|
Made elements optional.
|
|
Correction
|
Made an enumerated type with the following values: MONTHLY, QUARTERLY, SEMIANNUAL, ANNUAL, or OTHER.
|
|
Correction
|
can contain one or both of the following aggregates: and .
|
|
Correction
|
Made , , , and optional.
|
|
Correction
|
Added and .
|
|
Addition
|
Added and .
|
Investment statements
|
Correction
|
Removed required ordering constraint for transactions, open orders, positions, and security lists.
|
|
Addition
|
Added element to DTD.
|
|
Addition
|
Added to DTD.
|
|
Addition
|
Added and .
|
|
Deletion
|
Removed and .
|
|
Correction
|
If is used,
is required.
|
|
Correction
|
Made and
optional.
|
|
Addition
|
Added after
.
|
|
Correction
|
Changed element to .
|
|
Correction
|
Corrected aggregate to match specification.
|
|
Correction
|
Replaced and with .
|
, ,
|
Addition
|
Added and .
|
|
Deletion
|
Deleted .
|
|
Deletion
|
Deleted .
|
-
Subject
|
Change Type
|
Change
|
|
Deletion
|
Deleted .
|
|
Correction
|
Corrected spelling of tag.
|
Unused elements
|
Deletion
|
Removed elements that were not used in any aggregates. ERROR, DESCRIPTION, AMOUNT, PAYEEACCTTO, GLOBALBUDGET, and LOGO.
|
<XXXSYNCRQ>
|
Addition
|
Added , , .
|
<XXXSYNCRS>
|
Addition
|
Added element.
|
<XXXTRNRS>
|
Correction
|
Made <XXXRS> optional.
| |