Metadata-Version: 2.4
Name: tuttoinquadra
Version: 0.1.0
Summary: Dalle fatture al Quadro C degli ISA: classificazione, quadratura e prospetti pronti da trascrivere
Author: dareus66
License: MIT License
        
        Copyright (c) 2026 dareus66
        
        Permission is hereby granted, free of charge, to any person obtaining a copy
        of this software and associated documentation files (the "Software"), to deal
        in the Software without restriction, including without limitation the rights
        to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
        copies of the Software, and to permit persons to whom the Software is
        furnished to do so, subject to the following conditions:
        
        The above copyright notice and this permission notice shall be included in all
        copies or substantial portions of the Software.
        
        THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
        IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
        FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
        AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
        LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
        OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
        SOFTWARE.
        
Project-URL: Repository, https://github.com/dareus66/tuttoinquadra
Keywords: isa,quadro-c,fatture,fisco,partita-iva
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: Italian
Classifier: Intended Audience :: End Users/Desktop
Classifier: Topic :: Office/Business :: Financial :: Accounting
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: pdf
Requires-Dist: fpdf2; extra == "pdf"
Provides-Extra: grafici
Requires-Dist: matplotlib; extra == "grafici"
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Dynamic: license-file

# 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](#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:

```bash
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)

```bash
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**:
   ```bash
   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`:

```bash
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](LICENSE)
