Per-account FIFO not working? Possible misunderstanding?

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:

Did I miss something?
Thanks in advance

They are now in the same account (B), so the older share is sold first.

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?

Nevermind, disregard. It works the way PP does it. Sorry for the confusion & thanks for the quick reply.

This tax guidance was just released & is causing confusion all over the place: https://www.reddit.com/r/CryptoTax/comments/1hk31yd/revenue_procedure_202428_safe_harbor_guide_what/

Thanks again!

Ok actually here’s another different example, where I’m probably still wrong but it seems like the ordering is inconsistent?

  • Buy 1 unit on a crypto exchange, call it lot E1
  • Buy 1 unit in a wallet, W
  • Buy another on the exchange, E2
  • Transfer everything from the exchange to the wallet (2 units)
  • Transfer 1 unit from the wallet back to the exchange. I would expect that it would pull E1 here as it’s oldest
  • Sell 1 on the exchange. I would expect it to be E1.

However, it sold W. So in this case it does seem to be picking the oldest first…?

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:

Well…darn. Glad to see at least that thread is still active tho - hopefully it ends up getting fixed. Thanks for the replies & link.