Troubleshooting OFX 1
OFX Support Issues 3
Connecting Through Proxies 3
Problem with the Data Received 3
Improper Format 4
Tools to Test OFX Files 4
Test for Correct OFX Tags and Content 5
Verify the Header 6
Checking for Missing CLTCOOKIE 6
Checking for Corresponding Responses 7
Issues the OFX Analyzer Will Not Identify 7
Crash Recovery 7
OFXxxx Error Codes 9
Common Server Issues 11
Synchronization 11
TOKENs 11
REFRESH 11
Unsolicited Items Received in XXXSYNCRS 11
Statement Matching 13
NAME Values and Payee Aliasing 13
Signage 14
Banking 14
Investments 14
DateTime 15
Banking/Investment implementation 15
Payment Implementation 16
Transfers Sent on Weekends 16
Holidays 16
Status CODEs 17
Apay Support 17
Money 2005 FAQ 17
Money 2005 Update Information 17
Error When Attempting to Open Money 2005 Data File 17
Special Characters in Account Info DESC Field 18
Payment Mail 18
Common Brokerage Issues 19
COMMISSION, TAXES, FEES, and LOAD 19
Calculation Tolerance 19
DEBT Securities 19
MARKUP/MARKDOWN 20
TRANSFERs of SHORT Positions 20
SECNAME 20
Prices Received From Brokerage 20
Opening Balance for Associated Cash Account 20
Option TICKER Format 20
401K and 403B Designated Accounts 21
Money 2003 Handling of Options 21
Margin Interest Transactions in Money 2005 22
Money 2005 Sends DTEND When Requesting Positions 22
Money 2005/2006 skips option TRANSFER transactions 22
Money 2005/2006 loops when encountering OTHERINFO 22
Invalid Error When Calculating OFX 2.0 Investment TOTAL 22
OFX Support Issues
This document covers several known communication and online issues specifically related to OFX. Many of these issues are noted in Microsoft Knowledge Base articles that may be helpful in troubleshooting OFX issues.
Connecting Through Proxies
Money was designed for consumers managing their finances on their home computer. It was not written to support corporate environments. Money relies on Internet Explorer to make online connections passing only the OFX USERID and PASSCODE tags. Money has no method of allowing a user to enter any additional credentials of passwords. Therefore Money does not have a method to allow you to enter a proxy password to allow access to the internet in a protected environment.
We have found that the following steps can sometimes help bypass environments that require a proxy password.
-
Use any of the MSN links on the Home page to have Money launch its internal browser.
-
Enter your proxy password.
-
Click the Money icon to return focus to the client software
-
Try you online connection now that your proxy server has accepted password from Money.
If
this step does not work, speak to your network administrator can turn off the proxy password requirement during your Money testing.
Problem with the Data Received
When Money downloads statement information from a bank or imports an OFX Active Statement File, it expects that information to be in a pre-defined format. Occasionally, a file does not comply with the expected format. When you try to download statement information from your financial institution or brokerage house, you may receive a message similar to one for the following:
There is a problem with the data received from this online provider. If the problem persists, call the provider's customer service number for help.
The file you attempted to import appears to be invalid or contains corrupt data. Please download the file again.
If this problem continues, contact your financial institution.
These error messages occurs if the *.ofx file you are downloading or the response file sent for your statement request is not properly formatted according to the Open Financial Exchange (OFX) standards that Microsoft Money expects.
Improper Format
There can be several causes for these error messages, listed below in the order of frequency:
-
Not a valid data file according to OFX standard: contains invalid or improper tags, is missing required components, or contains tags are in the wrong place. This causes a file to fail to parse.
-
Incorrect formatting of the data in the file: invalid length, content, or signs.
-
Invalid Header in the file.
-
Missing echo of a CLTCOOKIE request in the response file.
-
Missing response for a request sent.
To resolve this situation, make another connection attempt and force Money to save log files. Use the appropriate OFX Analyzer to analyze the logs to identify formatting errors.
Logging Calls
Money allows you to create logs of the OFX request and OFX response via a Windows Registry key. Each Money CD has a
PSS subfolder which contains commonly needed files identified by Microsoft Product Support Services.
When working with a customer, have them look on their CD for this folder. The PSS folder contains two Windows Registry keys, ProvLogs & NoLogs. Run these to enable and disable automatic logging in Money .This saves two log files in the location of your Money data file.
NOTE: Theses REG files are also available on our
Partner Tools and Resources page at http://www.microsoft.com/money/fi/tools.mspx..
-
Bankname XXXXXXX RQ.txt -This is a log of the request you sent.
-
Bankname XXXXXXXX RS.txt -This is a log of the response you received.
If you download an Active Statement file from your financial institution's Web site and receive one of the error messages listed above, send a copy of the file, which should have an OFX file name extension, to your financial institution.
Tools to Test OFX Files
Microsoft has created an analyzer tool that can detect the causes for many, but not all, errors in an OFX response file or 1-way OFX download file.
This utility relies upon the OFX parser used in Money 2004. The analyzer can parse and analyze an OFX response for any version of Money.
Refer to our Partner Tools and Resources page at http://www.microsoft.com/money/fi/tools.mspx to obtain these files.
Use each of the following methods to find the problem causing the errors described in the Symptoms section above.
Test for Correct OFX Tags and Content
Use the OFX Analyzer to parse the file for correct OFX tags and to verify that the contents of the response file are correctly formatted, that each response is the correct length, and that each response has the proper sign for tag values.
Tips for Troubleshooting Parsing Errors
-
The OFX Analyzer results are somewhat cryptic; the most important data it provides are the line number of the error and the cause of the parsing error.
-
The utility does not analyze the Header of the file. If it returns any error referencing a line number, you need to add ~ 10 to the value when analyzing OFX 1.02 files and add ~ 2 for OFX 2.0 files to account for the Header.
-
It is best to view the response file with one tag per line. If the format of the response file does not separate each tag with a linefeed character, use a word processor utility such as Microsoft Word to replace each (<) with a (linefeed<).
-
Look at the response file in a word processor such as Microsoft Word that displays line numbers. Look for the aggregate in the area of the reported line number + 10 or +2. This is the area with the error.
Special Characters
For the purposes of Open Financial Exchange, a few characters must be handled as special characters. To
represent a special character, use the corresponding escape sequence, as stated in the OFX spec 1.02 section 2.3.2.1 specifies the SGML escape sequence to be used for “<”, “>”, and “&”.
Character
|
Escape sequence
|
< (less than)
|
<
|
> (greater than)
|
>
|
& (ampersand)
|
&
|
OFX 2.0 is XML and requires standard XML escape sequences, as specified in the 2.0 spec. section 2.3.1.1. In XML, the escape sequence for ampersands is the same as in SGML. However, Money does not accept XML escape sequences for quote and double-quote. These characters should not be escaped when sent to Money.
The improper formatting of tag values with ampersands is one of our most common customer service issues with OFX files. This is most often seen in or tags. For example, the string “AT&T” encodes “AT&T.” Money would reject an OFX response with a value of “AT&T” with an error similar to one of the following:
The file you attempted to import appears to be invalid or contains corrupt data. Please download the file again. If this problem continues, contact your financial institution.
- OR -
There was a problem with the data received from your financial institution. If this problem persists, call the Customer Support number for your financial institution, listed on the Contact Information tab in the Online Banking area.
Verify the Header
To verify that the Header of the OFX response file contains the required components, follow these steps:
Tip
Microsoft WordPad allows you to view the file in an easier format than Notepad.
To open WordPad, click Start, point to Programs then Accessories, and click WordPad.
-
Open the OFX file or response log in Microsoft WordPad to view the file.
-
Verify that the file contains the required components and is followed by a blank line.
-
OFX 1.02
OFXHEADER:100
DATA:OFXSGML
VERSION:102
SECURITY:NONE
ENCODING:USASCII
CHARSET:1252
COMPRESSION:NONE
OLDFILEUID:6D83D567-8771-11D1-9C73-0060088FF1EB
NEWFILEUID:6D83D569-8771-11D1-9C73-0060088FF1EB
-
OFX 2.0
NOTE: The OLDFILEUID and the NEWFILEUID tags will vary in content. Money may reject an OFX response which does not properly echo the NEWFILEUID and OLDFILEUID value in the OFX header.
Checking for Missing CLTCOOKIE
Every CLTCOOKIE in an OFX request file must have an answering Cookie in the response file. To see if a missing CLTCOOKIE is the cause of the error, follow these steps.
-
Open both the OFX Request log and the OFX Response log in Microsoft WordPad.
-
View them side by side.
-
Verify that every CLTCOOKIE in the request log has a corresponding CLTCOOKIE in the response log.
HINT: The quickest way to test this is to use the Find feature and count the number of CLTCOOKIE tags in the OFX Request and Response logs.
NOTE: Unlike Money 2003 and 2004, Money 2005 does not send CLTCOOKIE tags
Checking for Corresponding Responses
Every Request sent by Money must receive a response, even if the response contains an error code. To check that every request has a response, follow these steps:
-
Open both the OFX Request log and the OFX Response log in Microsoft WordPad.
-
View them side by side.
Look through both files and confirm that every
tag request in the OFX Request log is found in the OFX Response log.
Double Quotes Character in tag - Money 2006
If a double quote character is returned in the tag, Money 2006 will not display the transaction nor will the OFX Analyzer identify it.
This issue may be resolved by either not returning the double quote character in the tag in the OFX response or by selecting the following option in Money 2006:
Tools -> Settings -> Online service settings -> Show standardized payee names for which a name match is not found.
Once that option has been selected Money will strip out any double quote character from the name field before processing the transactions.
No Error When Special Characters Not Escaped in Name Field
Money will reject any transaction containing special characters which are not represented by their proper escape sequence as indicated above. The OFX analyzer tool does not identify un-escaped special characters.
Note: Money 2004 will accept special characters which are not escaped when they are followed by a space or is the last character in the NAME field. This, however, is not valid OFX.
No Warning For AVAIL Accounts
The OFX Analyzer will not warn the user if an account status is AVAIL. Any account subject to that status will be ignored by Money.
Crash Recovery
Money 2003 and above
Money 2003 and above rely on OFX synchronization to handle error recovery. If a call fails to complete when a customer is sending a transfer (INTRATRNRQ), a payment (PMTTRNRQ), or a recurring payment (RECPMTTRNRQ) request, Money prompts the user to synchronize their data to determine if the call was successful.
Money displays error codes when it cannot connect to an OFX server. These error codes begin with OFX and are followed by a number. These are standard HTTP error codes, and can be found by reviewing WININET source code. For your convenience, common error codes are listed below. Use third-party tools to “sniff” the connection to determine the cause if the WININET error title is insufficient.
OFX4XX Error Codes
HTTP_STATUS_BAD_REQUEST
|
400
|
invalid syntax
|
HTTP_STATUS_DENIED
|
401
|
access denied
|
HTTP_STATUS_PAYMENT_REQ
|
402
|
payment required
|
HTTP_STATUS_FORBIDDEN
|
403
|
request forbidden
|
HTTP_STATUS_NOT_FOUND
|
404
|
object not found
|
HTTP_STATUS_BAD_METHOD
|
405
|
method is not allowed
|
HTTP_STATUS_NONE_ACCEPTABLE
|
406
|
no response acceptable to client found
|
HTTP_STATUS_PROXY_AUTH_REQ
|
407
|
proxy authentication required
|
HTTP_STATUS_REQUEST_TIMEOUT
|
408
|
server timed out waiting for request
|
HTTP_STATUS_CONFLICT
|
409
|
user should resubmit with more info
|
HTTP_STATUS_GONE
|
410
|
the resource is no longer available
|
HTTP_STATUS_LENGTH_REQUIRED
|
411
|
the server refused to accept request w/o a length
|
HTTP_STATUS_PRECOND_FAILED
|
412
|
precondition given in request failed
|
HTTP_STATUS_REQUEST_TOO_LARGE
|
413
|
request entity was too large
|
HTTP_STATUS_URI_TOO_LONG
|
414
|
request URI too long
|
HTTP_STATUS_UNSUPPORTED_MEDIA
|
415
|
unsupported media type
|
OFX5XX Error Codes
HTTP_STATUS_SERVER_ERROR
|
500
|
internal server error
|
HTTP_STATUS_NOT_SUPPORTED
|
501
|
required not supported
|
HTTP_STATUS_BAD_GATEWAY
|
502
|
error response received from gateway
|
HTTP_STATUS_SERVICE_UNAVAIL
|
503
|
temporarily overloaded
|
HTTP_STATUS_GATEWAY_TIMEOUT
|
504
|
timed out waiting for gateway
|
HTTP_STATUS_VERSION_NOT_SUP
|
505
|
HTTP version not supported
|
OFX12XXX Error Codes
1
|
ERROR_INTERNET_OUT_OF_HANDLES
|
110
|
ERROR_FTP_TRANSFER_IN_PROGRESS
|
2
|
ERROR_INTERNET_TIMEOUT
|
111
|
ERROR_FTP_DROPPED
|
3
|
ERROR_INTERNET_EXTENDED_ERROR
|
112
|
ERROR_FTP_NO_PASSIVE_MODE
|
4
|
ERROR_INTERNET_INTERNAL_ERROR
|
|
|
5
|
ERROR_INTERNET_INVALID_URL
|
130
|
ERROR_GOPHER_PROTOCOL_ERROR
|
6
|
ERROR_INTERNET_UNRECOGNIZED_SCHEME
|
131
|
ERROR_GOPHER_NOT_FILE
|
7
|
ERROR_INTERNET_NAME_NOT_RESOLVED
|
132
|
ERROR_GOPHER_DATA_ERROR
|
8
|
ERROR_INTERNET_PROTOCOL_NOT_FOUND
|
133
|
ERROR_GOPHER_END_OF_DATA
|
9
|
ERROR_INTERNET_INVALID_OPTION
|
134
|
ERROR_GOPHER_INVALID_LOCATOR
|
10
|
ERROR_INTERNET_BAD_OPTION_LENGTH
|
135
|
ERROR_GOPHER_INCORRECT_LOCATOR_TYPE
|
11
|
ERROR_INTERNET_OPTION_NOT_SETTABLE
|
136
|
ERROR_GOPHER_NOT_GOPHER_PLUS
|
12
|
ERROR_INTERNET_SHUTDOWN
|
137
|
ERROR_GOPHER_ATTRIBUTE_NOT_FOUND
|
13
|
ERROR_INTERNET_INCORRECT_USER_NAME
|
138
|
ERROR_GOPHER_UNKNOWN_LOCATOR
|
14
|
ERROR_INTERNET_INCORRECT_PASSWORD
|
|
|
15
|
ERROR_INTERNET_LOGIN_FAILURE
|
150
|
ERROR_HTTP_HEADER_NOT_FOUND
|
16
|
ERROR_INTERNET_INVALID_OPERATION
|
151
|
ERROR_HTTP_DOWNLEVEL_SERVER
|
17
|
ERROR_INTERNET_OPERATION_CANCELLED
|
152
|
ERROR_HTTP_INVALID_SERVER_RESPONSE
|
18
|
ERROR_INTERNET_INCORRECT_HANDLE_TYPE
|
153
|
ERROR_HTTP_INVALID_HEADER
|
19
|
ERROR_INTERNET_INCORRECT_HANDLE_STATE
|
154
|
ERROR_HTTP_INVALID_QUERY_REQUEST
|
20
|
ERROR_INTERNET_NOT_PROXY_REQUEST
|
155
|
ERROR_HTTP_HEADER_ALREADY_EXISTS
|
21
|
ERROR_INTERNET_REGISTRY_VALUE_NOT_FOUND
|
156
|
ERROR_HTTP_REDIRECT_FAILED
|
22
|
ERROR_INTERNET_BAD_REGISTRY_PARAMETER
|
157
|
ERROR_INTERNET_SECURITY_CHANNEL_ERROR
|
23
|
ERROR_INTERNET_NO_DIRECT_ACCESS
|
158
|
ERROR_INTERNET_UNABLE_TO_CACHE_FILE
|
24
|
ERROR_INTERNET_NO_CONTEXT
|
159
|
ERROR_INTERNET_TCPIP_NOT_INSTALLED
|
25
|
ERROR_INTERNET_NO_CALLBACK
|
|
|
26
|
ERROR_INTERNET_REQUEST_PENDING
|
160
|
ERROR_HTTP_NOT_REDIRECTED
|
27
|
ERROR_INTERNET_INCORRECT_FORMAT
|
161
|
ERROR_HTTP_COOKIE_NEEDS_CONFIRMATION
|
28
|
ERROR_INTERNET_ITEM_NOT_FOUND
|
162
|
ERROR_HTTP_COOKIE_DECLINED
|
29
|
ERROR_INTERNET_CANNOT_CONNECT
|
168
|
ERROR_HTTP_REDIRECT_NEEDS_CONFIRMATION
|
30
|
ERROR_INTERNET_CONNECTION_ABORTED
|
163
|
ERROR_INTERNET_DISCONNECTED
|
31
|
ERROR_INTERNET_CONNECTION_RESET
|
164
|
ERROR_INTERNET_SERVER_UNREACHABLE
|
32
|
ERROR_INTERNET_FORCE_RETRY
|
165
|
ERROR_INTERNET_PROXY_SERVER_UNREACHABLE
|
33
|
ERROR_INTERNET_INVALID_PROXY_REQUEST
|
166
|
ERROR_INTERNET_BAD_AUTO_PROXY_SCRIPT
|
34
|
ERROR_INTERNET_NEED_UI
|
167
|
ERROR_INTERNET_UNABLE_TO_DOWNLOAD_SCRIPT
|
36
|
ERROR_INTERNET_HANDLE_EXISTS
|
169
|
ERROR_INTERNET_SEC_INVALID_CERT
|
37
|
ERROR_INTERNET_SEC_CERT_DATE_INVALID
|
170
|
ERROR_INTERNET_SEC_CERT_REVOKED
|
38
|
ERROR_INTERNET_SEC_CERT_CN_INVALID
|
|
|
39
|
ERROR_INTERNET_HTTP_TO_HTTPS_ON_REDIR
|
|
|
40
|
ERROR_INTERNET_HTTPS_TO_HTTP_ON_REDIR
|
|
|
41
|
ERROR_INTERNET_MIXED_SECURITY
|
|
|
42
|
ERROR_INTERNET_CHG_POST_IS_NON_SECURE
|
|
|
43
|
ERROR_INTERNET_POST_IS_NON_SECURE
|
|
|
44
|
ERROR_INTERNET_CLIENT_AUTH_CERT_NEEDED
|
|
|
45
|
ERROR_INTERNET_INVALID_CA
|
|
|
46
|
ERROR_INTERNET_CLIENT_AUTH_NOT_SETUP
|
|
|
47
|
ERROR_INTERNET_ASYNC_THREAD_FAILED
|
|
|
48
|
ERROR_INTERNET_REDIRECT_SCHEME_CHANGE
|
|
|
49
|
ERROR_INTERNET_DIALOG_PENDING
|
|
|
50
|
ERROR_INTERNET_RETRY_DIALOG
|
|
|
52
|
ERROR_INTERNET_HTTPS_HTTP_SUBMIT_REDIR
|
|
|
53
|
ERROR_INTERNET_INSERT_CDROM
|
|
|