Dalle fatture al Quadro C degli ISA: classificazione, quadratura e prospetti pronti da trascrivere
Project description
TuttoInquadra
Dalle fatture al Quadro C degli ISA: classificazione, quadratura e prospetti pronti da trascrivere.
TuttoInquadra legge l'elenco delle fatture emesse nell'anno d'imposta (un CSV esportato dal proprio gestionale), le classifica nei righi del Quadro C del modello ISA tramite regole dichiarative a parole chiave, e produce un prospetto con numero incarichi e percentuali sui compensi — con la garanzia che le percentuali quadrino esattamente a 100.
Pensato per professionisti con partita IVA soggetti agli ISA (architetti, ingegneri, geometri, avvocati, ecc.): ognuno usa il file del proprio modello ISA e il proprio profilo di regole.
Nota: il pacchetto include pronto all'uso il solo modello EK18U (architetti), su cui girano anche i dati di esempio. Per le altre professioni basta aggiungere il file JSON del proprio modello ISA — vedi Altre professioni.
Cosa fa
- Parsing del CSV fatture (separatore, colonne e formato data configurabili, importi in formato italiano), con esclusione tracciata delle righe non valide.
- Classificazione di ogni fattura nei righi del Quadro C tramite regole a parole chiave sull'oggetto della prestazione; le fatture multi-prestazione vengono ripartite tra più righi (importi espliciti se indicati nel testo, altrimenti parti uguali marcate come STIMA).
- Conteggio incarichi per commessa: più fatture di acconto/saldo sullo stesso incarico contano una volta sola.
- Quadratura a 100 delle percentuali con il metodo del resto maggiore, separatamente per tipologie e aree specialistiche.
- Audit completo: ogni euro attribuito è riconducibile a fattura, rigo e
regola applicata; i casi dubbi sono marcati
STIMAoDA VERIFICARE, mai decisi in silenzio. - Output: prospetto Markdown, tabella TXT e PDF allegabili a una mail, grafici a torta PNG, CSV di dettaglio.
Filosofia
TuttoInquadra fa l'80% del lavoro e ti mostra dove serve il tuo giudizio:
non è un automatismo. La prima esecuzione genera una bozza di assegnazioni
(assegnazioni_<anno>.csv) che puoi correggere a mano; le esecuzioni
successive la rispettano. I righi senza fatture restano in bianco.
Installazione
Richiede Python 3.9+. Il cuore usa solo la libreria standard; PDF e grafici sono opzionali:
git clone https://github.com/dareus66/tuttoinquadra.git
cd tuttoinquadra
pip install fpdf2 matplotlib # opzionali: senza, niente PDF e grafici
Prova subito (dati di esempio)
python -m tuttoinquadra 2025 --fatture esempi/fatture_esempio.csv --regole esempi/regole_esempio.json
Genera QUADRO_C_2025.md, assegnazioni_2025.csv, dettaglio_quadro_c_2025.csv
e in out/ la tabella TXT/PDF e i grafici.
Uso con i propri dati
- Esporta le fatture in CSV dal tuo gestionale (numero, data, importo, oggetto della prestazione).
- Copia
esempi/regole_esempio.jsoninregole_classificazione.jsone adattalo:formato_csv: nomi colonna, separatore e formato data del tuo export;prestazioni: il lessico ricorrente nei tuoi oggetti fattura;mappa_righi: prestazione + ambito (pubblica/privata) + fascia → rigo del tuo modello ISA;commesse: i tuoi incarichi dell'anno (raggruppano le fatture e determinano ambito, fascia e area);override_quote: ripartizioni esplicite per fatture particolari.
- Esegui:
python -m tuttoinquadra 2025 --fatture fatture_2025.csv
- Rivedi la bozza
assegnazioni_2025.csv(le voci STIMA e DA VERIFICARE sono elencate in fondo al prospetto), correggi se serve e riesegui.--rigeneraricrea la bozza dalle regole, scartando le correzioni manuali.
Altre professioni
Il Quadro C cambia da modello a modello: i righi dell'EK18U (architetti) sono
in tuttoinquadra/modelli/ek18u.json. Per la tua professione crea un file
analogo con i righi del tuo modello ISA (li trovi nelle istruzioni del modello
sul sito dell'Agenzia delle Entrate) e passalo con --modello:
python -m tuttoinquadra 2025 --modello tuo-modello.json --regole tue-regole.json
Le pull request con i file di altri modelli ISA sono benvenute.
Privacy
Le fatture contengono dati personali: non committare mai i tuoi CSV reali.
Il .gitignore del progetto esclude già fatture_*.csv, assegnazioni_*.csv,
dettaglio_*.csv e la cartella out/.
Avvertenza
TuttoInquadra produce una proposta di compilazione, non una consulenza fiscale. I valori vanno verificati dal professionista e dal proprio commercialista prima della trascrizione nel modello: la responsabilità della dichiarazione resta di chi la presenta.
Licenza
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 tuttoinquadra-0.1.0.tar.gz.
File metadata
- Download URL: tuttoinquadra-0.1.0.tar.gz
- Upload date:
- Size: 16.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd210fa0d1cc618026f58e2eaa7f1ae597f746b0430352d8ee34e5ecf58b5e09
|
|
| MD5 |
e1443e5a1d16fed9606aa3dd1e70e3fc
|
|
| BLAKE2b-256 |
7d32f97873005e7cbc70a8f1942bbeecab70a3ac6101333c99154127c8e74ac0
|
Provenance
The following attestation bundles were made for tuttoinquadra-0.1.0.tar.gz:
Publisher:
publish.yml on dareus66/tuttoinquadra
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tuttoinquadra-0.1.0.tar.gz -
Subject digest:
cd210fa0d1cc618026f58e2eaa7f1ae597f746b0430352d8ee34e5ecf58b5e09 - Sigstore transparency entry: 1803079036
- Sigstore integration time:
-
Permalink:
dareus66/tuttoinquadra@77735caf47a3d05a871abe3cf9679225929aa7b0 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/dareus66
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@77735caf47a3d05a871abe3cf9679225929aa7b0 -
Trigger Event:
release
-
Statement type:
File details
Details for the file tuttoinquadra-0.1.0-py3-none-any.whl.
File metadata
- Download URL: tuttoinquadra-0.1.0-py3-none-any.whl
- Upload date:
- Size: 16.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
468be4f6a33807c7ea971ac8dc79a83b55e0b25c8a60259e31a5957b1c16a2d4
|
|
| MD5 |
d8e4043f7aaf1423a0c13286926cdace
|
|
| BLAKE2b-256 |
f51b8d98b57d0c809e778da4dc278abec7f1c4c3233c5bf5fd17caadbe402fc6
|
Provenance
The following attestation bundles were made for tuttoinquadra-0.1.0-py3-none-any.whl:
Publisher:
publish.yml on dareus66/tuttoinquadra
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
tuttoinquadra-0.1.0-py3-none-any.whl -
Subject digest:
468be4f6a33807c7ea971ac8dc79a83b55e0b25c8a60259e31a5957b1c16a2d4 - Sigstore transparency entry: 1803079163
- Sigstore integration time:
-
Permalink:
dareus66/tuttoinquadra@77735caf47a3d05a871abe3cf9679225929aa7b0 -
Branch / Tag:
refs/tags/v0.1.0 - Owner: https://github.com/dareus66
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish.yml@77735caf47a3d05a871abe3cf9679225929aa7b0 -
Trigger Event:
release
-
Statement type: