Skip to main content

Polish investment tax calculator (PIT-38) for stocks and cryptocurrency

Project description

PIT-38 — Polish Investment Tax Calculator

CI codecov GitHub release Python 3.10+ License: MIT

🇵🇱 Wersja polska

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:

Tax Rules

This calculator implements Polish tax law for capital gains (PIT-38). For a detailed description of the rules, see:

How It Works

  1. Import — broker plugins convert proprietary CSV exports into a standardized format
  2. Exchange — foreign currency amounts are converted to PLN using NBP average rates (table A) from the last business day before each transaction
  3. Calculate — stock profits use the FIFO method; crypto uses yearly cost/income aggregation
  4. 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.


Buy Me A Coffee

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pit_38-2026.4.20.4.tar.gz (35.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

pit_38-2026.4.20.4-py3-none-any.whl (60.0 kB view details)

Uploaded Python 3

File details

Details for the file pit_38-2026.4.20.4.tar.gz.

File metadata

  • Download URL: pit_38-2026.4.20.4.tar.gz
  • Upload date:
  • Size: 35.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for pit_38-2026.4.20.4.tar.gz
Algorithm Hash digest
SHA256 69d40db51c4f8be8b1a4b3d434870dc43538d592b6e77e3a4ea3cf46b66b5714
MD5 9e6c44297f6762694ddefaa9b36a5931
BLAKE2b-256 f0fd4c1386029b779f781147ae97b566b37f491e1e0e7f786c95bb8a17abcb01

See more details on using hashes here.

File details

Details for the file pit_38-2026.4.20.4-py3-none-any.whl.

File metadata

  • Download URL: pit_38-2026.4.20.4-py3-none-any.whl
  • Upload date:
  • Size: 60.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.20

File hashes

Hashes for pit_38-2026.4.20.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8950820a20be24acdcc0128b42af7f8d2385827f3ed12cc4211d8085c2eb7b80
MD5 0e3dae3412a6ba6cccbbae92ad868312
BLAKE2b-256 ef91ae069f0f15d0bd51f47175e71b100982375bc094934a4e1c1030223a90d9

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page