Spis treści
Spis treści
  1. 1. Gdzie naprawdę leży trudność
  2. 2. Krok 1: eksport surowych danych
  3. 3. Krok 2: ujednolicenie pól z AI
  4. 4. Krok 3: rozpoznanie typu transakcji
  5. 5. Krok 4: kalkulacja kosztu nabycia
  6. 6. Krok 5: papier roboczy
  7. 7. 6 typowych pułapek
  8. 8. FAQ

Podatki od krypto z AI — 5 kroków na rekonsylację transakcji, portfeli i kosztów

Sezon rozliczeniowy. Otwierasz przycisk „Export history” w sześciu giełdach po kolei — i to są chyba najbardziej demotywujące godziny w roku użytkownika krypto. Nazwy pól nie pasują do siebie, znaczniki czasu są w różnych strefach, cross-chain swap rejestruje się jako dwie pozycje, a przychody ze stakingu leżą w osobnym CSV. Akurat ten kawałek pracy to dla AI idealne zadanie. Tu masz pełny workflow na 5 kroków — nie powie ci, jak złożyć zeznanie, tylko jak doprowadzić dane do stanu, który możesz oddać doradcy podatkowemu.

2026-05-15 AI Trade Lab Czytasz ok. 9 minut
Ten artykuł nie jest poradą podatkową. Prawo podatkowe różni się drastycznie między krajami — w Polsce zyski z walut wirtualnych są opodatkowane stawką 19% (PIT-38), w innych jurysdykcjach reguły wyglądają zupełnie inaczej i co roku się zmieniają. Ten workflow służy wyłącznie do uporządkowania rozsypanej historii transakcji w czytelny papier roboczy. Ostateczna podstawa opodatkowania, ulgi i formularze muszą być obsłużone przez licencjonowanego doradcę podatkowego. AI popełnia błędy — kluczowe liczby sprawdź ręcznie.

1. Gdzie naprawdę leży trudność #

Większość ludzi myśli, że problem to „policzyć capital gain”. Wzór jest prosty (cena sprzedaży − koszt nabycia = wynik). Trudność jest gdzie indziej: w odzyskaniu kosztu nabycia. Realne dane przeciętnego użytkownika wyglądają tak:

Te 5 kroków nie sprawią, że AI „rozliczy ci podatek automatycznie”. Zrobią coś innego: z tego bałaganu zbudują jedną czystą tabelę. Tę tabelę oddajesz doradcy podatkowemu albo wrzucasz do Koinly lub CoinTracker — i oni domykają resztę.

2. Krok 1: eksport surowych danych #

To etap ręczny — AI tu nie pomoże. Ale musisz wyeksportować wszystko, inaczej cała dalsza praca AI da błędne wyniki.

Główne giełdy i portfele — gdzie eksportować dane (stan: maj 2026)
Źródło Ścieżka eksportu Format Pola, które zwykle wypadają
Binance Tax → Generate Tax Report → wybierz rok CSV Transfery między subkontami, przychody z Launchpool
OKX Assets → Bills → Export CSV / XLSX Zrealizowane vs niezrealizowane PnL z kontraktów
Coinbase Reports → Tax Reports CSV / Form 8949 Stare dane z Coinbase Pro trzeba eksportować osobno
MetaMask Etherscan / Arbiscan — eksport po adresie do CSV CSV Wewnętrzne kroki swapów, wypłaty L2 → L1
Phantom Solana Explorer lub Solscan — po adresie Trzeba uporządkować ręcznie Metadane tokenów SPL
Portfele sprzętowe Po adresie, z eksploratora odpowiedniego łańcucha Jak wyżej Multichain — eksport łańcuch po łańcuchu

Rada: załóż folder 2025-tax/raw/, jeden CSV na źródło, z rokiem i nazwą źródła w nazwie pliku. Cała praca AI rusza z tego katalogu. Nie pozwalaj AI łączyć się bezpośrednio z giełdami.

3. Krok 2: ujednolicenie pól z AI #

Każdy CSV ma inne nazwy pól. Binance ma UTC_Time, Coinbase Timestamp, OKX billCreateTime. ChatGPT albo Claude napiszą ci jeden wspólny skrypt.

Szablon promptu (GPT-4o + Code Interpreter):

W załączniku 3 pliki CSV z różnych giełd: binance.csv / okx.csv / coinbase.csv.

Napisz skrypt w Pythonie, który scali je do wspólnego formatu unified.csv. Kolumny muszą być takie:

- timestamp_utc (ISO 8601)
- source (binance / okx / coinbase / wallet_<address>)
- type (buy / sell / convert / transfer_in / transfer_out / staking_reward / airdrop / fee / unknown)
- asset_in (BTC / ETH / USDT ...)
- amount_in (float)
- asset_out
- amount_out
- fee_asset
- fee_amount
- usd_price_at_time (zostaw puste, doliczymy w kolejnym kroku)
- raw_tx_id (oryginalne ID rekordu)
- raw_note (oryginalny komentarz z CSV, dosłownie)

Wymagania:
1. Sam wykryj w każdym CSV kolumnę czasu, kwoty, typu (nie zakładaj, że nazwy są takie same)
2. Jeżeli mapowanie typu jest niepewne, wpisz „unknown” — nie zgaduj
3. Wszystkie czasy konwertuj na UTC
4. Wygeneruj mapping_report.md — które kolumny z którego CSV trafiły do których pól wspólnego formatu, a które zostały pominięte

Załącznik to prawdziwe dane. Mapuj na podstawie realnych nazw kolumn, nie zakładaj nic z pamięci.

Najważniejsze jest ostatnie zdanie: „nie zakładaj nic z pamięci”. GPT-4o lubi z pamięci podsuwać „typową” listę kolumn Binance, a Binance format zmieniał już dwa razy — mapowanie z prawdziwego załącznika to jedyne, co się trzyma.

4. Krok 3: rozpoznanie typu transakcji #

W poprzednim kroku zostawiłeś sobie kategorię „unknown”. Teraz AI ma to poklasyfikować. To najbardziej błędogenny krok — musisz go ręcznie wyrywkowo sprawdzić.

Szablon promptu:

Poniżej wszystkie rekordy z unified.csv, gdzie type=unknown (łącznie N pozycji).

Dla każdej osobno orzeknij rzeczywisty typ, wybierając z 9 kategorii:
- buy / sell / convert / transfer_in / transfer_out
- staking_reward / airdrop / mining_reward / interest
- fee_only

Na czym się oprzeć:
- Słowa kluczowe w polu raw_note („Distribution”, „Stake Earn”, „Launchpool” itd.)
- Czy aktywo po obu stronach jest takie samo (ta sama moneta na różnych kontach = transfer)
- Czy kwota nie jest podejrzanie mała (< $0.5 to często dust albo fee)
- Czy źródłem jest portfel (tx on-chain może być swap / mint / claim)

Dla każdej pozycji zwróć:
- tx_id
- rekomendowany typ
- pewność (high / medium / low)
- uzasadnienie

Na koniec osobno wylistuj rekordy z confidence=low — te sprawdzę ręcznie.
Nie zgaduj na siłę — przy wątpliwościach wpisuj low i opisuj, jakiej informacji brakuje.

„Zgadywanie na siłę” to domyślny tryb AI. Wymóg „przy wątpliwościach wpisuj low” musisz wymusić wprost — bez tego model wymyśli „rozsądnie brzmiący” typ. Wszystkie rekordy oznaczone jako low sprawdzasz ręcznie.

5. Krok 4: kalkulacja kosztu nabycia #

Po przyporządkowaniu typów AI liczy koszt nabycia. Tu musisz dograć historyczne ceny — w CSV wiele rekordów nie ma wyceny w USD, trzeba ściągnąć z historycznego API CoinGecko.

Szablon promptu (konieczny Code Interpreter):

Załączony unified.csv ma uporządkowane typy.

Zrób:
1. Dla każdej pozycji typu buy/sell/convert/staking_reward/airdrop uzupełnij usd_price_at_time
   - Jeżeli oryginał ma kwotę w USD, przelicz wprost
   - W przeciwnym razie weź historyczną cenę z CoinGecko (możesz wyjść z połączeniem; zaznacz liczbę zapytań i limity)
   - Jeśli dla danego dnia i monety nie ma publicznej ceny, wpisz „N/A” — nie wymyślaj

2. Policz koszt nabycia każdej sprzedaży metodą FIFO:
   - Dla każdej monety prowadź kolejkę „niesprzedanych partii”, first in first out
   - Każda sprzedaż czerpie cost_basis z partii na czele kolejki
   - Dla staking_reward / airdrop / mining_reward cost_basis to cena w USD w momencie otrzymania

3. Następnie powtórz to samo metodą LIFO — dla porównania

Wygeneruj trzy pliki:
- realized_pnl_fifo.csv (zrealizowane PnL dla każdej sprzedaży, FIFO)
- realized_pnl_lifo.csv (jak wyżej, LIFO)
- summary.md (porównanie podstawy opodatkowania FIFO vs LIFO + raport kompletności danych)

Na koniec wskaż: które monety lub okresy mają wyraźne braki danych lub niską pewność.

FIFO jest w większości jurysdykcji obowiązkowe, LIFO liczysz tylko porównawczo — żeby zobaczyć skalę różnicy. Jeśli różnica jest duża (powyżej 30%), znaczy, że struktura twoich partii jest istotna i tym bardziej warto oddać to doradcy podatkowemu do precyzyjnej obróbki.

6. Krok 5: papier roboczy #

Ostatni krok — wszystkie wyniki w jeden papier roboczy, który możesz oddać doradcy. ChatGPT albo Claude — bez różnicy.

Szablon promptu:

Na podstawie unified.csv i realized_pnl_fifo.csv wygeneruj papier roboczy do rozliczenia rocznego (Markdown):

# [rok] Crypto Tax Working Paper

## 1. Źródła danych i zakres czasu
- Lista źródeł + liczba rekordów z każdego
- Zakres czasowy
- Znane luki w danych (czego nie wyeksportowano, dlaczego)

## 2. Przegląd zmian stanu aktywów
- Stan początkowy każdej monety
- Stan końcowy każdej monety
- Maksymalna i minimalna pozycja w okresie

## 3. Zrealizowane PnL (FIFO)
- Zrealizowane PnL rozbite po monecie
- Skumulowane PnL miesiąc po miesiącu

## 4. Pozycje przychodowe
- Suma przychodów ze stakingu
- Suma airdropów
- Pozycje przychodowe w wycenie USD

## 5. Pewność danych i znane problemy
- Liczba rekordów o niskiej pewności (type=low confidence, N pozycji)
- Liczba rekordów bez ceny USD
- Status rozpoznania transferów wewnętrznych

## 6. Notatka dla doradcy podatkowego
- Opis mojego workflow z AI
- Które pola pochodzą z wnioskowania AI (np. typ transakcji)
- Co warto, żeby doradca priorytetowo zweryfikował

Wpisz wprost: „Dokument zestawiony przez użytkownika z pomocą narzędzi AI. Liczby w deklaracji końcowej muszą być zweryfikowane przez licencjonowanego doradcę podatkowego.”

Z tym papierem roboczym doradca nie zaczyna od porządkowania (właśnie to zrobiłeś), tylko weryfikuje, dopasowuje do lokalnego prawa i wypełnia formularze. Porządkowanie zwykle pochłania 70% jego czasu — to AI właśnie ci zaoszczędziło.

7. 6 typowych pułapek #

Pułapka 1: transfer między giełdami zapisany jako „sprzedaż + kupno”. Wypłata BTC z Binance do MetaMaska to nie jest zdarzenie podlegające opodatkowaniu, ale w obu CSV-ach wygląda jak dwie odrębne transakcje. W kroku 3 typ „transfer” musisz sprawdzić ręcznie wyrywkowo.

Pułapka 2: kroki pośrednie w swapach DeFi. Jeden swap USDC → ETH na Uniswapie w Etherscanie może się rozłożyć na 4-5 internal transactions. AI policzy każdy internal tx jako osobny rekord, a powinno to być jedno zdarzenie. W prompcie wymuś łączenie internali pod jednym tx_hash w jeden swap.

Pułapka 3: cena USD airdropu w chwili otrzymania. Większość airdropów w chwili otrzymania nie ma jeszcze publicznego rynku (pierwsze 24 godziny bez listingu), więc cena z CoinGecko jest spóźniona. Niech AI oznaczy takie pozycje jako „FMV unavailable” — decyzja należy do doradcy.

Pułapka 4: autoreinwestycja stakingowa. Codziennie kapie ci mała nagroda stakingowa, która sama wraca do kapitału — w CSV potrafi się to rozsypać na setki pozycji po 0.0001 ETH. AI policzy je punkt po punkcie i będzie to poprawne, ale uciążliwe. Możesz mu kazać agregować dziennie („all stake rewards on YYYY-MM-DD combined”).

Pułapka 5: wklejanie KYC razem z danymi. Raport CSV z Binance Tax bywa zaśmiecony twoim mailem, UID, IP. Najpierw zanonimizuj. W OpenAI Settings wyłącz „Improve the model for everyone”; API w wersji enterprise domyślnie nie trenuje na twoich danych.

Pułapka 6: zaufanie cenom USD od AI. „ETH na 2024-03-15 to 3 825 USD” wypluwane przez AI to często przybliżenie z danych treningowych, nie rzeczywista cena z tego dnia. Wszystkie ceny muszą pochodzić z historycznego API CoinGecko / CryptoCompare — albo zmuś AI do jawnego wywołania (tryb online), albo wyciągnij sam i wklej.

Pełna biblioteka promptów →

8. FAQ #

Q1: Czy AI rozliczy za mnie podatek?

Nie. AI dobrze nadaje się do porządkowania danych i wstępnej kalkulacji kosztu nabycia, ale ostateczna kwalifikacja przychodu, koszty i przeniesienia między latami muszą być zweryfikowane przez licencjonowanego doradcę podatkowego z twojego kraju. Z workflow zostaje ci uporządkowany papier roboczy, nie deklaracja podatkowa.

Q2: Czy bezpiecznie wrzucać dane podatkowe do ChatGPT?

Jeżeli surowy CSV zawiera dane wiążące cię z tożsamością (KYC: e-mail, adres, IP), zanonimizuj je zanim coś wkleisz. W OpenAI Settings możesz wyłączyć „Improve the model for everyone”. Przy dużych kwotach lepiej użyć API z własnym narzędziem niż czatu webowego.

Q3: FIFO czy LIFO — co się bardziej opłaca?

Zależy od prawa w twoim kraju i od struktury twoich pozycji. W wielu jurysdykcjach FIFO (first in, first out) jest obowiązkowe; tylko nieliczne dopuszczają LIFO lub metody konkretnych partii. AI policzy ci kilka wariantów na raz, ale wybór zawsze musi być zgodny z lokalnym prawem.

Q4: Robić wszystko z AI czy raczej Koinly / CoinTracker / TokenTax?

Zależy od wolumenu. Mniej niż 200 transakcji: samodzielnie z AI wychodzi taniej (wystarczy jedna sesja ChatGPT Plus). 200-2000 transakcji: użyj AI do wstępnego czyszczenia, a potem wrzuć dane do tych narzędzi i tam domknij rozliczenie. Powyżej 2000: od razu profesjonalne oprogramowanie podatkowe — AI tylko do doraźnych zapytań.

Q5: Jak rozliczyć przeniesienie straty z poprzedniego roku?

To miejsce, w którym AI łatwo się myli — nie wie, że masz niewykorzystaną stratę z zeszłego roku. Daj mu papier roboczy z poprzedniego roku w załączniku i napisz wprost: „załącznik A to PnL za 2024, załącznik B to PnL za 2025; policz, ile niewykorzystanej straty z 2024 zostaje do rozliczenia w 2025”.

Ujawnienie i zastrzeżenie: Bierzemy udział w programie poleceń Binance; kodu polecającego ani linków z kodem tutaj nie zamieszczamy. Ten artykuł nie jest poradą podatkową, prawną ani inwestycyjną. Prawo podatkowe od krypto różni się drastycznie między krajami i często się zmienia — ostateczne rozliczenie zawsze powierz licencjonowanemu doradcy podatkowemu z twojej jurysdykcji. Informacja o afiliacji →

AI Trade Lab · 2026-05-15