- **[D]** `fonti/2026-09-25/funzioni software.docx`: funzioni richieste, divise in "di base indispensabili" e "aggiuntive" (originale ancora da copiare nella cartella; nel frattempo vale la trascrizione `funzioni software - testo estratto.md`)
**Cosa contiene:** cosa deve fare il software e cosa è stato deciso.
**Dove trovare il resto:** processi passo per passo in `workflow.md` · domande aperte, dubbi architetturali, rischi e verifiche legali in `domande-cliente.md` · costi in `costi-ricorrenti.md`.
**Legenda:** ✅ deciso · ⏳ aperto (domanda in `domande-cliente.md`) · 🔸 ipotesi da confermare
✅ **Piattaforma multi-ente (D2):** uno **studio professionale** usa il software per gestire **molti enti del Terzo Settore** suoi clienti. Ogni ente vede solo i propri dati, lo studio li vede tutti (RT-1). ⏳ Numero di enti: Q1.
| **Studio** (operatore interno) | Professionista dello studio committente | Offerte, anagrafiche enti, imputazione contabile, circolari, time sheet; controlla e approva i documenti degli enti |
| **Interessati** (non utenti) | Soci, volontari, dipendenti, collaboratori, sostenitori… | Persone di cui si trattano i dati; non accedono al sistema |
| M1 | Gestione cliente e contrattualistica | Offerte, firme, scadenziario e proforma dello studio verso gli enti | 1 | Studio | Ente (firma l'offerta, riceve i proforma) | Definito (dettagli: Q4, Q5) |
| M3 | Anagrafiche collegate | Registro di soci, volontari, dipendenti e altre persone dell'ente | 1 | Ente | Ente; i dati alimentano M4 e M7 | Definito |
| M4 | Libri sociali | Libro soci, registro volontari, verbali, con marca temporale | 1 | Ente | Studio controlla, poi stampa e archiviazione definitiva | Definito (dettagli: Q9) |
| M5 | Contabilità | Documenti contabili, Modello D e relazione illustrativa | 1 | Ente (carica documenti, scrive la relazione) | Studio (imputa i movimenti sulle voci del Modello D) | Definito (dettagli: Q10) |
| M9 | Valutazione volontariato | Time sheet di volontari e dipendenti, con valorizzazione delle ore | 2 | Studio | Studio | Definito (Q15 prima della fase 2) |
| RF-1.1 | Catalogo dei **servizi** dello studio, vendibili **singolarmente o a pacchetto**. 🔸 Gestito dallo studio: ogni servizio ha prezzo e aliquota IVA; un pacchetto è un insieme di servizi | D |
| RF-3.2 | Categorie di persona: tutte quelle citate nelle fonti (tabella sotto, D13). Nuove categorie o dati specifici per categoria si aggiungono con una migrazione (D12) | D + X |
| RF-3.3 | 🔸 Una persona può appartenere a più categorie: **una scheda per persona, con più ruoli**; libro soci e registro volontari prendono i dati da qui | 🔸 |
| RF-5.1 | **Alert all'ente** alle scadenze per il caricamento dei documenti; calendario **uguale per tutti gli enti, ma modificabile**. 🔸 Calendario comune con eccezioni per singolo ente | D + D7 |
| RF-5.7 | **Relazione illustrativa** guidata su modelli preimpostati (attività dell'anno, progetti finanziati e realizzati), da allegare al bilancio | D |
| RF-6.2 | Sezioni: **analisi del contesto, analisi dei bisogni, idea, obiettivi, attività, risorse, cronoprogramma, costi, piano economico-finanziario** | D + X |
| RF-7.3 | Sezioni: **lettera del presidente** [X], **serie di dati standard** [D], identità dell'ente, principali stakeholder, utenti, obiettivi e attività, situazione economico-finanziaria, relazione dell'organo di controllo ⏳ Q14, da chiedere prima della fase 2 | D + X |
| RT-13 | **Hosting nell'Unione Europea** (il cliente non ha preferenze; l'UE evita i trasferimenti extra-UE e semplifica la conformità al GDPR) | D9 + §5 |
| RT-14 | **Nessuna migrazione di dati** all'avvio: il sistema parte vuoto | D8 |
| RT-15 | **Trasferibilità dei servizi di produzione:** a fine primo anno server, dominio, backup, email, firma, marche temporali ed eventuale conservazione passano al cliente senza interruzioni né perdita di dati; fornitori che permettono il trasferimento di account o contratto; documento di consegna con accessi, configurazioni e procedure | D10, D11 |
| RT-16 | **Database PostgreSQL.** Ogni modifica della struttura dei dati si fa con **migrazioni** versionate insieme al codice, applicate identiche in test e in produzione; nessuna modifica manuale del database in produzione | D12 |
| Dati per l'adeguata verifica antiriciclaggio (documenti d'identità, titolare effettivo…) | Legali rappresentanti degli enti | M1 | Obblighi specifici di conservazione (D.Lgs. 231/2007) |
| Dati di lavoro e ore | Dipendenti, volontari | M9 | |
| Movimenti bancari e di cassa | Ente (possono contenere nomi di persone) | M5 | |
| **Possibili categorie particolari (art. 9 GDPR)** | Soci | M3 | L'adesione a certi enti (religiosi, politici, sindacali, di pazienti) può rivelare di per sé dati particolari |
- lo **studio** è *responsabile del trattamento* (art. 28 GDPR) per i dati delle persone degli enti, di cui gli **enti** sono titolari;
- **chi sviluppa e gestisce il software** e il fornitore di hosting sono *sub-responsabili*;
- **primo anno (D10):** Davide è intestatario dei servizi di produzione e firma i contratti sul trattamento dei dati con i fornitori; **dal secondo anno (D11)** i contratti passano al cliente e Davide resta coinvolto per la manutenzione.
| D1 | Interno = studio, esterno = ente | Le fonti usano "interno" in modi diversi; si adotta la convenzione di [X] | §1.2 |
| D2 | Piattaforma multi-ente: uno studio gestisce molti enti clienti | Conferma del modello di business | RT-1 |
| D3 | Circolari (M8) in fase 1 | [D] le mette in fase 2, [X] in "Gestione cliente": si segue [X] | M8 |
| D4 | Il time sheet (M9) lo inserisce lo studio | [D] non lo dice, [X] indica l'operatore interno: si segue [X]. Non serve un nuovo tipo di utente | RF-9.4 |
| D5 | Circolari via email e nell'app | Risposta a Q6 | RF-8.2, RT-4 |
| D6 | Imputazione contabile direttamente sulle voci del Modello D | Risposta a Q11 | RF-5.5 |
| D8 | Nessuna migrazione di dati all'avvio | Risposta a Q16 | RT-14 |
| D9 | Nessun requisito su smartphone, accessibilità o hosting | Risposta a Q17 | RT-12, RT-13 |
| D10 | Primo anno di produzione: servizi intestati a Davide, che li paga; costi nel preventivo | Risposta a Q21 | RT-15 |
| D11 | Dal secondo anno servizi intestati al cliente, che li paga; gestione tecnica a Davide con contratto di manutenzione separato | Risposta a Q22 | RT-15 |
| D12 | Database **PostgreSQL**; ogni cambiamento della struttura dei dati tramite **migrazioni** | Dati fortemente relazionali (enti, persone, ruoli, libri, movimenti) con vincoli di integrità; separazione dei dati per ente anche nel database, con la row-level security (RT-1); open source, senza licenze, e trasferibile tra fornitori (RT-15). Le migrazioni permettono di recepire in modo tracciato e ripetibile le risposte del cliente che cambiano la struttura dei dati | RT-16, RF-3.2 |
| D13 | Tra le fonti prevale l'Excel [X] in caso di conflitto; i campi e le funzioni presenti in una sola fonte si includono | Risposta a Q20 | §6 |
**Ipotesi 🔸 adottate** (al posto di domande al cliente, da validare con il cliente al collaudo; eventuali cambi della struttura dei dati con migrazioni, D12): RF-1.1 catalogo servizi · RF-2.13–2.14 conteggi · RF-3.3 una scheda per persona con più ruoli · RF-5.1 eccezioni per singolo ente · passi 🔸 di `workflow.md`.
| 0.1 | 25/09/2026 | Prima analisi delle fonti. Confermati D1 e D2; mappa dei moduli con i dubbi A, B, C; risolti A (D3) e B (D4); dubbio C trasformato in Q19 |
| 0.2 | 25/09/2026 | Risposte a Q6, Q7, Q11, Q12, Q13, Q16, Q17 (D5–D9); Q8 e Q14 divise in sotto-domande; aggiunte Q20 e RT-12, RT-13, RT-14; aggiunto il registro delle decisioni |
| 0.3 | 27/09/2026 | Decisioni D10 e D11; chiuse Q21 e Q22; aggiunti RT-15 e Q23; aggiornati ruoli privacy e rischi |
| 0.3.1 | 27/09/2026 | Riorganizzazione senza modifiche ai requisiti: spostati in `domande-cliente.md` domande, spiegazioni delle domande, dubbio C, rischi e verifiche legali; tolte le note su costi e scelte progettuali (già in `costi-ricorrenti.md` e `domande-cliente.md` parte B); tolto il flusso complessivo (già in `workflow.md`); motivazioni dei dubbi A e B spostate nella tabella delle decisioni |
| 0.4 | 27/09/2026 | Decisioni D12 (PostgreSQL con migrazioni, RT-16) e D13 (priorità all'Excel in caso di conflitto, chiude Q20); domande Q2, Q3, Q7, Q8, Q12 sostituite da ipotesi 🔸 (RF-1.1, RF-2.13–2.14, RF-3.2–3.3, RF-5.1); Q14 e Q15 rimandate a prima della fase 2 |
| 0.4.1 | 27/09/2026 | Allineamento: indicato che l'originale di [D] non è ancora nella cartella delle fonti |
| 0.4.2 | 27/09/2026 | Allineamento: corretta la motivazione di RT-13 (il GDPR non impone l'hosting UE, lo rende più semplice) |