Preventivi 1-Click
Manuale utente completo โ crea, invia e gestisci preventivi professionali direttamente dal tuo PC, senza abbonamenti e senza cloud.
๐ Installazione e avvio
Il programma non richiede l'installazione di Python nรฉ di altri software. Tutto viene scaricato automaticamente dal file di setup.
Prima installazione (una sola volta)
-
Copia la cartella
preventivi_appin una posizione a tua scelta sul PC (es.C:\Lavoro\preventivi_appoppure sul Desktop). -
Esegui
SETUP.batโ fai doppio clic sul file.
Il setup scarica automaticamente Python portatile (~10 MB) e installa tutte le librerie necessarie.
Connessione internet richiesta solo durante il setup. -
Attendi il messaggio "SETUP COMPLETATO CON SUCCESSO" e premi un tasto.
python_embed\ all'interno di preventivi_app. Non tocca il resto del sistema, non modifica il registro di Windows, non richiede privilegi di amministratore.Avvio quotidiano
-
Fai doppio clic su
AVVIA.batnella cartella del programma. -
Si apre la finestra dell'applicazione. Puoi creare un collegamento a
AVVIA.batsul Desktop per averlo sempre a portata di mano (clic destro โ Invia a โ Desktop come collegamento).
.bat potrebbero essere segnalati alla prima esecuzione. Sono file di testo puri, aprili con Blocco Note per verificarne il contenuto prima di eseguirli. Non contengono codice malevolo.Aggiornare le librerie
Se in futuro hai bisogno di aggiornare le dipendenze, esegui nuovamente SETUP.bat: rileva Python giร installato e aggiorna solo le librerie.
๐ฅ๏ธ Interfaccia
La finestra รจ divisa in due aree principali:
| Area | Descrizione |
|---|---|
| Sidebar sinistra | Navigazione tra le sezioni del programma |
| Barra superiore (topbar) | Titolo della pagina corrente, barra di ricerca globale, pulsanti azione |
| Area principale | Contenuto della sezione selezionata |
Voci della sidebar
| Voce | Funzione |
|---|---|
| Dashboard | Panoramica statistiche e lista preventivi |
| + Nuovo Preventivo | Crea un preventivo da zero |
| Clienti | Rubrica clienti |
| Prodotti | Catalogo prodotti e servizi |
| Template | Modelli di preventivo riutilizzabili |
| Impostazioni | Dati azienda, email SMTP, colori PDF, backup |
โ๏ธ Impostazioni iniziali
Prima di creare il primo preventivo, vai su Impostazioni (ultima voce nella sidebar) e compila i dati.
La tua azienda
| Campo | Dove appare |
|---|---|
| Nome azienda / Professionista | Intestazione PDF, firma email |
| Intestazione PDF | |
| Telefono | Intestazione PDF, messaggio WhatsApp |
| Indirizzo | Sezione "DA" nel PDF |
| P.IVA | Piรจ di pagina PDF |
Email (SMTP)
Necessario per inviare preventivi via email direttamente dall'app.
| Campo | Valore per Gmail | Valore per altri provider |
|---|---|---|
| Host SMTP | smtp.gmail.com | chiedi al tuo provider |
| Porta | 587 | solitamente 587 o 465 |
| Email mittente | la tua email | la tua email |
| Password | App Password (vedi sotto) | password email |
Account Google โ Sicurezza โ Verifica in due passaggi (deve essere attiva) โ Password per le app โ crea una password per "Preventivi" โ copia il codice di 16 caratteri.
Numerazione preventivi
Il campo Prefisso determina il formato del numero automatico. Esempi:
| Prefisso | Risultato |
|---|---|
PREV | PREV-2025-0001, PREV-2025-0002 โฆ |
FDM | FDM-2025-0001, FDM-2025-0002 โฆ |
Q | Q-2025-0001, Q-2025-0002 โฆ |
Personalizzazione PDF
- Colore principale โ colore dell'intestazione e del totale (clicca il quadratino colorato o digita un codice esadecimale es.
#E63946) - Lingua PDF โ Italiano ๐ฎ๐น o English ๐ฌ๐ง (cambia le etichette nel documento)
Logo aziendale
- Prepara un file PNG con sfondo trasparente (consigliato) o JPG, dimensione massima 2 MB.
- In Impostazioni โ Logo aziendale, clicca Scegli file e seleziona il tuo logo.
- Clicca ๐ค Carica logo. Il logo apparirร nella sidebar e nell'intestazione del PDF.
๐ Creare un preventivo
Clicca + Nuovo Preventivo nella sidebar o il pulsante verde in dashboard.
Passo 1 โ Cliente e Template
- Cliente โ scegli dalla lista oppure clicca + Nuovo cliente per crearne uno al volo senza perdere il lavoro
- Template โ scegli il modello (determina IVA%, testo introduttivo, note finali, giorni di validitร )
Passo 2 โ Dettagli
| Campo | Descrizione | Compare nel PDF? |
|---|---|---|
| Titolo / Oggetto | Es. "Realizzazione sito web" | Sรฌ |
| Note visibili nel PDF | Condizioni, tempistiche, garanzie per il cliente | Sรฌ |
| Note interne | Appunti interni: margini, contatti, riferimenti | No |
Passo 3 โ Voci del preventivo
Ogni riga della tabella รจ un prodotto o servizio.
| Colonna | Descrizione |
|---|---|
| Descrizione | Testo della voce (con autocomplete dal catalogo) |
| Qtร | Quantitร , anche decimale (es. 2.5 ore) |
| Prezzo unit. | Prezzo unitario in euro |
| Sc.% | Sconto sulla singola riga (0 = nessuno sconto) |
| Totale | Calcolato automaticamente |
Pulsanti riga: โ duplica la riga | โ rimuove la riga
Aggiungere voci:
- ๐ฆ Da catalogo โ apre il catalogo prodotti; clicca un prodotto per aggiungerlo
- + Aggiungi voce โ riga vuota da compilare
- Autocomplete โ inizia a scrivere nella descrizione; appaiono suggerimenti dal catalogo in tempo reale; clicca per selezionare e compilare prezzo automaticamente
Passo 4 โ Opzioni e Riepilogo
| Campo | Descrizione |
|---|---|
| Sconto globale (%) | Sconto sull'intero subtotale (si somma agli sconti per riga) |
| IVA (%) | Ereditata dal template (modifica nel template per cambiare) |
| Giorni di validitร | Sovrascrive il valore del template per questo preventivo |
| Acconto ricevuto (โฌ) | Se hai giร incassato un acconto; l'app mostrerร il saldo residuo |
| Numero manuale | Lascia vuoto per numerazione automatica; riempi per forzare un numero specifico |
Passo 5 โ Salva
Clicca Crea Preventivo. Il preventivo viene salvato come Bozza.
๐ Gestire un preventivo
Clicca sul numero del preventivo in dashboard per aprire il dettaglio.
Intestazione del dettaglio
In alto a destra trovi sempre: totale, acconto ricevuto (se presente) e saldo residuo.
Invio rapido
| Pulsante | Cosa fa |
|---|---|
| ๐ฌ Invia su WhatsApp | Apre WhatsApp Web con messaggio precompilato (nome cliente, numero, totale); salva anche il PDF sul Desktop per allegarlo manualmente |
| ๐ง Invia Email + PDF | Invia email con PDF allegato all'indirizzo del cliente (SMTP necessario) |
| ๐ Scarica PDF | Salva il PDF direttamente sul Desktop con il nome Preventivo_NUMERO.pdf |
Accettazione
Quando il cliente accetta, clicca Segna come Accettato: lo stato diventa Firmato e viene registrata data e ora. Il PDF mostrerร la dicitura di accettazione.
Cambio stato manuale
Usa il menu a tendina per impostare lo stato:
- Bozza โ in preparazione, non ancora inviato
- Inviato โ inviato al cliente
- Firmato โ accettato dal cliente
- Rifiutato โ non andato a buon fine
Aggiungi una nota opzionale al cambio stato per documentarne il motivo (es. "Cliente ha chiesto revisione prezzi").
Storico stati
Clicca Mostra nel pannello Storico per vedere la cronologia completa: ogni cambio di stato con data, ora e nota. Include anche l'invio via WhatsApp o email.
Anteprima PDF
Clicca Mostra nel pannello Anteprima PDF per vedere il documento direttamente nell'app senza scaricarlo.
Altre azioni
| Azione | Descrizione |
|---|---|
| โ๏ธ Modifica | Torna al form di modifica |
| ๐ Duplica | Crea una copia identica con stato Bozza e nuovo numero |
| ๐๏ธ Elimina | Elimina definitivamente (irreversibile) |
๐ Dashboard
Statistiche in tempo reale
| Indicatore | Significato |
|---|---|
| Preventivi totali | Numero totale di preventivi nel sistema |
| Bozze | Preventivi ancora in preparazione |
| Inviati | Preventivi spediti al cliente e in attesa di risposta |
| Accettati | Preventivi firmati/confermati |
| Valore pipeline | Somma in euro dei preventivi inviati + firmati |
Grafico andamento mensile
Clicca Mostra nel pannello "Andamento mensile" per vedere il grafico degli ultimi 6 mesi con:
- Barre blu โ valore totale dei preventivi emessi per mese
- Linea grigia โ numero totale preventivi
- Linea verde โ numero preventivi firmati
Filtri e ricerca preventivi
- Cerca โ filtra per numero, nome cliente o titolo
- Tutti / Bozze / Inviati / Firmati โ filtra per stato
Badge scadenza automatici
I preventivi in stato Inviato mostrano automaticamente:
- โฐ scade in Ng โ scade entro 3 giorni
- โ ๏ธ scaduto โ data di validitร superata
Export Excel
Clicca il pulsante Excel in alto a destra per esportare la lista corrente (con filtri applicati) in formato .xlsx. Il file viene salvato automaticamente sul Desktop con il nome preventivi_export_YYYYMMDD_HHMMSS.xlsx e compare un messaggio di conferma verde.
๐ Ricerca globale
La barra "Cerca tuttoโฆ" in cima a ogni pagina cerca simultaneamente in:
- Preventivi (numero, titolo, nome cliente)
- Clienti (nome, email, telefono)
- Prodotti / servizi (nome, descrizione)
I risultati appaiono in una pagina dedicata, raggruppati per categoria, con link diretto a ogni elemento.
๐ฅ Clienti
Vai su Clienti nella sidebar per gestire la rubrica.
Aggiungere un cliente
Clicca + Nuovo Cliente e compila i campi:
- Nome (obbligatorio)
- Email, Telefono, Indirizzo, P.IVA, Note
Azioni sulla lista clienti
| Pulsante | Azione |
|---|---|
| โ๏ธ Modifica | Modifica i dati del cliente |
| ๐ (icona) | Duplica il cliente โ utile per aziende con piรน referenti |
| ๐๏ธ (icona) | Elimina il cliente (non elimina i preventivi giร creati) |
๐ฆ Catalogo Prodotti
Il catalogo ti permette di salvare i prodotti e servizi che usi piรน spesso, per inserirli nei preventivi con un clic senza dover riscrivere ogni volta.
Aggiungere un prodotto
Clicca + Nuovo Prodotto e compila:
| Campo | Descrizione |
|---|---|
| Nome | Nome breve usato per la ricerca (es. "Consulenza oraria") |
| Descrizione | Testo esteso che comparirร nella voce del preventivo |
| Prezzo default | Prezzo unitario suggerito (modificabile nel preventivo) |
| Unitร di misura | pz, ora, mq, kg, ecc. |
| Categoria | Per raggruppare i prodotti nel catalogo |
| Attivo | Se disattivato, non appare nei suggerimenti del preventivo |
Usare il catalogo durante un preventivo
Due metodi:
- Pulsante "๐ฆ Da catalogo" โ apre una finestra con ricerca e lista; clic sul prodotto per aggiungerlo come voce
- Autocomplete โ inizia a scrivere nella colonna Descrizione; compaiono suggerimenti in tempo reale; clic per selezionare (compila anche il prezzo automaticamente)
๐ Template
I template definiscono le impostazioni di default per i preventivi. Puoi averne quanti vuoi (es. uno per lavori standard, uno per urgenze, uno per forfait annuali).
Campi del template
| Campo | Descrizione |
|---|---|
| Nome | Es. "Standard", "Urgente +20%", "Privati senza IVA" |
| Testo introduttivo | Paragrafo di apertura nel PDF ("Gentile Cliente, โฆ") |
| Note finali | Testo in fondo al PDF (condizioni generali, modalitร di pagamento, ecc.) |
| Valuta | EUR o altra valuta |
| Giorni di validitร | Scadenza default (modificabile sul singolo preventivo) |
| IVA % | Aliquota IVA (22%, 10%, 4%, 0%, ecc.) |
๐จ๏ธ Il PDF del preventivo
Il PDF viene generato automaticamente quando clicchi "Scarica PDF" o "Invia Email".
Struttura del documento
Intestazione
- Barra colorata (colore brand) con logo, nome azienda e contatti
- Numero e tipo documento (PREVENTIVO in IT, QUOTE in EN)
- Data emissione e data di scadenza
- Sezione DA (tuoi dati) e A (dati cliente con P.IVA se presente)
- Testo introduttivo del template
Corpo
- Tabella voci: descrizione, qtร , prezzo, colonna sconto (appare solo se almeno una riga ha sconto), totale riga
- Riepilogo: subtotale, sconto globale (se presente), IVA, TOTALE in evidenza colorata
- Note visibili al cliente (le note interne NON appaiono)
- Note finali del template
Piรจ di pagina
- P.IVA aziendale (o indirizzo) a sinistra
- Numero pagina a destra
- Spazio firma manuale del cliente (se non ancora accettato)
- Data e ora di accettazione (se giร firmato)
๐พ Backup e Ripristino
Eseguire un backup
- Vai su Impostazioni โ sezione Backup database.
- Inserisci il percorso cartella di destinazione oppure lascia vuoto per salvare automaticamente in
Desktop\Preventivi_Backup\. - Clicca ๐ฆ Esegui backup ora. Viene creato il file
preventivi_backup_YYYYMMDD_HHMMSS.db.
Ripristinare un backup
- Vai su Impostazioni โ sezione Ripristina backup.
- Clicca Scegli file e seleziona un file
.dbdi backup precedente. - Clicca โป๏ธ Ripristina e conferma il dialogo.
โ Domande frequenti
Il PDF mostra caratteri strani o manca il simbolo โฌ
L'app usa il font Arial di sistema. Verifica che C:\Windows\Fonts\arial.ttf esista. In caso contrario, installa Arial o Calibri su Windows.
Non riesco a inviare email
Per Gmail, usa l'App Password (non la password dell'account). La verifica in due passaggi deve essere attiva. Verifica Host (smtp.gmail.com), Porta (587) e che nessun firewall blocchi la porta.
Come cambio il colore del PDF?
Impostazioni โ PDF Personalizzazione โ usa il selettore colore o digita un codice esadecimale (es. #16A34A per verde).
Il numero automatico salta dei numeri, รจ normale?
Sรฌ, se hai eliminato preventivi. La numerazione รจ progressiva sui preventivi esistenti nell'anno. Per numeri specifici usa il campo "Numero manuale" alla creazione.
Posso usare il programma su piรน computer?
Sรฌ: copia l'intera cartella preventivi_app sull'altro PC (incluso preventivi.db e python_embed). Sul nuovo PC non serve rieseguire il setup. Per sincronizzare i dati usa backup manuale + ripristino.
Posso modificare un preventivo giร inviato?
Sรฌ. Lo stato resta "inviato" ma i dati vengono aggiornati. Se rigeneri o reinvii il PDF, sarร la versione aggiornata.
Come rimuovo il logo?
Impostazioni โ Logo aziendale โ clicca ๐๏ธ Rimuovi logo.
๐ Struttura dei file
preventivi_app/
โโโ AVVIA.bat โ avvia il programma (uso quotidiano)
โโโ SETUP.bat โ installazione una-tantum
โโโ main.py โ punto di ingresso dell'app
โโโ app.py โ logica web (Flask)
โโโ db.py โ gestione database (SQLite)
โโโ pdf_gen.py โ generazione PDF (fpdf2)
โโโ email_utils.py โ invio email (SMTP)
โโโ preventivi.db โ il tuo database (generato automaticamente)
โโโ requirements.txt โ lista librerie Python necessarie
โโโ MANUALE_UTENTE.html โ questo documento
โโโ python_embed/ โ Python portatile (creato dal SETUP)
โโโ static/
โ โโโ uploads/ โ logo aziendale caricato
โโโ templates/ โ pagine HTML dell'interfaccia
Preventivi 1-Click โ Manuale Utente v2.0 ยท Uso locale e privato