Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

calfifo

calfifo

Cálculo FIFO de operaciones spot de Kraken para la declaración de IRPF en España.

App nativa de escritorio para macOS. Arrastras el CSV de Kraken y ves al instante tu ganancia o pérdida patrimonial, listado operación a operación según el método FIFO que exige Hacienda.

macOS Python PyQt5 License: MIT


¿Qué hace?

Hacienda exige calcular las ganancias y pérdidas de cripto en EUR usando el método FIFO (First In, First Out): cuando vendes, se considera que vendes primero las monedas que compraste antes. calfifo automatiza ese cálculo a partir del export de Spot Trades que descargas desde tu cuenta de Kraken.

  • ✅ Lee directamente el CSV de Kraken sin tocarlo
  • ✅ Aplica FIFO estricto por activo
  • ✅ Suma fees de compra al coste y resta fees de venta del ingreso (regla de Hacienda)
  • ✅ Distingue ganancias, pérdidas y resultado neto en tiempo real
  • ✅ Muestra las posiciones abiertas a fin de año con su coste base, para arrastrarlas al ejercicio siguiente
  • ✅ Exporta los resultados a CSV para tu gestor o para Excel

Capturas

Detalle FIFO operación a operación

Detalle FIFO

Resumen por cripto

Resumen por cripto

Posiciones abiertas (no tributan hasta venderse)

Posiciones abiertas

Instalación

Requisitos

  • macOS 11 (Big Sur) o superior
  • Python 3.10+ con PyQt5 instalado
pip3 install PyQt5

Instalar la app

git clone https://github.com/jorgedihe/calfifo.git
cd calfifo

# (Opcional, solo si quieres regenerar el icono) requiere Pillow
pip3 install Pillow
python3 scripts/make_icon.py

# Construir el bundle .app
./scripts/build_app.sh

# Instalar en /Applications
cp -R build/calfifo.app /Applications/

A partir de ahí la app aparece en Launchpad, Spotlight y Finder como cualquier otra.

Nota: el bundle no embebe Python. El launcher dentro de la app llama a tu python3 (preferencia: shim de pyenv) y ejecuta python -m calfifo desde el repo clonado. Eso significa que si actualizas el código, no hace falta reinstalar nada — basta con git pull.

Modo CLI / desarrollo

python3 -m calfifo

Cómo se usa

  1. En Kraken: History → Export → Spot trades, rango el año fiscal completo.
  2. Abre calfifo.
  3. Arrastra el CSV a la ventana (o pulsa Abrir CSV…).
  4. Revisa:
    • Resultado neto — lo que declaras como ganancia/pérdida patrimonial.
    • Detalle FIFO — cada cierre con fecha compra, fecha venta y resultado.
    • Resumen por cripto — qué moneda te ha dado más y cuál menos.
    • Posiciones abiertas — lo que sigue en cartera con su coste base.
  5. Pulsa Exportar resultados CSV para pasárselo a tu gestor o meterlo en Excel.

Reglas fiscales aplicadas

calfifo calcula siguiendo lo establecido por la Agencia Tributaria española para ganancias y pérdidas patrimoniales por transmisión de criptomonedas:

Concepto Fórmula
Coste de adquisición precio × volumen + fee de compra
Valor de transmisión precio × volumen − fee de venta
Resultado valor transmisión − coste adquisición
Orden de cierre FIFO: cada venta cierra primero el lote más antiguo del mismo activo

Las posiciones que quedan en cartera al final del periodo no tributan hasta que se vendan, pero su coste base queda registrado para la siguiente declaración.

Limitaciones conocidas

  • Solo procesa el export de Spot Trades de Kraken. Si haces staking, earn, rewards o conversiones rápidas, eso vive en el export de Ledgers y debe declararse aparte (como rendimiento del capital mobiliario en el caso de staking).
  • Solo pares contra EUR. Si tienes pares cripto-cripto o contra USD, la app avisa pero no convierte automáticamente a EUR (Hacienda exige cotización en EUR al momento de la operación).
  • No genera el modelo 100 ni el 721. Te da los números; la presentación se hace a través de la Agencia Tributaria.
  • Si vendiste criptos compradas fuera de Kraken, el FIFO de la app no las considera. Necesitarías un agregador multi-exchange para ese caso.

⚠️ Aviso importante

Esta herramienta no es asesoramiento fiscal. Es un cálculo automatizado siguiendo las reglas FIFO conocidas, pero la normativa fiscal puede cambiar y cada situación personal es distinta. Antes de presentar la declaración, valida los resultados con un asesor fiscal. El autor no se hace responsable de errores de cálculo, interpretaciones normativas ni de las consecuencias de su uso.

Estructura del proyecto

calfifo/
├── calfifo/              # Código fuente
│   ├── core.py           # Motor FIFO puro (sin dependencias UI)
│   ├── ui/
│   │   ├── main_window.py
│   │   └── style.py      # Tema dark premium
│   └── assets/
│       └── calfifo.icns
├── scripts/
│   ├── make_icon.py      # Genera el icono .icns
│   ├── build_app.sh      # Construye calfifo.app
│   └── screenshot.py     # Genera capturas para el README
├── sample_data/
│   └── kraken_sample.csv # CSV de ejemplo (datos ficticios)
└── docs/                 # Capturas e imágenes

Contribuir

Issues y PRs bienvenidos. Si te encuentras un export de Kraken que calfifo no procesa bien, abre un issue con (idealmente) un CSV mínimo de ejemplo anonimizando los txid y volúmenes reales.

Licencia

MIT — © 2026 Jorge Díaz Hernández

About

Cálculo FIFO de operaciones spot de Kraken para la declaración de IRPF en España. App nativa de macOS con UI dark premium.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages