FIFO per account
FIFO runs separately for each account — and that changes the tax
The same shares held at two brokers are two independent queues. Mixing them yields a different cost basis, a different income and a different tax — on identical trades.
What the statute says
- Order of acquisition, account by account
- Art. 30b ust. 7 ustawy o PIT: FIFO is applied SEPARATELY FOR EACH investment account. Not a recommendation — it is how the cost is established.
- A sale closes a purchase on the same account
- Even when a cheaper, earlier lot sits on another account, the cost comes from the queue of the account where the sale happened.
- A transfer preserves the cost
- Moving securities between your own accounts is not a disposal. The lot travels with its original acquisition price, not with the transfer-day valuation.
How we compute it
- The lot key includes the account
- Security, instrument type and account identifier together form one queue. A sale reaches only into its own.
- No account number means its own queue
- If the broker states no account, everything from that file forms a single queue — but never mixes with another broker’s file.
- A test guards against the queues merging
- A dedicated check proves a sale on account A never reached a purchase on account B. It is a rule of law, so it cannot depend on a developer’s attention.
Where people get it wrong
- One shared pile across all accounts
- Commonest among spreadsheet filers: all buys in one list, all sells in another. With two brokers and the same security the result can drift by thousands of złoty either way.
- A sale with no matching purchase
- A holding bought years ago whose statement was never sent. Cost basis comes out zero and the tax falls on the entire sale amount. That is why the purchase years’ statements matter.
- A transfer read as a sale plus a purchase
- Moving securities to another broker often appears as a withdrawal and a deposit. Taken literally it invents proceeds that never existed and a new cost at transfer-day prices.
- Retirement accounts mixed in with the ordinary one
- IKE and IKZE are separate accounts under their own tax rules. They have no business in the same queue as a brokerage account.
Run this once
claude mcp add --transport http taxroam https://taxroam.com/mcp --header "Authorization: Bearer $TAXROAM_KEY"Brokers where this comes up
Questions about FIFO
I hold the same shares at two brokers. Does that really change the tax?
Yes, sometimes substantially. The cost comes from the queue of the account you sold on — and the purchase prices on the two accounts differ.
I moved my holdings to another broker. Is that a taxable event?
No. A transfer between your own accounts is not a disposal — the lot keeps its cost basis.
Can I choose which lot I sell to pay less?
No. The statute fixes the order: first bought is first sold. There is no choice of method.