downloads aren't matched to existing securities

Over the years I have moved securities among institutions and now most of my investment account moneydance downloads through plaid won't match to existing securities that are already set up.

These articles don't address the issue as they seem to reference the old online banking.
https://infinitekind.freshdesk.com/support/solutions/articles/80000907695-fixing-mismatched-securities-from-downloadshttps://infinitekind.tenderapp.com/kb/investment-accounts/fixing-mismatched-securities-from-downloads

How do I get downloads to match to existing securities instead of always having to select don't exist from the prompt, going in and editing each transaction to reference the existing security and then deleting the newly created incorrect one. I've done this close to a 100 times now and it's getting very old.

  1. Same here, though I'd call 100 times a significant underestimate. There is no equivalent to the old "reset sync" button. I've tried to disconnect and reconnect and it doesn't help.

  2. Another one struggling with the same problem. The matching security is excluded from the list - I can't select it. So as Keith states above, you have to select "Don't Exist" from the list and then edit the transaction to the correct security. Getting old very fast.

  3. So I don't have a complete answer, but I feel I'm getting closer. I recently discovered the "Toolbox" extension. I had seen comments in other places that MD has an extra hidden field associated with each security that typically contains a CUSIP number. There are actually 2 fields - one that identifies the type of value in the 2nd field, and then the second field with the value. Toolbox now gives me the capability to see and even update those hidden values. What I've seen is that the newly created download securities, instead of having a CUSIP number in that hidden field, have the term "SEDOL", and then the ticker symbol in the actual field. SEDOL is a term from the London Stock Exchange - Stock Exchange Daily Official List - not sure whether it is Plaid or Moneydance that is putting that value in the field, but it seems an odd choice, since an SEDOL is very different from a ticker symbol. But I've gone through and updated several of my securities (using Toolbox) to specify SEDOL as the type and to put the ticker symbol in the value field. Now they are doing a better job of matching up during the import process. Still not fully correct - buy/sell transactions seem OK but dividend transactions keep showing "CUR:USD" in the security field.

    I'll keep poking at this to see what else I can find.

  4. The toolbox insight is interesting. I can confirm all the securities
    that don't match properly have a SEDOL entry that Moneydance is
    downloading but the correct long-time (decades plus in some cases)
    correct securities have a CUSIP entry as well. Residing in the US I have
    no idea why moneydance it now trying to download things and force a
    SEDOL match and not correctly matching to the long existing CUSIP
    securities.

    On 11/11/25 3:41 PM, chris_hardin wrote:

  5. Moneydance does not try to selectively download data, the data downloaded is what is either provided by the aggregator in the case of Moneydance+ or by the institution in the case of Direct Connect. Hence if a different identifier is being provided it is being done upstream of Moneydance.

  6. I didn't expect that Moneydance was doing anything to the data. The real question is why is Plaid (or Schwab??) inserting that data? I don't have any way to communicate with Plaid. Does IK, as a user of their service, have any way to ask that question?

  7. This happens for securities held at etrade, vanguard, and schwab
    therefore doubtful all the institutions are doing this.

    Here is an example of exactly what is happening.

    Toolbox > Online Banking Tools > View your Security's hidden CUSIP settings

    These security entries exist

    Vanguard Extended Market ETF ^VXF VXF
     SEDOL 2835233 ** CUSIP & TICKER ARE DIFFERENT **
    Vanguard Extended Market ETF ^VXF VXF
       CUSIP 922908652 ** CUSIP & TICKER ARE DIFFERENT **

    When downloading new transactions, moneydance doesn't see a match and
    adds this entry

    Vanguard Group, Inc. - Vanguard Extended Mark ^VXF SEDOL
       VXF ** CUSIP & TICKER ARE DIFFERENT **

    Does moneydance need to update to accommodate data formatting changes in
    plaid?

    On 11/13/25 08:59, chris_hardin wrote:

  8. For what its worth, this is also happening to me with Merrill Lynch / Moneydance+.
    In my case I also see the SEDOL records being created. In all cases the ticker is placed in the ID field (where cusip normally goes).

  9. I'm wondering if anyone can comment on the following approach.
    Would it work? Would it cause other problems?

    The idea is to add the SEDOL scheme to the existing securities.
    The theory is that would allow the Plaid data to be matched correctly to existing securities..
    When new securities are encountered they would get added without CUSIP

    To make this more tangible, below is a script and sample data from my system.
    The Plaid data has the names in mixed case.
    The original data is all caps.

    book = moneydance.getCurrentAccountBook()
    currencies = book.getCurrencies()
    
    count=0
    
    
    mylist = currencies.getAllCurrencies()
    for sec in mylist:   
        id = sec.getID()
        stock_id = sec.getIDString()
        ty= sec.getCurrencyType().code()
        na= sec.getName()
        ticker = sec.getTickerSymbol()
        show = not sec.getHideInUI()
        cusip=sec.getIDForScheme("CUSIP")
        sedol=sec.getIDForScheme("SEDOL")
        inspect=("GM","TSM","C","TSMC")
        if (ty==1) and ((ticker in inspect) or (sedol in inspect)):
            s='%8d %10s %10s %10s %10s %45s'% (id,stock_id,ticker,cusip,sedol,na)
            print (s)
            count = count + 1
    
    7674010 ^874039100        TSM  874039100       None                      TAIWAN S MANUFCTRING ADR
     8888952         ^C                  None          C                                 Citigroup Inc
     9219360 ^37045V100         GM  37045V100       None               GENERAL MOTORS CO COMMON SHARES
     6288026        ^GM                  None         GM                        General Motors Company
     3114501 ^172967424          C  172967424       None                         CITIGROUP INC COM NEW
     5509181       ^TSM                  None        TSM      Taiwan Semiconductor Manufacturing - ADR
    
  10. That's essentially what I did, although I did it a little more manually using the Toolbox extension. I added an "SEDOL" entry to the hidden fields for each security, although the value of the entry is the ticker symbol and not the real SEDOL numeric code. (That's the way Plaid was generating the records.) Things are generally working better for me now - I haven't run into any significant problems. I still have a separate problem where some register entries come in with a security name something like "Curr:USD" and that won't match to anything. Those are still getting fixed manually.

  11. Toolbox 🧰 +1 😃

  12. @chris_hardin
    I added CUR:USD as an actual security with the appropriate matching SEDOL, These usually occur on dividend transactions in cash accounts so don't really end up anywhere but in cash, at least for me and primarily in schwab

    i also did what you did by adding the "incorrect" but used by plaid sedol of the ticker itself.

    Toolbox +1 :smiley:

  13. Conversely, you could create a

    'security" called anything, like CASH TRANSACTION and give it the CUR:USD SEDOL to catch them.

  14. @dtd
    That CUR:USD entry comes through on the dividend entries for multiple securities, and I need them assigned to the correct security in order to track return on investment properly. So just creating one and assigning everything to that one is not really a solution for me.

    That one still seems like something is screwed up in Plaid's system, and the wrong fields are matched up somehow, so we're getting the wrong values. Still looking for IK to work with Plaid and resolve that one.

  15. @Achris - oh yes, got one of those today... i just almost automatically change that to the appropriate security ... don't even think about those anymore,

  16. Shout out to Chris Hardin and Stuart Beesley

    Toolbox was definitely useful.

    If anyone is interested I have a script that wholesale puts tickers into the sedol scheme.

    Unfortunately, I had to stop with Moneydance+ for Merrill Lynch (for now), since it also was missing transactions. I'll probably try again in the future, especially if IK reports progress.

    I was successful in getting my November data loaded. Happy to share script that I am using to load my ML accounts from the CSV files they offer.

    /george

  17. Toolbox 🧰 +2 😃

  18. System closed this discussion on 11 Mar, 2026 05:30 PM.

  19. Maddy re-opened this discussion on 02 Apr, 2026 10:17 AM

  20. I haven't seen anything new on this for close to 6 months now, other than an attempt to close it and another to reopen it.

    Any feedback from IK on dealing with Plaid or the data sources (Schwab or Merrill)? No idea why they are feeding the data in with SEDOL values (and bad values at that)?

  21. I never did get a supported solution. I wrote some Python to process the Bank of America / Merrill .csv format. Then my broker moved to Morgan Stanley so I followed him. Then I rewrote for their .csv format (which actually is better). I'm now in the stage of finding small problems every month. With this approach I was able to move away from SEDOL and rely on CUSIP and ticker symbols.

    I do use the Plaid connection for non-investment accounts and it works pretty well (although there does seem to be a delay of a day or two sometimes).

  22. System closed this discussion on 01 Sep, 2026 05:10 PM.

Comments are currently closed for this discussion. You can start a new one.

Keyboard shortcuts

Generic

? Show this help
ESC Blurs the current field

Comment Form

r Focus the comment reply box
^ + ↩ Submit the comment

You can use Command ⌘ instead of Control ^ on Mac