1 (edited by elstgav 2022-10-02 13:38:49)

Topic: Generating security price history (INVPOSLIST) in OFX for Quicken

Hey all, this is my first post—please let me know if it should be in a different forum category!

TL;DR: How do I markup an OFX/QFX file with security price history that Quicken can download?

Background: I use Quicken for tracking all my finances, and download most accounts seamlessly. For the few banks/institutions that don’t support downloading, I’ve been building web scrapers to grab their data and generate OFX files to import into Quicken.

One of the things I track is a mutual fund that isn’t listed publicly—I’m able to download the price history from their site, and create a CSV file to import into Quicken (Batch importing price history with a CSV).

The problem is that importing CSV files is tedious—it requires multiple clicks to get there. I’d like to instead put this data in an OFX file and have Quicken download the data with one click.

The problem is I’m not sure how to code it—I thought a `INVPOSLIST` was the right place to store this data, but Quicken seems to only record the last `INVPOS` in the OFX file for a given `SECID`, regardless of date.

For example, Here’s a price history for a security that goes from $5 to $10—Quicken will only record $5 on 6/1/22 because it’s the last `INVPOS` in the list for SECID 123456.

<INVPOSLIST>
  <POSMF>
    <INVPOS>
      <SECID>
        <UNIQUEID>123456
        <UNIQUEIDTYPE>CUSIP
      </SECID>
      <HELDINACCT>CASH
      <POSTYPE>LONG
      <UNITS>5
      <UNITPRICE>10.00
      <MKTVAL>50.00
      <DTPRICEASOF>20220801000000[+0000]
    </INVPOS>
    <REINVDIV>Y
    <REINVCG>Y
  </POSMF>
  <POSMF>
    <INVPOS>
      <SECID>
        <UNIQUEID>123456
        <UNIQUEIDTYPE>CUSIP
      </SECID>
      <HELDINACCT>CASH
      <POSTYPE>LONG
      <UNITS>5
      <UNITPRICE>5.00
      <MKTVAL>25.00
      <DTPRICEASOF>20220601000000[+0000]
    </INVPOS>
    <REINVDIV>Y
    <REINVCG>Y
  </POSMF>
</INVPOSLIST

Does anyone else know how to properly encode this kind of data in a way that Quicken will download it?

A potential workaround is I found that Quicken creates a price history for a security based off prices in an `INVTRANSLIST`, but that would require making fake transactions. I’d like to avoid those as I don’t want to alter the math on my holdings.

I’d appreciate any help or advice!

Thanks,

Gavin