Mismatch between Account Quantity and Statement Quantity - F2O

87 views
Skip to first unread message

Ken H

unread,
Feb 16, 2026, 2:12:03 AM (10 days ago) Feb 16
to Microsoft Money
This is more of a nuisance than a real issue because I can ignore it for the next 7 months until the options expire.  But just in case others are having the same problem and/or there's a fix I thought I'd bring it up.  Even though the Fidelity Positions OFX file shows the correct Statement Quantity, something in Money is ignoring it and asking if it should put in a Money generated correction.  I've tried various ways to fix it, including deleting all the transactions for this investment, deleting its F2O_DB entry, and then running the OFX file.  That didn't work.  Then I completely deleted the investment before running the OFX.  Again, no luck.  It appears that somehow it's picking up the quantity from a different options trade made the same day.

Does anyone have an idea how this could happen and a way to fix it?

Cal Learner

unread,
Feb 16, 2026, 6:14:52 AM (10 days ago) Feb 16
to Microsoft Money
img.png
Your Account Quantity  is correct, and the Statement Quantity is incorrect.
The Quantity in the Portfolio_Positions*.csv file is correct.

I think you are saying  the <UNITS> quantity in the OFX file correct. Does any number in the OFX match the Statement Quantity without a comma?

Ken H

unread,
Feb 16, 2026, 10:13:41 AM (10 days ago) Feb 16
to Microsoft Money
Yes, the <UNITS> in the <SELLOPT> and also in the <POSOPT> are correct.  However, what I just noticed is that a completely different option transaction made on the same day has the same <UNIQUEID>.  And the amount that the Statement Quantity is off by is the same as the amount in the second transaction.  Somehow F2O is conflating two trades done on the same day.

<OPTINFO>
<SECINFO>
<SECID>
<UNIQUEID>O260918C67.5
<UNIQUEIDTYPE>CUSIP
</SECID>
<SECNAME>CALL (O) REALTY INCOME CORP SEP 18 26 $67.5 (100 SHS)
<TICKER>VTR260821P82
<CURRENCY>
<CURRATE>1.000
<CURSYM>USD  </CURRENCY>
</SECINFO>
</OPTINFO>

<OPTINFO>
<SECINFO>
<SECID>
<UNIQUEID>O260918C67.5
<UNIQUEIDTYPE>CUSIP
</SECID>
<SECNAME>CALL (O) REALTY INCOME CORP SEP 18 26 $67.5 (100 SHS)
<TICKER>O260918C67
<CURRENCY>
<CURRATE>1.000
<CURSYM>USD  </CURRENCY>
</SECINFO>
<OPTTYPE>CALL
<STRIKEPRICE>67.5
<DTEXPIRE>20260918120000
<SHPERCTRCT>100
</OPTINFO>

I just tried deleting the entries for both these in F2O_DB.csv and Money, then downloading new CSV files from Fidelity and running F2O.py.  For some reason it still comes back with the same <UNIQUEID> for both.  Is there something buried in F2O.py that needs to be deleted so that it can regenerate the <UNIQUEID>?

Cal Learner

unread,
Feb 16, 2026, 2:47:57 PM (10 days ago) Feb 16
to Microsoft Money
I suspect it could be because of the period being treated as a match-any-character at some point. Looking into that. 

Let  me suggest this batch file in your current folder or search path for you or others. Feel free to choose a shorter name.
@@@@@@@@begin F2Olook2.bat @@@@@@@@@
rem look up entry. Parameter is case-sensitive on purpose
rem use example: f2olook2.bat MSFT
findstr /N %1 "%USERPROFILE%\Documents\F2O\F2O_DB.csv"
@@@@@@@@end F2Olook2.bat @@@@@@@@@

Then do 
F2Olook2 VTR260821P82
F2Olook2 O260918C67
F2Olook2 O260918C67.5

You can paste those 3 lines into a command or terminal window simultaneously. I expect a one line result from each.

Or just use your favorite grep  for the same purpose.

Ken H

unread,
Feb 16, 2026, 10:26:37 PM (10 days ago) Feb 16
to Microsoft Money
Here are the results from the 3 searches.  I also tried editing the OFX file to replace the incorrect  <UNIQUEID>  and <SECNAME> in every instance so they were aligned with the 2 different positions.  Even that didn't help.  What's weird is that Money has both the O26... and VTR26... transactions and current price correct.  So Money knows there are 2 different positions and is handling them correctly.  But when it comes to matching the Account Qty to the Statement Qty it thinks the VTR26... quantity should be added to the O26... quantity.

E:\OneDrive\Documents\F2O_beta12>findstr /N VTR260821P82 "E:\OneDrive\Documents\F2O_beta12\F2O_DB.csv"
68:VTR260821P82.5,VTR260821P82.5,OPT,PUT (VTR) VENTAS INC AUG 21 26 $82.5 (100 SHS),,PUT,82.5,20260821120000,100

E:\OneDrive\Documents\F2O_beta12>findstr /N O260918C67 "E:\OneDrive\Documents\F2O_beta12\F2O_DB.csv"
69:O260918C67.5,O260918C67.5,OPT,CALL (O) REALTY INCOME CORP SEP 18 26 $67.5 (100 SHS),,CALL,67.5,20260918120000,100

E:\OneDrive\Documents\F2O_beta12>findstr /N O260918C67.5 "E:\OneDrive\Documents\F2O_beta12\F2O_DB.csv"
69:O260918C67.5,O260918C67.5,OPT,CALL (O) REALTY INCOME CORP SEP 18 26 $67.5 (100 SHS),,CALL,67.5,20260918120000,100

Ken H

unread,
Feb 17, 2026, 1:40:53 AM (9 days ago) Feb 17
to Microsoft Money
It's a national holiday (Lunar New Year)  here in Singapore and has been pouring rain today so I've had loads of time to try various things.  One thing I noticed is that the generated OFX file for the account with these options includes repetitions of entries where some entries are correct and others are a combination of information from the 2 positions.  I finally decided to just edit the OFX file and straighten out the entries so they consistently applied to their specific UniqueID and SecName and Ticker.  After the cleanup (and applying it to a pre-error Money backup) everything is now correct.  However, I'm pretty sure the next time I run F2O it will re-introduce the errors.  One way I'm going to try and address this is by changing the IGNORE_BEFORE_YYYYMMDD to today's date.  Maybe that will keep F2O from messing things up.  I'll let you know if it works.  But it would be interesting to know what caused the issue in the first place.

Cal Learner

unread,
Feb 18, 2026, 6:45:34 PM (8 days ago) Feb 18
to Microsoft Money
I  just uploaded F2O2A.py for trials. It adds the ability to deal with the positions CSV from having separate consecutive lines for the same security. The CSV is reporting out that some is in margin, and some is in cash, and could also break out "Financing" where the shares have been let. 

F2O2A.py looks for this and merges those positions. I am hoping that this is what was causing your positions anomaly.

Some other improvements were made, and this is a candidate to  become the new F2O.py for general use.

Cal Learner

unread,
Feb 18, 2026, 6:51:15 PM (8 days ago) Feb 18
to Microsoft Money
Ken, I posted the newer F2O2A.py. Please try it.

Some of the additional debugging goes into the OFX as comments, and some comes to the screen.

On the price of zero, I had added that as a sanity check. If you see a "<UNITPRICE>0.0 or some such, and decide if that is appropriate.  

I guess that would make sense for an interval for an expired option.


--
You received this message because you are subscribed to the Google Groups "Microsoft Money" group.
To unsubscribe from this group and stop receiving emails from it, send an email to microsoft-mon...@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/microsoft-money/84da1359-1798-477e-a57f-7bc418a2c30an%40googlegroups.com.

Ken H

unread,
Feb 19, 2026, 10:11:04 AM (7 days ago) Feb 19
to Microsoft Money
Cal, I didn't have a chance to test F202A today, but will tomorrow.  I intend to run it and the other F2O you provided me against the same Fidelity Positions and Activity CSVs and see if they generate any differences in the OFX outputs.

I don't believe the Cash vs Margin is what's causing my problem.  The Positions CSV shows all positions in the account are in Margin.  

I realized I have a simple, albeit inelegant, solution.  When I get the mismatch screen after running update I can just check the box to not update the positions.  All the other transactions are posted and the mismatch is ignored.  Rather than have you spend time on a minor issue, I may be satisfied with doing that.  As long as everything else is correct, this problem will disappear when the options expire in a few months.

Cal Learner

unread,
Feb 19, 2026, 11:19:41 AM (7 days ago) Feb 19
to Microsoft Money
I routinely  change the selection to not update. It nearly always is caused by something I will handle differently ... maybe a split, spinoff, or whatever. What I also do is to take a screen snip (Print key) of the pop-up, and paste the captured image into Paint. I then have the info for looking at while I attend to the appropriate action in Money.

It would still be good to know the cause of a remaining mismatch in your case. Maybe there is a situation that can be handled by F2O.py automatically. 

By tomorrow, I expect to put out a new zip where the new F2O.py includes all of the features of F2O2A.py... very minor changes from F2O2A.py, such as comments and wording of screen messages. If F2O_beta14.zip appears as expected, please use that. This new one is intended to be suitable for all F2O users.

F2O_risky_info.txt will be replaced by F2O_optional_advanced_info.txt. It is still something that most people should not read, but gets into overriding the defaults. Speaking of defaults, new default:
IGNORE_BEFORE_YYYYMMDD="20260117"
That defaults to preventing duplications of transactions from last OFX possible from Fidelity OFX server. Format: YYYYMMDD. I am using a later date myself.

Ken H

unread,
Feb 20, 2026, 11:30:49 AM (6 days ago) Feb 20
to Microsoft Money
Cal, I emailed you some info about the issues I'm still having.  No rush!

Ken

Reply all
Reply to author
Forward
0 new messages