Topic: Vanguard Group, The

When I check my .qfx files, they indicate that the FID for The Vanguard Group is 1358. Please update the listing to include this FID.

Re: Vanguard Group, The

I read elsewhere that vanguard is/was using OFX 2.  After banging my head against the wall for a couple of hours trying to make their server respond to v2 (XML) requests, it turns out their server is only responding to OFX version 1.02 (SGML) requests.  FYI.

Re: Vanguard Group, The

For the record I have seen some vanguard files using OFX 2.  When I download information from vanguard I personally get OFX 1.02.

Re: Vanguard Group, The

Jesse, I've seen the same elsewhere on the net, but those posts were dated circa-2008.  Since then, I'm guessing vanguard "downgraded" their OFX connection due to popular demand/software compatibility.

Any ideas on how to connect to VG via OFX 2?  This is pretty much just for my own edification at this point; I'm just happy i can connect. 

TIA!

Re: Vanguard Group, The

No ideas.  I wonder if OFX 1.02 will ever be superseded by 2.0?  Pure XML is easier to parse but everyone seems to have gotten around the SGML difficulties.

Re: Vanguard Group, The

Of note - when using pure OFX, I had to leave out the FI_ID to be able to connect - worked great afterward.

Cheers,
El Deuce

Re: Vanguard Group, The

Starting around July 2017 Vanguard seems to respond with an empty response now (but still a 200 return code signalling no error).  To get the data you need to reissue the request with the cookies it sets in the response.  I added this to my fork of ofx-ba-tfb.py:

            response = res.read()
            res.close()
--- start new code ---
            # Vangaurd requres the request to have cookies it sets
            # (returns empty 200 response the first time)
            if (len(response) == 0):
                cookies = res.getheader('Set-Cookie')
                response_cookies = [c.split("; ")[0] for c in cookies.split(", ")]
                h.request('POST', selector, query,
                    { "Content-type": "application/x-ofx",
                      "Accept": "*/*, application/x-ofx",
                      "Cookie": "; ".join(response_cookies)
                    })
                res = h.getresponse()
                response = res.read()
                res.close()
--- end new code ---
            f = file(name,"w")
            f.write(response)
            f.close()

Re: Vanguard Group, The

I was able to connect to Vanguard using the details from the OFX Home listing.

It looks like they will accept any version of OFXv1/v2, but they need newline characters to be inserted between tags.  I had no issue with cookies.

Re: Vanguard Group, The

Ah, looks like Vanguard's parsing requirements are actually this:

If you send OFXv1 with SGML-style unclosed elements, then you need newlines.  If you use closing tags, then you can either insert newlines or not; either will work.

They need newlines for OFXv2.

Strange.

Re: Vanguard Group, The

I have two Vanguard account I've been accessing using OFX with KMyMoney for several years.  I noticed they hadn't downloaded any new transactxions since the end of last year.  When I finally looged into the website, they had liquidated both accounts and transferred the funds to new, replacement accounts.  Website access is fine, but trying to map the new accounts, after I enter the login credentials (actually for my wife) I am presented with two possible accounts, both at FIDELITY and both belonging to me, not to my wife.  I am reqesting for FID 15103, but getting results for FID 7776.  I feel like I'm caught in a wormhole.

Any explanations?  (I have not yet fired up Wireshark to see what is actually transpiring in the conversation between my client and Vanguard.