Skip to main content

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 STIMA o DA 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

  1. Esporta le fatture in CSV dal tuo gestionale (numero, data, importo, oggetto della prestazione).
  2. Copia esempi/regole_esempio.json in regole_classificazione.json e 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.
  3. Esegui:
    python -m tuttoinquadra 2025 --fatture fatture_2025.csv
    
  4. Rivedi la bozza assegnazioni_2025.csv (le voci STIMA e DA VERIFICARE sono elencate in fondo al prospetto), correggi se serve e riesegui. --rigenera ricrea 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

MIT

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

tuttoinquadra-0.1.0.tar.gz (16.9 kB view details)

Uploaded Source

Built Distribution

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

tuttoinquadra-0.1.0-py3-none-any.whl (16.0 kB view details)

Uploaded Python 3

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

Hashes for tuttoinquadra-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cd210fa0d1cc618026f58e2eaa7f1ae597f746b0430352d8ee34e5ecf58b5e09
MD5 e1443e5a1d16fed9606aa3dd1e70e3fc
BLAKE2b-256 7d32f97873005e7cbc70a8f1942bbeecab70a3ac6101333c99154127c8e74ac0

See more details on using hashes here.

Provenance

The following attestation bundles were made for tuttoinquadra-0.1.0.tar.gz:

Publisher: publish.yml on dareus66/tuttoinquadra

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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

Hashes for tuttoinquadra-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 468be4f6a33807c7ea971ac8dc79a83b55e0b25c8a60259e31a5957b1c16a2d4
MD5 d8e4043f7aaf1423a0c13286926cdace
BLAKE2b-256 f51b8d98b57d0c809e778da4dc278abec7f1c4c3233c5bf5fd17caadbe402fc6

See more details on using hashes here.

Provenance

The following attestation bundles were made for tuttoinquadra-0.1.0-py3-none-any.whl:

Publisher: publish.yml on dareus66/tuttoinquadra

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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