La forma más sencilla. No necesitas saber nada de Python ni de terminales.
Primera vez:
- Descarga o clona el repositorio
- Doble clic en
instalar.bat— instala Python y todas las dependencias automáticamente - Doble clic en
executar.bat— abre la aplicación en el navegador
Siguientes veces:
- Solo doble clic en
executar.bat
Si Windows muestra una advertencia de seguridad, haz clic en "Más información" → "Ejecutar de todas formas".
# Clonar el repositorio
git clone https://github.com/usuario/calculadora-crypto-dng.git
cd calculadora-crypto-dng
# Instalar dependencias
pip install streamlit pandas xlsxwriter plotly yfinance
# Ejecutar
streamlit run Tributos.pyLa aplicación se abrirá automáticamente en http://localhost:8501
Disponible en Streamlit Community Cloud — acceso directo desde el navegador sin instalar nada.
Solución automática para valorar operaciones de criptomonedas en EUR. Importa tu CSV de Binance, obtén el precio histórico de cada operación y calcula ganancias/pérdidas patrimoniales, rendimientos (staking, airdrops) con método FIFO.
Método FIFO obligatorio · Valoración automática EUR · GPL v3
Tributos/
│
├── Tributos.py ← Punto de entrada (streamlit run Tributos.py)
├── instalar.bat ← Instalación automática Windows (primera vez)
├── executar.bat ← Lanzar la aplicación Windows
├── LICENSE ← GNU GPL v3
├── README.md
│
├── ui/ ← TODO LO QUE VE EL USUARIO
│ ├── __init__.py
│ ├── formulari.py ← Layout principal, CSS global, splash, estado
│ │
│ ├── i18n/ ← Sistema de traducciones (CA / ES)
│ │ ├── __init__.py ← Función t() y selector de idioma
│ │ ├── ca.py ← Textos en catalán (por defecto)
│ │ └── es.py ← Textos en castellano
│ │
│ ├── components/ ← Un archivo por cada sección visual
│ │ ├── __init__.py
│ │ ├── splash.py ← Pantalla de aviso inicial + selector idioma
│ │ ├── header.py ← Cabecera (título, badge)
│ │ ├── sidebar.py ← Instrucciones, guía de pasos, tramos IRPF
│ │ ├── upload_section.py ← Secciones 01-07 (flujo principal)
│ │ ├── results_section.py ← Resultados: tabs Hacienda/FIFO/Rendimientos/Gráficos
│ │ └── footer.py ← Pie de página
│ │
│ └── actions/ ← Un archivo por cada acción principal
│ ├── __init__.py
│ ├── accio_corregir.py ← Sección 03: normaliza CSV + resuelve símbolos
│ ├── accio_valorar.py ← Sección 04: valora en EUR (Yahoo/CoinGecko/CC/Binance)
│ ├── accio_calculs.py ← Sección 05: FIFO + IRPF + compensación + posición abierta
│ └── accio_exportar.py ← Sección 07: genera informe Excel
│
└── logic/ ← LÓGICA DE NEGOCIO (sin UI)
├── __init__.py
├── mapa_fiscal.py ← 56 tipos → PATRIMONIAL/PERMUTA/RENDIMIENTO/GASTO/NEUTRO/INSOLVENCIA
├── tax_calculator.py ← Motor FIFO + tramos IRPF 2025 + compensación Art. 49
└── report_generator.py ← Generación Excel (5 hojas)
01 · Selecciona el año fiscal
02 · Carga el CSV original (Binance)
03 · Corregir CSV
→ normaliza formato
→ resuelve símbolos: IDs prioritarios → CoinGecko → CryptoCompare
→ columna cg_id en el CSV corregido (DESCONOCIDO si no se encuentra)
04 · Valorar en EUR
→ reutiliza cg_id de la sección 03
→ busca precio: Yahoo Finance → CoinGecko → CryptoCompare → Binance Public
→ checkpoint cada 50 filas (reanuda si se interrumpe)
05 · Calcular Fiscalidad
→ clasifica por MAPA_FISCAL
→ motor FIFO (compras, ventas, permutas, rendimientos, insolvencia)
→ tramos IRPF 2025: 19/21/23/27/30%
→ compensación cruzada Art. 49 LIRPF (25%)
→ posición abierta (criptos sin vender)
06 · Expediente ZIP
→ hacienda/ · calculo/ · bloques/ · agrupaciones/ · README.txt
07 · Informe Excel
→ Hacienda 1802-1809 · Ganancias FIFO · Rendimientos · Posición abierta · Instrucciones
| Capa | Responsabilidad | Acceso Streamlit |
|---|---|---|
ui/components |
Renderizar secciones visuales | ✅ Sí |
ui/actions |
Orquestar operaciones de los botones | ✅ Sí |
logic/ |
Cálculos, FIFO, IRPF, Excel | ❌ Nunca |
| Concepto | Referencia legal |
|---|---|
| Método FIFO obligatorio | Art. 35 LIRPF |
| Permutas entre criptos | Art. 37.1.h LIRPF |
| Valoración permutas (MAX) | Art. 37.1.h LIRPF |
| Rendimientos capital mobiliario (staking) | Art. 25 LIRPF |
| Compensación pérdidas (25%) | Art. 49 LIRPF |
| Insolvencia exchange | Art. 14.2.k LIRPF |
| Tramos IRPF 2025 | 19 / 21 / 23 / 27 / 30% |
- Yahoo Finance — precios de cierre diario
- CoinGecko — API pública (~12.000 monedas)
- CryptoCompare — API pública (~10.000 monedas adicionales)
- Binance Public API — klines diarias sin autenticación
La valoración usa el precio de cierre diario, no el precio exacto al segundo. Esto es lo que acepta la AEAT (Art. 37 LIRPF: valor de mercado del día de la transmisión).
GNU General Public License v3.0 — ver LICENSE
Herramienta orientativa. No sustituye el asesoramiento fiscal profesional.


