Gli stessi dati. Le regole di ogni modulo.Glistessidati.Leregolediognimodulo.
Un centro di assistenza fiscale compilava a mano cinque moduli ufficiali, ricopiando ogni volta gli stessi dati del socio. CAF studio li prende dall’archivio o da un documento d’identità e riempie il modello originale, rispettando le regole di ciascun modulo.
Dati dal socio, data vuotaRevoca INPS · la regola del modulo
Il documento non viene ridisegnato: i dati vanno nei campi del modello originale.
1.298
soci importati nell’archivio
5 moduli
ufficiali, compilati dai dati del socio
4 regole
per modulo, scritte prima del codice
3 modi
per avere i dati: archivio, scheda, documento
In breve
Problema
In un centro di assistenza fiscale gli stessi dati del socio si ricopiavano a mano su cinque moduli ufficiali.
Il mio contributo
Ho tradotto le regole dei moduli in un flusso completo: ricerca del socio, compilazione, generazione del PDF e archiviazione.
Risultato
1.298 anagrafiche importate e cinque moduli compilabili dagli stessi dati.
Stato del progetto
In uso da giugno 2026; fino a settembre nel lavoro quotidiano di un operatore CAF. Il codice è in un repository privato.
CAF studio
sceglie il modulo
trova il socio
legge il documento
applica le regole
compila il PDF
sceglie il modulo
trova il socio
legge il documento
applica le regole
compila il PDF
Percorso guidato
Sei schermate, un modulo.
Dalla scelta del documento al PDF da firmare, con i punti che contano segnati sulle schermate.
01Il modulo
Si parte dal documento da compilare.
In alto i cinque moduli. Quello scelto decide quali campi compaiono, quali regole valgono e su quale modello ufficiale finiranno i dati.
02Il socio
Dall’archivio, in poche lettere.
L’archivio nasce dall’import dei soci del centro. Si cerca per cognome, nome o codice fiscale, in qualsiasi ordine: scelto il socio, la scheda si compila da sola.
03La lettura
Un socio nuovo? Basta il documento.
Dalla carta d’identità o dalla tessera sanitaria, un modello legge i campi e li propone nella scheda. L’app lo dice subito: controlla e correggi prima di generare.
In produzione la lettura la fa Google Gemini, dietro una funzione server che tiene la chiave fuori dal browser. In questa pagina è simulata su un documento di fantasia.
04Le regole
La stessa scheda, tre moduli diversi.
Sotto l’anagrafica, ogni modulo chiede solo quello che gli serve. I mandati la lista delle pratiche, il tesseramento la tessera, delega e revoca i dati della pensione.
Sulla revoca c’è scritto: «Stampati sul modulo ma non salvati in archivio». Categoria e numero di pensione servono solo al foglio, quindi non entrano nel database.
05Il PDF
Il modello ufficiale, riempito.
Il documento non viene ridisegnato: i dati vanno nei campi del modello originale, pronto da stampare e firmare. Qui la revoca, compilata dalla funzione dell’app sul socio di fantasia.
06L’archivio
Ogni pratica, ritrovabile.
Il PDF generato resta legato al socio e alla pratica. L’archivio si filtra per modulo, stato e periodo, e si esporta.
Cosa si vede nel film
Cinque moduli ufficiali: gli stessi dati del socio, ricopiati a mano su ognuno.
Si sceglie il modulo, poi si trova il socio nell’archivio con poche lettere.
Un socio nuovo? Dal documento d’identità i campi arrivano nella scheda, con il codice fiscale controllato. L’operatore controlla e corregge prima di generare.
Ogni modulo, le sue regole: su delega e revoca la data resta vuota, sempre.
Il modello ufficiale, riempito dai dati del socio: 1.298 soci importati, 5 moduli, 4 regole per modulo.
CAF studio: gli stessi dati, le regole di ogni modulo.
Il metodo
Le regole prima del codice.
Cinque moduli, cinque comportamenti diversi. Prima di scrivere una riga le ho messe in una tabella, e il codice la segue: è la parte che si sbaglia più facilmente a mano.
Le regole di ogni modulo
Regola
Mandato di patronato
Mandato CAF
Tesseramento
Delega INPS
Revoca INPS
Data
odierna
odierna
odierna
vuota
vuota
Tessera A/B
no
no
sì
no
no
Categoria e numero pensione
no
no
no
sì
sì
Lista delle pratiche
sì
sì
no
no
no
La regola numero uno. Su delega e revoca i campi data restano vuoti, mai la data di oggi. Nelle istruzioni del progetto, scritte con il primo commit, è segnata come «la più sbagliata».
Riempire, non rifare
I moduli sono quelli ufficiali: i dati vanno nei campi del modello originale, invece di generare un documento nuovo che gli somigli.
Il dato che non si salva
Categoria e numero di pensione servono solo alla stampa. Non entrano nel database: minimizzazione, non dimenticanza.
Dati fiscali, trattati come tali
Sicurezza a livello di riga su entrambe le tabelle, PDF in archivio con link firmati a scadenza, chiavi solo lato server.
Com’è cresciuto
Prima il flusso completo. Poi il resto.
Prima sono arrivati database, PDF, archivio e lettura dei documenti, con l’archivio già oltre il limite di righe del database. Dopo, la versione per telefono, la ricerca a più parole e l’inserimento di un socio nuovo.
21/06Il primo commit
23/06Database, PDF, login, archivio e lettura dei documenti
25/061.298 soci importati dall’elenco del centro
27/06App installabile, archivio oltre le mille righe
28/06Consegna
16/07Telefono, ricerca a più parole, nuovo socio
I limiti
Dove si ferma.
La lettura propone, non decide.
I campi letti dal documento arrivano nella scheda con un invito esplicito: controlla e correggi prima di generare.
Ogni modulo ha la sua mappatura.
Il riempimento usa i nomi dei campi del modello. Se l’ente cambia il modulo, va rimappato: il codice non indovina.
Uno strumento interno.
Pensato per pochi operatori di un solo ufficio, non come servizio aperto al pubblico.
Per chi legge il codice
Come è costruita.
Il codice è in un repository privato: lo mostro volentieri in un colloquio.
InterfacciaReact 19
e TypeScript, con Vite e Tailwind
DatiSupabase
Postgres, archivio dei PDF e sicurezza a livello di riga
ServerNetlify
una funzione per la lettura dei documenti, con la chiave fuori dal browser
AIGemini
estrae i campi da carta d’identità e tessera sanitaria