diff --git a/AGENTS.md b/AGENTS.md
index 66a81a9..7bb1534 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -222,6 +222,36 @@ Il lavoro del **consulente** su ogni azienda, non i conti dell'azienda: per ques
- **Ore per settimana** (ultime 8, fatturabili e no), **tariffa oraria** per azienda, **registro ore** giorno per giorno.
- Tabelle `tasks`, `time_entries`, `activity_settings` (migrazione 007), stessi campi di sync di tutto il resto (§6). Il riepilogo è una funzione pura (`shared/engine/activities.ts`, con test). Cancellare un'attività lascia le sue ore nel registro, senza attività.
- **Non fa** (di proposito, per ora): fatture, tracciamento automatico di app/siti o schermate (Ever Teams lo fa; in uno studio è invadente e non richiesto), più persone dello studio con i propri timer — vedi §14 punto 10.
+- **1.3.0**: timer con un tasto grande e attività a pastiglie, *Registra ore* con durate rapide (due tocchi), bacheca/registro/andamento in tre schede, sul telefono una colonna alla volta, pulsanti *Inizia / Da rivedere / Fatta*, voci del registro correggibili (`PUT /time-entries/:id`).
+
+### 10.12 Impostazioni, utenti e accessi (versione 1.3.0)
+Il consulente è l'amministratore. *Impostazioni* (menu in basso) ha le schede Generale (tema, colore d'accento, avvisi, backup automatico giornaliero con quante copie tenere, controllo aggiornamenti, dati dello studio mostrati alle aziende), Moduli (interruttori: documenti, richieste, personale, fiscale, marginalità, simulazioni, attività), Utenti e accessi (consulenti e accessi delle aziende: crea, disattiva, cambia password, elimina — non si disattiva l'ultimo consulente né sé stessi), Il mio profilo, Informazioni (crediti open source). Per ogni azienda, *Impostazioni dell'azienda* decide **cosa vede** (viste condivisibili: panoramica, conto economico, stato patrimoniale, circolante, tesoreria, banche, simulazioni, personale, fiscale, marginalità) e **cosa può fare** (mandare documenti, chiedere chiamate, scrivere). Il server lo fa rispettare (`middleware/portal.ts`, 403 con un messaggio chiaro), non solo il menu. Un accesso disattivato esce subito. Tabella `settings` (migrazione 008) con ambiti `app` / `user` / `company`, valori JSON normalizzati in `shared/settings.ts`.
+
+### 10.13 Cassetto documenti (versione 1.3.0)
+File per azienda, caricati da studio e azienda (trascinati o scelti, 50 MB sul computer, 15 sul telefono). Si aprono **dentro il programma**: PDF (PDF.js), Excel e CSV (ExcelJS), Word (docx-preview in un iframe senza script), PowerPoint (pptx-glimpse, SVG in `
`, caratteri Carlito e Arimo inclusi), immagini, testo, audio e video; oppure col programma del computer (i programmi, .exe e simili, non si aprono con un clic). Lo studio può tenere documenti riservati; l'azienda vede quando lo studio ha aperto ciò che ha mandato. File su disco in `aziende//documenti//` (controllo di percorso nel servizio e nell'IPC), sul telefono in IndexedDB. Tabella `documents` (migrazione 009). `.xls`, `.ods`, `.doc` si aprono solo col programma del computer (§14 punto 16).
+
+### 10.14 Richieste e chiamate (versione 1.3.0)
+Il filo fra azienda e studio: **chiamata** (motivo, numero, quando preferisce, urgente), **domanda**, **documenti**; lo studio può aprirne una ("mi servono gli estratti conto"). Stati: inviata → vista → presa in carico → in attesa dell'azienda → risolta (o annullata), con la storia di chi ha fatto cosa (`request_events`). Lo studio risponde anche solo per scritto e ha i pulsanti *Chiamo ora* (apre `tel:`), *Richiamo…*, *Chiamata fatta* (esito e minuti, che finiscono in Attività e Tempi), *Non risponde*, *Prendo in carico*, *Aspetto l'azienda*, *Risolta*, *Affida a…*. Chiamate in arrivo: riquadro con squillo, notifica di sistema e finestra che lampeggia (riducibile a una pastiglia); campanello con le novità (sondaggio ogni 8 secondi). Tabelle `requests`, `request_events` (migrazione 009).
+
+### 10.15 Riepilogo dell'azienda (versione 1.3.0)
+La prima pagina dell'accesso Azienda: chi la segue (studio e consulenti), i pulsanti per chiedere una chiamata, mandare documenti, scrivere; i numeri principali delle sole viste condivise (cassa oggi e fra 30 giorni, ricavi e risultato dell'ultimo mese), le tasse da mettere da parte (se l'Area fiscale è condivisa), le richieste e i documenti nuovi. Lo calcola il server (`portal.service.ts`): un numero di una vista spenta non parte nemmeno.
+
+### 10.16 Personale (versione 1.3.0)
+Persone con mansione, reparto, contratto (indeterminato, determinato, apprendistato, collaborazione), ore settimanali, RAL, mensilità (12-14), contributi e INAIL propri se diversi da quelli dell'azienda, altri costi, diretto/indiretto, assunzione e fine. **Costo aziendale** = RAL + contributi INPS azienda (30% di partenza) + INAIL (1%) + TFR (RAL/13,5; non per i collaboratori) + altri costi; **costo orario** = costo / ore lavorate in un anno (1.720 per un tempo pieno, in proporzione alle ore). Riepilogo per reparto, diretti/indiretti, costo orario medio dei diretti (è la manodopera della Marginalità), confronto col costo del personale nel conto economico degli ultimi 12 mesi. **Tesoreria** (interruttore, spento di partenza): netto il giorno scelto del mese dopo, F24 (trattenute + contributi) il 16, tredicesima e quattordicesima nei loro mesi, INAIL il 16 febbraio; il TFR non esce di cassa. Motore `shared/engine/personale.ts`, tabella `employees` (migrazione 010). Condivisibile con l'azienda, spento di partenza (sono stipendi).
+
+### 10.17 Area fiscale e contributi (versione 1.3.0)
+Una **stima** per mettere da parte i soldi giusti, non la dichiarazione (niente detrazioni personali né crediti d'imposta). Regime indovinato dalla forma giuridica e cambiabile: società di capitali (IRES 24% sull'utile rettificato, IRAP 3,9% sul reddito operativo), società di persone (IRAP; reddito diviso fra i soci, ognuno IRPEF a scaglioni 2026 23/33/43, addizionali, INPS sulla sua quota), ditta individuale (IRPEF, addizionali, INPS; niente IRAP), forfettario (ricavi × coefficiente meno contributi, imposta sostitutiva 15% o 5%, riduzione INPS del 35%). INPS artigiani/commercianti: fissi sul minimale e percentuale oltre fino al massimale (valori 2025, da aggiornare); gestione separata. Parte dall'utile degli ultimi 12 mesi (`bilancio.service.ts`) o dall'ultimo anno, o da un reddito scritto a mano; rettifiche in aumento/diminuzione e IRAP. **Scadenze** col metodo storico: acconti 40/60 (50/50 con gli ISA) al 30 giugno e 30 novembre, saldo il 30 giugno dopo, INPS fissi in quattro rate, INPS oltre il minimale 50/50. Accantonamento mensile = totale / 12. **Tesoreria** con interruttore. Motore `shared/engine/fiscale.ts`; impostazioni nella tabella `settings`, chiave `fiscale`.
+
+### 10.18 Marginalità (versione 1.3.0)
+Prende la forma dell'attività (indovinata dal *tipo di attività* dell'anagrafica): **ristorazione** (ricette, ingredienti, food cost, menu engineering di Kasavana e Smith: stelle, cavalli da lavoro, enigmi, cani), **produzione** (distinta base), **commercio** (ricarico), **servizi ed edilizia** (commesse con preventivo e consuntivo). Listino con unità, costo e scarto (costo utile = costo / (1 − scarto)); ogni voce è fatta di materiali, manodopera (costo orario dal Personale, per persona o medio dei diretti, o scritto nelle impostazioni), lavorazioni esterne, altro. Costo diretto, costi generali in % del diretto, costo pieno, margine di contribuzione e netto, food cost %, ricarico, prezzo consigliato per stare nell'obiettivo; ricette e prodotti per porzione (resa). Prezzi IVA esclusa, l'IVA serve solo al prezzo in carta. Motore `shared/engine/marginalita.ts`; tabelle `margin_materials`, `margin_items`, `margin_lines` (migrazione 011). Resta aperto l'uso delle % di costo diretto per conto nel conto economico (§14 punto 15).
+
+### 10.19 L'interfaccia (versione 1.3.0)
+- **Comandi rapidi** da ogni schermata (Ctrl+K): aziende, sezioni, azioni. Pulsante *Nuovo* con le azioni della schermata (sul telefono il tondo in basso a destra). Registro in `lib/comandi.tsx`; le azioni per schermate non ancora aperte passano da `richiediAzione`/`useAzione` (valide 6 secondi).
+- **Intestazione**: cambio d'azienda con le recenti (si resta sulla stessa sezione), ricerca, *Nuovo*, timer, campanello, menu utente (profilo, impostazioni, tema, esci).
+- **Menu laterale** richiudibile a icone (Ctrl+B) e da allargare trascinando il bordo; **pannelli** da comprimere e nascondere, rimessi dal menu *Pannelli*.
+- **Telefono**: barra delle sezioni in basso (Analisi, Cassa, Piani, Lavoro, Dati / per l'azienda Riepilogo, Documenti, Richieste, Numeri), sezioni vicine in pastiglie, periodo e scenario in un foglio dal basso, barra di stato nel menu, finestre che salgono dal basso, tabelle che scorrono dentro il riquadro.
+- **Aspetto**: colore d'accento (blu, turchese, viola, indaco), icone SVG al posto delle emoji (`components/icone.tsx`), avvisi brevi (`Avvisi.tsx`), scheletri di caricamento.
+- **Velocità**: sezioni pesanti con `React.lazy`, dati già letti mostrati subito (`lib/memoria.ts`), la pagina dell'azienda riparte da zero cambiando azienda.
---
@@ -728,6 +758,19 @@ esistono.
- **Provarla senza telefono**: `npm run android:web` e `npm run android:preview`, poi
il browser su `http://localhost:4173` (ridotto a larghezza di telefono).
+### Versione 1.3.0 — interfaccia più semplice, portale dell'azienda, costi, margini e tasse
+
+Quattro pezzi, una PR ciascuno (#21, #22, #40, #41), roadmap su GitHub nell'issue fissata #39.
+
+| Pezzo | Cosa c'è |
+|---|---|
+| Impostazioni e accessi | §10.12. `shared/settings.ts`, migrazione 008, `settings.service.ts`, `middleware/portal.ts`, `SettingsPage`, `CompanySettingsView`, backup automatico (`lib/auto-backup.ts`) |
+| Documenti, richieste, riepilogo | §10.13-§10.15. Migrazione 009, `documents.service.ts`, `requests.service.ts`, `portal.service.ts`, `components/viewer/*`, `RequestsBoard`, `IncomingCalls`, `CompanyHome`; file dimostrativi veri generati da `db/demo-files.ts` |
+| Interfaccia | §10.19. `Guscio.tsx`, `TavolozzaComandi.tsx`, `lib/comandi.tsx`, `Sidebar` richiudibile, `Pannelli` con nascosti/compressi, Simulazioni e Attività rifatte, tabelle che scorrono, `lib/memoria.ts` |
+| Personale, fiscale, marginalità | §10.16-§10.18. Motori in `shared/engine/`, migrazioni 010-011, `bilancio.service.ts` (conto economico degli ultimi 12 mesi), flussi di tesoreria calcolati con fonti `personale` e `fiscale` |
+
+Controlli: 146 test (i motori nuovi su conti fatti a mano), `verify:schema` 86/86 su un database nuovo, anteprime provate in Electron compilato e nella versione web (stesso codice dell'APK), a 375 e a 1440 px.
+
---
## 14. Punti aperti
@@ -751,6 +794,11 @@ esistono.
8. **Nome dell'app Cliente**: per coerenza con `IrideeCRM` / `IrideeCRM Satellite`, proposta `DaProdFinanza` / `DaProdFinanza Cliente` — confermare.
10. **Attività e Tempi per più persone**: oggi il timer e le ore sono del consulente (uno solo). Se nello studio lavorano più persone, servono ore per persona e magari una vista "chi sta facendo cosa" (come in Ever Teams). E l'azienda cliente deve poter vedere le attività che la riguardano (es. "documenti da mandare")? Da chiedere al consulente.
11. **Demo Android**: provata nel browser a larghezza di telefono e l'APK della CI sull'emulatore (Android 14: installazione, accesso demo, cruscotto, menu, Attività e Tempi). Va provata su qualche telefono vero, con versioni di Android diverse.
+12. **LibreOffice facoltativo**: per aprire e modificare `.xls`, `.ods`, `.doc` anche dove Office non c'è. Non si include nell'installazione (circa 350 MB): da valutare lo scaricamento su richiesta (issue #38).
+13. **Chiamate vocali dentro il programma**: oggi la chiamata richiesta si fa col telefono (`tel:`). Chiamare dal programma richiede il collegamento fra studio e aziende della fase 8 (issue #37).
+14. **Aliquote e minimali**: l'Area fiscale parte dai valori INPS 2025 e dagli scaglioni IRPEF 2026; vanno aggiornati ogni anno (sono impostazioni dell'azienda, ma i valori di partenza stanno in `shared/engine/fiscale.ts`).
+15. **% di costo diretto per conto**: salvate da sempre (`direct_cost_pct`, `company_section_settings`) ma lo schema "a margine di contribuzione" usa ancora la divisione per sezione. Da decidere col consulente se usarle conto per conto.
+16. **Anteprima di `.xls` e `.ods`**: la libreria che le legge (SheetJS) si installa solo dal suo sito, e la configurazione npm dello sviluppatore rifiuta i pacchetti da indirizzi remoti — di proposito, e resta così. Oggi quei file si aprono col programma del computer.
---
diff --git a/README.md b/README.md
index 1f4562b..83e2b4f 100644
--- a/README.md
+++ b/README.md
@@ -8,7 +8,7 @@ Un gestionale desktop per consulenti finanziari aziendali: riclassifica il bilan
calcola gli indici che contano, previene le tensioni di cassa prima che arrivino,
e risponde a "cosa succede se" senza toccare un foglio Excel.
-
+



@@ -131,7 +131,31 @@ I due programmi si parlano su una rete privata (Tailscale, con un collegamento d
riserva per quando un'azienda non riesce a configurarlo). Nessun server pubblico,
nessun dominio da comprare, nessun dato che passa da terzi per l'uso quotidiano.
-## Le sette viste
+## Novità della 1.3.0
+
+- **Più semplice, su Windows e sul telefono.** Da qualsiasi schermata **Ctrl+K** (o la
+ lente in alto) cerca un'azienda, una sezione o un'azione e la esegue: "carica un
+ documento", "registra ore", "report PDF", "nuova azienda". Il pulsante **Nuovo** ha
+ le azioni della schermata in cui si è; l'azienda si cambia dall'intestazione, fra
+ le recenti. Il menu laterale si richiude a icone (Ctrl+B) e si allarga trascinando
+ il bordo; ogni pannello si comprime o si nasconde. Colore d'accento a scelta.
+- **Sul telefono** una barra delle sezioni in basso come le app, le sezioni vicine a
+ portata di pollice, periodo e scenario in un foglio che sale dal basso, le
+ simulazioni in due schede (Leve e Risultati) con il riassunto sempre in vista.
+- **Personale**, **Area fiscale e contributi**, **Marginalità**: tre sezioni nuove,
+ qui sotto.
+- **Cassetto documenti**: studio e azienda ci mettono file e li aprono al volo dentro
+ il programma — PDF, Excel, Word, PowerPoint — anche dove Office non c'è.
+- **Richieste e chiamate**: l'azienda chiede una chiamata, fa una domanda o manda
+ documenti e vede se lo studio l'ha presa in carico; lo studio risponde anche solo
+ per scritto e ha i pulsanti per la chiamata (*Chiamo ora*, *Richiamo*, *Chiamata
+ fatta*…).
+- **L'azienda come utente**: entra su un riepilogo con i suoi numeri principali, chi
+ la segue e le sue richieste, e vede solo le sezioni che il consulente le ha
+ condiviso. I consulenti sono gli amministratori: **Impostazioni** con interruttori
+ per moduli, accessi, backup automatico, aggiornamenti, tema.
+
+## Le viste
- **Panoramica** — la situazione del mese in un colpo d'occhio, con gli avvisi che si
accendono da soli quando qualcosa peggiora
@@ -143,8 +167,16 @@ nessun dominio da comprare, nessun dato che passa da terzi per l'uso quotidiano.
- **Tesoreria** — quanti soldi ci saranno in banca fra una settimana, un mese, tre mesi
- **Banche e Finanziamenti** — fidi, mutui e leasing, e quanto pesano sulla cassa futura
- **Analisi & Simulazioni** — "cosa succede se": assumo, investo, alzo i prezzi
-- **Attività e Tempi** *(nuova nella 1.2.0)* — il lavoro del consulente su ogni
- azienda: le cose da fare, il tempo che ci si spende e quanto vale
+- **Marginalità** *(1.3.0)* — quanto costa fare ciò che si vende e quanto resta: il
+ food cost delle ricette, la distinta base dei prodotti, il costo di una commessa a
+ preventivo e a consuntivo
+- **Personale** *(1.3.0)* — quanto costa davvero ogni persona e un'ora del suo lavoro
+- **Area fiscale e contributi** *(1.3.0)* — imposte e contributi dell'anno, quanto
+ mettere da parte ogni mese, quando si paga
+- **Documenti** e **Richieste e chiamate** *(1.3.0)* — il cassetto dei file e il filo
+ diretto fra azienda e studio
+- **Attività e Tempi** *(1.2.0)* — il lavoro del consulente su ogni azienda: le cose
+ da fare, il tempo che ci si spende e quanto vale
In più, su ogni schermata:
@@ -165,6 +197,28 @@ In più, su ogni schermata:
- **Aggiornamenti con un clic**: il programma controlla da solo se su GitHub c'è una
versione nuova, la scarica, la verifica e si aggiorna.
+## Marginalità, Personale, Area fiscale
+
+**Marginalità** prende la forma dell'attività. Per un ristorante sono **ricette e
+ingredienti**: ogni pizza con i suoi grammi di farina e mozzarella (con lo scarto), i
+minuti del pizzaiolo, e subito il **food cost**, quanto resta, il **prezzo consigliato**
+per stare nell'obiettivo; il **menu engineering** divide il menu in stelle, cavalli da
+lavoro, enigmi e cani, con cosa fare per ognuno. Per chi lavora **a commessa**
+(edilizia, impianti, servizi) sono commesse con **preventivo e consuntivo** di
+materiali, ore e lavorazioni esterne, e lo scostamento fra i due. Per produzione e
+commercio, **distinta base** e **ricarico**.
+
+**Personale**: per ogni persona contratto, ore, retribuzione annua lorda e mensilità;
+il programma calcola il **costo aziendale** (retribuzione, contributi, INAIL, TFR, altri
+costi) e il **costo di un'ora di lavoro** — che è la manodopera usata dalla
+Marginalità. Per reparto, diretti e indiretti, e il confronto col costo del personale
+scritto nel bilancio. Stipendi, F24 e INAIL possono entrare nella previsione di cassa.
+
+**Area fiscale e contributi**: una **stima** (non la dichiarazione) di IRES, IRAP,
+IRPEF, addizionali e contributi INPS — o dell'imposta sostitutiva del forfettario —
+partendo dall'utile degli ultimi dodici mesi. Dice **quanto mettere da parte ogni
+mese** e le **scadenze** di acconti e saldi, che possono entrare nella tesoreria.
+
## Attività e Tempi
Una schermata per il lavoro **del consulente**, non per i conti dell'azienda: la vede
@@ -172,12 +226,14 @@ solo lui. L'idea viene da [Ever Teams](https://github.com/ever-co/ever-teams), u
programma open source per organizzare il lavoro di un gruppo; qui è ridotta a quello
che serve a uno studio.
+- **Timer** — un tasto grande per partire, l'attività si sceglie a pastiglie; resta
+ visibile in alto in ogni schermata e se ne avvii un altro, il primo si ferma da solo.
+- **Registra ore** — oggi o ieri, 15 minuti, mezz'ora, un'ora, due: due tocchi. Le voci
+ del registro si correggono con un clic.
- **Bacheca a colonne** — *Da fare, In corso, Da verificare, Fatto*: ogni attività ha
priorità, scadenza (rossa quando è passata), una stima e il tempo già speso. Si
- sposta trascinandola, o con le frecce.
-- **Timer** — si avvia su un'attività con un clic e resta visibile in alto in ogni
- schermata; se ne avvii un altro, il primo si ferma da solo. Le ore si possono anche
- scrivere a mano ("1:30", "1,5").
+ sposta trascinandola o con i pulsanti *Inizia / Da rivedere / Fatta*; sul telefono
+ una colonna alla volta.
- **Quanto vale** — con la tariffa oraria dell'azienda, le ore fatturabili del mese
diventano un importo. Più il grafico delle ultime otto settimane e il registro giorno
per giorno.
@@ -226,7 +282,9 @@ finanziamento) e si vede subito l'effetto su utile, cassa e debito, scenario sal
ed esportabile in Excel. Tutte e sette le viste esistono. Dalla versione 1.0.0 i dati si
inseriscono direttamente nel programma, c'è il report PDF, il cruscotto a widget con i
riquadri spostabili e l'aggiornamento automatico da GitHub. Con la 1.2.0 arrivano
-**Attività e Tempi** e la **demo per telefoni Android**. Manca il collegamento fra i
+**Attività e Tempi** e la **demo per telefoni Android**; con la 1.3.0 un'interfaccia
+più semplice, le impostazioni, il cassetto documenti, richieste e chiamate fra azienda
+e studio, **Personale**, **Area fiscale** e **Marginalità**. Manca il collegamento fra i
due programmi.
| | Fase | Stato |
@@ -242,18 +300,21 @@ due programmi.
| 1.0 | Aggiornamenti automatici, dati nel programma, report PDF, cruscotto, riquadri spostabili | ✅ Versione 1.0.0 |
| 1.1 | Pannelli liberi e ridimensionabili, zoom, scenari pronti, demo per Mac | ✅ Versione 1.1.0 |
| 1.2 | Attività e Tempi (bacheca, timer, ore), demo per Android | ✅ Versione 1.2.0 |
+| 1.3 | Interfaccia più semplice (Ctrl+K, telefono), impostazioni, documenti, richieste e chiamate, Personale, Area fiscale, Marginalità | ✅ Versione 1.3.0 |
| 8-9 | Collegamento fra i due programmi (senza account), import Excel più tollerante | ⬜ Prossima |
| 10 | Eseguibili: installer, portable, demo | 🟡 Pubblicati a ogni aggiornamento importante; mancano le varianti Consulente/Azienda |
-La roadmap completa, con il dettaglio di cosa c'è dentro ogni fase, è in
-[`AGENTS.md` §13](./AGENTS.md).
+La roadmap viva sta su GitHub, nell'issue fissata
+**[Roadmap](https://github.com/cammo22/DaProdFinanza/issues/39)**; il dettaglio di
+cosa c'è dentro ogni fase è in [`AGENTS.md` §13](./AGENTS.md).
## Provarlo
Il modo più rapido per vederlo all'opera è la **versione demo**:
`DaProdFinanza-Demo-x.y.z-portable.exe`. Si lancia senza installare niente e parte
già con una pizzeria di esempio, due anni di bilanci, lo scadenziario, le previsioni
-di cassa, le banche e i finanziamenti. Si entra come
+di cassa, le banche e i finanziamenti, il personale, le ricette col food cost, i
+documenti e una chiamata in arrivo. Si entra come
consulente con **`cammo` / `1234`**, oppure come azienda con **`Pizzeria DaProd` /
`1234`**. I suoi dati restano in una cartella a parte e non si mescolano mai con
quelli di un'installazione vera.
@@ -279,12 +340,13 @@ il pulsante *Aggiornamenti* apre la pagina da cui scaricare il DMG nuovo.
**Su Android c'è solo la demo.** Si scarica l'APK dal telefono e lo si apre: Android
chiede il permesso di installare app da quella fonte (il browser o *File*), si
concede e si installa. È lo stesso programma, con gli stessi dati di esempio, lo
-stesso accesso (`cammo` / `1234`) e il menu che si apre dal tasto ☰. In ogni schermata
-l'intestazione dell'azienda è richiusa in una riga (▾ per aprire periodo, scenario e
-report), e l'avviso della demo si chiude con la ×. I pannelli partono **bloccati**,
-così scorrendo col dito non si ridimensionano per sbaglio: il lucchetto 🔒/🔓 in alto li
-sblocca e li blocca con un tocco. Sul telefono non
-ci sono import/export Excel, report PDF e backup. Per aggiornarla si installa l'APK
+stesso accesso (`cammo` / `1234`), le sezioni nella barra in basso e il resto nel
+menu. Periodo, scenario e report si aprono dal pulsante col calendario in alto; il
+tondo in basso a destra ha le azioni rapide; l'avviso della demo si chiude con la ×. I
+pannelli partono **bloccati**, così scorrendo col dito non si ridimensionano per
+sbaglio: il lucchetto in alto li sblocca con un tocco. Sul telefono non ci sono
+import/export Excel, report PDF e backup, e i documenti si aprono solo dentro il
+programma. Per aggiornarla si installa l'APK
nuovo sopra quello vecchio: i dati di esempio restano.
Dalla 1.0.0 non serve più scaricarli a mano: il pulsante **Aggiornamenti** (in basso
@@ -353,6 +415,10 @@ src/
├── web/ versione Android: backend in pagina, sql.js, sostituti di Node/Electron
└── shared/
├── engine/ il motore di calcolo: funzioni pure, zero dipendenze
+ │ (bilancio, indici, tesoreria, finanziamenti, simulazioni,
+ │ attività, personale, fiscale, marginalità)
+ ├── settings.ts impostazioni di programma, utente e azienda
+ ├── documents.ts documenti e richieste
└── types.ts tipi condivisi
```
@@ -395,6 +461,21 @@ e le chiamate `fetch` all'indirizzo del backend restano nella pagina
(`.github/workflows/android-demo.yml`), a ogni release. Dettagli in
[`AGENTS.md`](./AGENTS.md), versione 1.2.0.
+### L'interfaccia (1.3.0)
+
+- **Comandi rapidi** (`renderer/src/lib/comandi.tsx`): chi sa fare qualcosa lo
+ dichiara con `useRegistraComandi`; la tavolozza (Ctrl+K) e il pulsante *Nuovo* li
+ leggono. Un'azione che vive in una schermata non ancora aperta si chiede con
+ `richiediAzione` e la schermata la raccoglie con `useAzione`.
+- **Guscio** (`components/Guscio.tsx`, `Sidebar.tsx`): menu richiudibile e
+ ridimensionabile, cambio d'azienda con le recenti, barra delle sezioni del telefono.
+- **Pannelli**: nascosti e compressi per schermata, in `localStorage`.
+- **Anteprime dei documenti** (`components/viewer/`): PDF.js, ExcelJS, docx-preview in
+ un iframe senza script, pptx-glimpse con i caratteri Carlito e Arimo inclusi.
+ Caricate solo quando servono.
+- Le sezioni pesanti si caricano alla prima apertura (`React.lazy`); i dati già letti
+ si mostrano subito mentre si aggiornano (`lib/memoria.ts`).
+
## Comandi
```bash
@@ -421,6 +502,10 @@ principale: **i tre schemi di riclassificazione devono arrivare allo stesso EBIT
stesso utile**, perché sono tre presentazioni dello stesso risultato. Se una formula
viene trascritta male, lì si spacca.
+Lo stesso vale per le sezioni della 1.3.0: costo aziendale e orario del personale,
+imposte e contributi di ogni regime, acconti e saldi, food cost e menu engineering
+sono verificati su **conti fatti a mano** (`src/shared/engine/*.test.ts`).
+
Due test girano sul file Excel reale del consulente quando è presente nella cartella di
lavoro; in CI vengono saltati, perché quel file non sta nella repo.
diff --git a/package-lock.json b/package-lock.json
index 6d5983b..ff6ebcd 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1,12 +1,12 @@
{
"name": "daprodfinanza",
- "version": "1.2.2",
+ "version": "1.3.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "daprodfinanza",
- "version": "1.2.2",
+ "version": "1.3.0",
"hasInstallScript": true,
"license": "MIT",
"dependencies": {
diff --git a/package.json b/package.json
index b428a62..6a0c572 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "daprodfinanza",
- "version": "1.2.2",
+ "version": "1.3.0",
"description": "Gestionale desktop di controllo di gestione per consulenti finanziari aziendali",
"main": "./out/main/index.js",
"author": "DaProdProduzioni",