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.
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:
- 3-6 giełd: Binance, OKX, Coinbase, Kraken, Bybit — każda eksportuje w innym formacie
- 2-4 portfele: MetaMask, Phantom, Ledger — historię trzeba ściągać z eksploratora bloków
- Przelewy między giełdami i łańcuchami: z Binance do MetaMaska, dalej do Phantoma — to ma być rozpoznane jako „transfer wewnętrzny”, a nie „sprzedaż + kupno”
- Operacje DeFi: dostarczanie płynności, staking, airdropy, wrapping — z samego CSV nie widać, co tam się stało
- Giełdy, które już padły: FTX, Celsius — dane czasem trzeba wyciągnąć z maili
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.
| Ź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_)
- 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. W realnych próbkach, które puszczałem, low to zwykle 5-15% rekordów. Tę część 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.
Wyeksportuj Binance Tax Report → 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”.
rel="sponsored").
Z rejestracji przez te linki możemy dostawać prowizję, co nie wpływa na koszt twojej rejestracji ani na opłaty transakcyjne.
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.
Pełne ujawnienie →
AI Trade Lab · 2026-05-15