Module 1 / 2
PIT-38 vs PIT-36: Instrument Map - Stocks, ETF, Forex
Complete guide PIT-38 vs PIT-36 for trader. Table instrument->form, NBP rate D-1, deadlines, 19% flat and how not to mix forms in 2026.
- Author
- Zordon Intelligence Sp. z o.o.
- Updated
- 18 min read
- Structure sources
- 2
DISCLAIMER: Educational content, not tax/legal advice. Laws: art. 30b PIT, art. 30a PIT, KIS interpretations 2024-2026. Consult advisor.
Introduction: The most expensive trader mistake costs 10 minutes of inattention
Imagine: you earn 60,000 PLN on XTB on DAX CFD and 40,000 PLN on PKN Orlen shares. You declare everything on PIT-38 because “19% is 19%”. In July you get a summons: CFD is PIT-36, art. 20 sec.1 PIT, other sources. You have arrears, interest and need for correction. 40 minutes reading this lesson would save you 5,000 PLN and 3 months of stress.
Table of contents
- Why this matters for a trader
- PIT-38 - foundation: what and when
- PIT-36 - when CFD, forex and futures land here
- Big table: instrument -> PIT -> NBP rate -> deadline
- Math formulas and NBP conversion
- Market example: Mixed trader 2025
- Beginner mistakes
- Practical exercises
- Checklist
- Summary and next steps
1. Why does this matter for a trader?
Because form = legal qualification = different rules for losses and costs. PIT-38 and PIT-36 are not just different window in e-PIT. It’s:
- Different source of income (monetary capital vs other sources)
- Different possibility of settling loss (loss from PIT-38 transfers only to PIT-38, max 5 years, max 50% per year)
- Different moment of revenue creation (for CFD closing position, for stocks sale)
- Different attachments and different cross-checks by KAS
Tax_(PIT38 = 19% × (Revenue - Cost_(acquisition - Costs_(commissions)
Tax_(PIT36_CFD = 19% × (Profit_(closed_positions - Loss_(closed) text( but in other sources section
Both 19% flat, but they don’t combine. You cannot deduct forex loss (PIT-36) from stock profit (PIT-38).
2. PIT-38 - King of investor
Basis: art. 30b PIT Act. Concerns paid disposal of securities and derivative financial instruments… and from 2019 crypto, which are treated as monetary capital.
What in PIT-38:
- Stocks WSE and foreign (Apple, NVDA - sale)
- ETFs (accumulating and distributing - unit sale, not dividend inside)
- Bonds - sale before redemption, discount
- Dividends? NOTE: dividends from Polish stocks are in PIT-38 but in separate section, flat 19% - often collected by payer (brokerage). Foreign - also PIT-38, but you must add and possibly double taxation avoidance method.
- Subscription rights, warrants, certificates
- Crypto from 2019 - sale of crypto for FIAT, crypto for crypto (barter), crypto for goods/service - all PIT-38 crypto section. Cost FIFO.
- Futures on WSE? Complex - if cash settled and are security - PIT-38, but most FX/CFD traders have them on PIT-36 - see interpretations.
Costs in PIT-38:
- Acquisition price
- Brokerage commissions buy + sell
- Exchange fees
- NOT deductible: TradingView subscription, internet, trainings - not acquisition cost.
Deadline: by April 30 next year. For 2025 -> 04/30/2026. PIT-8C you get by end of February.
3. PIT-36 - Home of CFD, Forex, Futures (sometimes)
Basis: art. 10 sec.1 point 9 + art.20 + art.30b exclusions. CFD, spot forex (non-instrumental), part of futures on unregulated market is revenue from other sources.
KIS position 2023-2025: CFD and forex with market maker broker is PIT-36, because it is not paid disposal of security within PIT meaning, but cash-settled difference contract between you and broker. No transfer of ownership of underlying instrument.
Futures on CME via IBKR? Dispute. Part of interpretations says PIT-38 as derivative financial instrument, part (dominant now) PIT-36 as other sources. Safe: ask advisor and file for individual interpretation. In practice of traders in PL: IBKR futures -> PIT-36.
What in PIT-36:
- CFD on indices, stocks, crypto, commodities
- Forex spot (EUR/USD)
- Forex forward
- Part of futures and options outside regulated WSE market
- LP staking as business? No, but CFD yes.
Deadline: also April 30, but different form and different rounding rules.
4. Big Table: Instrument -> PIT -> NBP Rate -> Deadline
| Instrument | Where | NBP Rate? | Withholding tax | Deadline | Loss carry? |
|---|---|---|---|---|---|
| WSE stocks (Orlen, PKO) | PIT-38 | No - PLN | - | 30.04 | Yes, 5 years, 50% |
| US stocks via XTB/IBKR (AAPL) | PIT-38 | Yes, NBP D-1 sale and purchase | 15% USA (W-8BEN) | 30.04 | Yes |
| Dividend ETF (VWCE) sale | PIT-38 | Yes/No depending broker | - | 30.04 | Yes |
| US dividend (Coca-Cola) | PIT-38 dividend section | Yes, NBP D-1 dividend day | 15% credited | 30.04 | No - flat |
| PL dividend | PIT-38 | No | 19% collected by payer | 30.04 | No |
| Crypto spot (BTC/PLN) | PIT-38 crypto section | Yes if USD | - | 30.04 | Yes, only crypto-crypto |
| Crypto swap BTC->ETH | PIT-38 crypto | Yes, fair value PLN | - | 30.04 | Yes |
| DAX CFD (XTB) | PIT-36 other sources | Yes, NBP D-1 closing | - | 30.04 | Yes, only in PIT-36 |
| Forex EUR/USD (SAXO) | PIT-36 | Yes, NBP D-1 | - | 30.04 | Yes |
| Futures ES (CME via IBKR) | PIT-36 (disputed 38) | Yes | - | 30.04 | Yes |
| ETH staking rewards | PIT-38? Interpretations: income at receipt as other sources/capital | Yes | - | 30.04 | - |
| Airdrop | PIT-38/36 - income at receipt, interpretations variable | Yes | - | 30.04 | - |
Conversion formula per NBP
For each foreign transaction:
Amount_(PLN = Amount_(Currency × Rate_(NBP, table A, D-1
Where D-1 is day preceding day of obtaining revenue / incurring cost. For sale of shares: sale day. For purchase: purchase day. For dividend: payment day.
If NBP did not announce rate (weekend, holiday) -> rate from last business day before D-1.
Income_{foreign} = (Revenue_{USD} × NBP_{sale}) - (Cost_{USD} × NBP_{purchase})
Example: You buy 10 AAPL at 180 USD 2025-03-10, sell at 200 USD 2025-09-15.
- NBP D-1 purchase (2025-03-09 Sunday -> 2025-03-07): 3.92
- NBP D-1 sale (2025-09-14 Sunday -> 2025-09-12): 3.98 Cost = 1800 * 3.92 = 7056 PLN Revenue = 2000 * 3.98 = 7960 PLN Income = 904 PLN, tax 171.76 PLN.
5. How to apply in practice
Step 1: Export CSV from all brokers.
Step 2: Tag each instrument PIT-38 / PIT-36 / DIVIDEND / CRYPTO.
Step 3: For each foreign: assign NBP D-1 rate via NBP API: https://api.nbp.pl/api/exchangerates/rates/a/usd/2025-03-07/
Step 4: Sum separately PIT-38 and PIT-36.
Step 5: Check losses from previous years - you can deduct up to 50% loss annually for 5 years.
Market example: Mixed trader 2025
Ania:
- Profit PL stocks: +30,000 PLN (PIT-38)
- Loss US stocks: -10,000 PLN (PIT-38)
- Profit CFD DAX: +50,000 PLN (PIT-36)
- Loss forex: -20,000 PLN (PIT-36)
- Crypto: +20,000 PLN (PIT-38 crypto separate section)
Settlement:
- PIT-38 stocks: income 20,000 (30k-10k) -> tax 3,800 PLN
- PIT-38 crypto: income 20,000 -> tax 3,800 PLN (separate, but same form)
- PIT-36 CFD/forex: income 30,000 (50k-20k) -> tax 5,700 PLN Total 13,300 PLN. Cannot compensate forex loss with stocks.
If Ania had loss 40k from stocks 2024 in PIT-38 -> can deduct max 20k in 2025.
6. Beginner mistakes
- CFD on PIT-38 - most common mistake. KAS has algorithms comparing PIT-8C vs declarations. CFD has no in PIT-8C from Polish broker? Because Polish CFD broker gives you PIT-8C with section “other sources” and enters it into PIT-8C to PIT-36.
- NBP rate from transaction day, not D-1 - mistake 0.5-2% value, with 500k turnover it’s 5-10k difference in income.
- Not deducting commissions - commission is cost.
- Crypto crypto-crypto not settled - each swap is income.
- Foreign dividends not shown because “tax collected” - In USA collected 15%, in PL you must show and pay extra 4% difference to 19% (proportional deduction method).
- No UPO - you have no proof of filing.
7. Practical exercises
Ex 1: You have transaction: Purchase 100 ETF IWDA at 80 EUR 2025-01-15 (NBP EUR 4.25), sale 100 at 90 EUR 2025-06-20 (NBP EUR 4.30), commission total 10 EUR (NBP 4.28 avg). Calculate PIT-38 income.
Solution: Revenue 9000 EUR 4.30=38700, Cost 80004.25=34000, commission 10*4.28=42.8, income=38700-34000-42.8=4657.2, tax 885 PLN (~220 USD).
Ex 2: Change in sheet all USD transactions to NBP D-1 conversion automatically via =GOOGLEFINANCE? No - GoogleFinance is not NBP. Use IMPORTDATA with NBP API.
Ex 3: Check your PIT-8C for 2024 - in which box do you have CFD? Mark.
8. Checklist
- Downloaded all PIT-8C and marked what is PIT-38 vs 36
- Have instrument list with tags
- Implemented NBP D-1 rate (API or table)
- Calculated income separately for PIT-38 stocks, PIT-38 crypto, PIT-36 CFD/forex
- Checked losses from 5 years back for deduction
- Have UPO for previous year
9. Summary and Next Steps
- 19% is not everything - form matters.
- Stocks, ETF, spot crypto -> PIT-38.
- CFD, forex, most foreign futures -> PIT-36.
- Always NBP D-1 for foreign.
- Losses do not transfer between PIT-38 and PIT-36.
Next: Lesson 02 - Crypto FIFO, staking, airdrops - we will go into details that we only signaled here, and calculate crypto according to FIFO.
Template to download (description): Google Sheets Instrument_Map with columns: Date, Instrument, Type (stock/CFD/crypto), Broker, Revenue currency, Cost currency, NBP D-1 revenue, NBP D-1 cost, Income PLN, PIT.
Advertisement
Key takeaways
- Complete guide PIT-38 vs PIT-36 for trader. Table instrument->form, NBP rate D-1, deadlines, 19% flat and how not to mix forms in 2026.
Structure sources
The material is based on source documents. Variable values — fees, limits, regulatory figures — are worth checking at the source before making a decision.
- Ustawa o PIT
- KAS — wyjaśnienia — podatki.gov.pl
Disclaimer
- Educational material. Not investment advice or a recommendation. Trading involves the risk of losing capital.
- The materials are educational. They are not investment advice or a recommendation within the meaning of financial instruments trading regulations. Numbers in examples are illustrative unless a measurement date and source are given.
Who writes this and how we check it
The materials are written and verified by Redakcja Kurs Tradera — the rules are described on about the site: every number has a source, and we show gaps openly. Report a factual error via contact — corrections are described in the content.
Progress is stored only in this browser (localStorage) — there is no account and no copy on the server. Clearing site data will remove it. Manage your data