My impression was that PP should be calculating FIFO per-securities account, e.g:
2 Securities accounts, A & B
Buy 1 share of a security in A for $1
Buy 1 share in B for $2.50
Transfer 1 share from A to B
Sell 1 share in B for $10.
I thought it should sell the $2.50 share from B, since that was in account B first (FIFO). So the gain would be $7.50, and you would still have the $1 share. However, it seems to do the opposite:
So PP doesn’t do “per-account FIFO” (each account is a queue), it does something like “global oldest, First Out”?
From some of the posts here (using Google Translate, so possibly wrong) I had the impression that transactions could be “reordered” by transferring them between accounts.
This relates to some new crypto tax law that just came into effect in the US, where you’re required to track FIFO per-wallet. i.e. I THINK it’s required to behave as in my initial example. It’s possible I’m wrong. Still trying to wrap my head around it. If it’s as above, is there any way to achieve that?
Yes, it’s not a queue; when lots from different sources meet in one account, they are ordered by date. (The reason for that is ultimately German tax law.)
There you’ve probably come across a known bug with multiple transfers. It is described in German here: