Questo repository contiene strumenti in Python per il calcolo dell'imposta IVAFE (Azioni e Liquidità) e dei dividendi esteri, generando le righe per i quadri RW e RM della dichiarazione dei redditi italiana.
Progettato originariamente per la gestione di Google GSUs (Alphabet Inc.) e conti Morgan Stanley, ma estensibile a qualsiasi titolo estero tracciabile su Yahoo Finance.
Lo strumento richiede due file diversi a seconda del calcolo da effettuare.
Per il calcolo IVAFE sulle azioni:
- Accedi a Morgan Stanley atWork.
- Nel menu superiore, clicca su Activity > Reports > Your Alphabet Stock Statement.
- Imposta:
- Reporting Period:
All available history. - Choose a currency:
USD. - Output Format:
CSV.
- Reporting Period:
- Clicca su Run Report.
- Scarica il file e rinominalo in
ss.csvnella radice del progetto.
Per il calcolo di dividendi e liquidità:
- Accedi a Morgan Stanley atWork.
- Naviga su Activity > Reports > Account Summary.
- Imposta:
- Period Quick Select:
All Available History. - Product Selection: Spunta sia
Share & Cash HoldingscheEquity Awards. - View As:
Web Page. - Account Summary Type:
Full.
- Period Quick Select:
- Prima di cliccare su Submit, apri i Developer Tools del browser (F12) e vai sulla tab Network.
- Clicca su Submit.
- Nella tab Network, individua la richiesta a
userStatement.do. - Fai click con il tasto destro sulla richiesta e seleziona Copy > Copy as cURL.
- Esegui il comando nel terminale salvando l'output su file (es. aggiungendo
-o account-summary.htmlalla fine). - Converti l'HTML in CSV usando lo script di utility:
uv run scripts/parse_html_summary.py --html account-summary.html --output activity-summary.csv
- Esegui i passaggi da 1 a 4 dell'Opzione A (senza aprire i DevTools).
- Clicca su Submit.
- Scorri fino in fondo alla tabella Activity (Entry Date, Activity, ecc.) nella pagina generata.
- Copia i dati, incollali in un foglio di calcolo ed esporta in CSV come
activity-summary.csvnella radice del progetto.
Puoi eseguire i calcoli manualmente sul tuo computer.
- uv (consigliato, gestisce automaticamente dipendenze e ambienti) o Python 3.10+ con installazione manuale delle dipendenze.
Non è necessario creare un virtual environment o installare dipendenze. uv si occuperà di tutto in automatico leggendo i metadati all'interno degli script.
1. Calcolo IVAFE Azioni (Quadro RW):
uv run scripts/calcola_ivafe.py --csv ss.csv --anno 2025 --account-summary activity-summary.csv- Rilevamento Automatico dei Cutoff: Lo script rileverà automaticamente le date di trasferimento delle azioni (
Transfer out) daactivity-summary.csv. - Cutoff Manuali (Opzionale):
uv run scripts/calcola_ivafe.py --csv ss.csv --anno 2025 --account-summary activity-summary.csv --cutoff 2025-11-20
2. Calcolo Dividendi e IVAFE Cassa (Quadri RM e RW):
uv run scripts/calcola_dividendi.py --csv activity-summary.csv --anno 2025Se non utilizzi uv, puoi procedere nel modo classico:
Le dipendenze sono dichiarate in testa a ogni script (metadati PEP 723): pandas, requests, yfinance, tabulate.
python3 -m venv .venv
source .venv/bin/activate
pip install pandas requests yfinance tabulate
python scripts/calcola_ivafe.py --csv ss.csv --anno 2025 --account-summary activity-summary.csv
python scripts/calcola_dividendi.py --csv activity-summary.csv --anno 2025Questo repository contiene una skill locale in .agents/skills/calcola-ivafe/SKILL.md. Qualsiasi agente che scansiona .agents/skills/ nella cartella di lavoro (pi, antigravity-cli, Gemini CLI) la rileva automaticamente: basta lanciarlo dalla radice del repository.
Esempi di prompt:
calcola le tasse per l'anno 2025esegui calcola-ivafe per il 2025 con cutoff 2025-11-20
L'agente segue la skill: ti guida nell'intervista iniziale (anno fiscale, file disponibili, 730 vs Redditi PF), lancia gli script e ti presenta le righe da compilare. Se un cutoff rilevato automaticamente risulta parziale (restano azioni nel conto dopo il trasferimento), lo script lo segnala: in quel caso il calcolo va rivisto a mano, vedi la nota in testa a scripts/calcola_ivafe.py.
Puoi usare questi script con qualsiasi altro LLM (es. caricando i file in un "Project" di Claude o in una chat di ChatGPT Plus):
- Carica i file
scripts/calcola_ivafe.pyescripts/calcola_dividendi.py. - Carica i tuoi file di dati (
ss.csve/oactivity-summary.csv). - Carica i file in
references/per dare all'agente il contesto normativo italiano. - Usa un prompt del tipo:
"Usa gli script python forniti per calcolare l'IVAFE/dividendi per l'anno [ANNO]. I miei dati sono in [FILE]. Se hai bisogno di chiarimenti su date di cutoff o vendite, chiedimi prima di procedere."
I dettagli sul calcolo e le circolari dell'Agenzia delle Entrate sono documentati in:
Entrambi gli script scrivono i CSV di risultato nella directory corrente (quadro_rw_<anno>_<ticker>.csv, quadro_rm_<anno>.csv, quadro_rw_cash_<anno>.csv).
tests/run.shEsegue gli script sui file *.csv.sample con cambi e quotazioni finti (nessuna rete) e confronta i numeri con i valori attesi. Richiede uv.
Questo strumento è un ausilio al calcolo e non sostituisce il parere di un consulente fiscale.