Polish investment tax calculator (PIT-38) for stocks and cryptocurrency
Project description
PIT-38 — Polish Investment Tax Calculator
A command-line tool for calculating Polish income tax on stocks and cryptocurrency (PIT-38 form). It imports transaction history from popular brokers, converts foreign currencies to PLN using official NBP exchange rates, and computes your tax liability.
Supported Brokers
| Broker | Stocks | Crypto |
|---|---|---|
| Revolut | Yes | Yes |
| E*Trade | Yes | — |
| Binance | — | Yes |
| Manual CSV | Yes | Yes |
Quick Start
Install
pipx install pit-38
Or from source:
pipx install .
Calculate stock tax
pit38 stock -f transactions.csv -y 2025
Calculate crypto tax
pit38 crypto -f transactions.csv -y 2025
Import from broker
Convert your broker's export into the standardized CSV format:
pit38 import revolut-stock -i revolut_export.csv -o transactions.csv
pit38 import revolut-crypto -i revolut_export.csv -o transactions.csv
pit38 import etrade -i etrade_export.csv -o transactions.csv
pit38 import binance -i binance_export.csv -o transactions.csv
You can combine multiple files from different brokers:
pit38 stock -f revolut.csv -f etrade.csv -y 2025
Manual CSV format
You can also prepare transaction files manually. See the example formats:
- Stocks:
pit38/data_sources/stock_loader/example_format.csv - Crypto:
pit38/data_sources/crypto_loader/example_format.csv
How It Works
- Import — broker plugins convert proprietary CSV exports into a standardized format
- Exchange — foreign currency amounts are converted to PLN using NBP average rates (table A) from the last business day before each transaction
- Calculate — stock profits use the FIFO method; crypto uses yearly cost/income aggregation
- Tax — 19% flat tax rate is applied, with automatic deduction of losses from previous years
Development
python3 -m venv .venv
source .venv/bin/activate
pip install -e ".[dev]"
pytest tests/
Disclaimer
This tool is provided for informational purposes only and does not constitute tax advice. Always verify your calculations with a qualified tax advisor before filing your PIT-38 declaration.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pit_38-2026.4.20.2.tar.gz.
File metadata
- Download URL: pit_38-2026.4.20.2.tar.gz
- Upload date:
- Size: 30.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b2817550ff211bccc7594863b5ddee5f3ab3210b16241e8c2c04670d223cd7a8
|
|
| MD5 |
efe20b5be4864ba8c9be4e9b0e1d9338
|
|
| BLAKE2b-256 |
212467184ff22b7877f9cbe290515c0a850bcba091c438a9e5f91a030cc2f717
|
File details
Details for the file pit_38-2026.4.20.2-py3-none-any.whl.
File metadata
- Download URL: pit_38-2026.4.20.2-py3-none-any.whl
- Upload date:
- Size: 51.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.20
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ad15f6d6eaf334a626aa37b08b4adfc9468089255e7c611856e3530cba31c032
|
|
| MD5 |
51ff2660e93fca3ec2b988979fe1f928
|
|
| BLAKE2b-256 |
a28cc8a22efb9849a23258ea856d8d2d022e0113d53d784371ca2dbcb60427da
|