# BOZZA – Fatturazione Avanzata – Manuale operativo utente

BOZZA – Manuale in fase di verifica. Documentazione operativa della branch produttiva 21.10.2.

# 1. Introduzione e processo operativo

Panoramica, classificazione e prerequisiti.

# Introduzione e panoramica

> **BOZZA – Manuale in fase di verifica**

# Introduzione e panoramica

Fatturazione Avanzata collega il lavoro svolto per il cliente al ciclo amministrativo. Consente di aprire Ticket e Lavori dalle principali anagrafiche, consuntivare ore, trasferta e materiali, preparare Proposte Fattura, generare Fatture, gestire acconti e saldi, inviare documenti per e-mail e produrre PDF.

Il processo documentato è quello della branch produttiva 21.10.2. Il contenuto descrive ciò che l’utente vede e gli effetti sui record; le note tecniche sono raccolte esclusivamente nell’ultima pagina del libro.

## Moduli aggiuntivi

| Modulo | Scopo |
|---|---|
| **Lavori** | Registra attività, tempi, trasferta, prodotti e servizi eseguiti per un Ticket o un’Operazione. |
| **Proposte Fattura** | Raggruppa i Ticket fatturabili e prepara i dati prima della Fattura. Nell’interfaccia italiana verificata il nome è “Proposta Fattura”. |
| **Testi descrittivi** | Conserva descrizioni riutilizzabili nei documenti commerciali. |
| **Testi termini e condizioni** | Conserva termini e condizioni riutilizzabili nei documenti commerciali. |

## Moduli standard estesi

Aziende, Contatti, Installazioni, Prodotti, Servizi, Contratti di servizio, Ticket, Commesse, Pianificazioni, Operazioni, Preventivi, Ordini di vendita e Fatture restano moduli standard vtenext, ma ricevono campi, pulsanti, relazioni, calcoli o controlli aggiuntivi.

> **Attenzione:** **Lavori** e **Commesse** non sono sinonimi. Lavori è il consuntivo operativo aggiunto dal pacchetto; Commesse è il contenitore standard delle Pianificazioni.

## Convenzioni

- Le etichette in grassetto corrispondono ai testi italiani verificati nell’interfaccia.
- Le funzioni non dimostrate come attive sono indicate come “da verificare” e non sono presentate come operative.
- I valori e i messaggi riportati tra virgolette sono quelli previsti dal pacchetto.
- Tutti gli screenshot sono segnaposto e devono essere acquisiti in un ambiente dimostrativo senza dati sensibili.

## Stato del manuale

Il libro è una **bozza**: le funzionalità dimostrate dal pacchetto sono documentate; i pochi punti che richiedono conferma sull’installazione reale sono elencati nelle note di manutenzione.

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Flusso operativo completo

> **BOZZA – Manuale in fase di verifica**

# Flusso operativo completo

Il percorso principale parte dall’assistenza e termina nella fatturazione.

1. Dall’Azienda, Contatto, Installazione, Contratto di servizio, Pianificazione o Operazione si crea un **Ticket** oppure un **Lavoro**. Nel secondo caso il sistema crea prima il Ticket.
2. Nel Ticket vengono definiti cliente, eventuale Contratto di servizio, tariffa e **Stato Fatturazione**.
3. Uno o più **Lavori** registrano data, ore, trasferta, pausa, ore non conteggiate, servizi, prodotti e firma.
4. Il sistema ricalcola automaticamente ore e giorni del Ticket e, se richiesto, lo imposta su **Chiuso**.
5. Dalla lista Ticket, i record **Chiuso** e **Da Fatturare** possono essere trasformati in **Proposte Fattura**.
6. La proposta può essere controllata, approvata o sospesa. I Ticket sospesi passano a **Sospeso**; quelli inclusi passano a **Proposta Fattura**.
7. Dalle Proposte Fattura **Approvato** si generano le Fatture. La scadenza è calcolata dai giorni di pagamento e dall’eventuale opzione fine mese.
8. In alternativa, da un Ordine di vendita è possibile creare una Fattura di **Acconto** o **Saldo**.
9. Dalla lista Fatture è possibile generare PDF, salvarli nei Documenti, inviarli per e-mail e aggiornare lo stato delle Fatture inviate.

## Varianti

- Un Ticket collegato a un contratto ordinario può essere classificato **Servizio a Contratto**.
- Un contratto **Supporto a Consuntivo** valorizza tariffa e stato **Da Fatturare**.
- Da un Ordine di vendita il flusso Acconto/Saldo crea direttamente una Fattura.
- Le Pianificazioni di tipo **Consuntivo** includono il lavoro effettivamente registrato; quelle **Preventivo** supportano la pianificazione.

> **📸 SCREENSHOT DA INSERIRE — Flusso completo**
>
> **Pagina da aprire:** viste dettaglio Ticket, Lavoro, Proposta Fattura e Fattura  
> **Contenuto da mostrare:** relazioni e stati nei quattro passaggi  
> **Evidenziare:** Stato, Stato Fatturazione e record collegati  
> **Dati da usare:** processo dimostrativo completo  
> **Scopo:** comprendere il passaggio dal consuntivo alla Fattura

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Prerequisiti e configurazioni

> **BOZZA – Manuale in fase di verifica**

# Prerequisiti e configurazioni

## Dati anagrafici

Prima di fatturare verificare:

- Azienda o Contatto correttamente collegati al Ticket;
- indirizzi di fatturazione e spedizione;
- **Giorni Pagamento Fattura** nell’Azienda o nel Contatto;
- **Fattura Fine Mese** se la scadenza deve cadere a fine mese;
- **Email Fatturazione** nell’Azienda oppure un Contatto con **Responsabile Fatture**;
- valuta coerente fra i Lavori che confluiscono nella stessa proposta.

## Catalogo e contratti

- Prodotti e Servizi usati nei Lavori devono essere attivi e valorizzati.
- Per acconti e saldi servono Servizi classificati rispettivamente **Acconto** o **Saldo**.
- Un Contratto **Supporto a Consuntivo** richiede la **Tariffa**.
- Un’Installazione non deve avere più di un Contratto di servizio attivo per la creazione rapida.

## Ticket e Lavori

Per generare una proposta il Ticket deve essere **Chiuso**, avere **Stato Fatturazione = Da Fatturare**, essere collegato a un cliente, avere almeno un Lavoro e non contenere Lavori senza righe prodotto/servizio.

## E-mail e PDF

- Deve esistere un account e-mail predefinito.
- Devono essere disponibili Template Email e modello PDF compatibili.
- I PDF inviati sono salvati nelle cartelle Documenti **Fatture Inviate** o **Lavori Inviati**.

## Configurazioni che influenzano i calcoli

L’amministratore può configurare ore per giorno Ticket, arrotondamento e durata minima dei Lavori e creazione della riga negativa che compensa gli acconti nel saldo.

> **📸 SCREENSHOT DA INSERIRE — Prerequisiti di fatturazione**
>
> **Pagina da aprire:** Azienda, Contratto di servizio e Ticket in modifica  
> **Contenuto da mostrare:** giorni pagamento, fine mese, e-mail, tariffa e stato fatturazione  
> **Evidenziare:** campi necessari  
> **Dati da usare:** cliente dimostrativo  
> **Scopo:** prevenire blocchi durante la generazione

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Classificazione dei moduli

> **BOZZA – Manuale in fase di verifica**

# Classificazione dei moduli

| Modulo | Classificazione | Aggiunte dimostrate |
|---|---|---|
| Aziende | Standard vtenext esteso | creazione Ticket/Lavoro, pagamenti, fine mese, e-mail |
| Contatti | Standard vtenext esteso | creazione Ticket/Lavoro, pagamenti, fine mese, responsabile fatture |
| Installazioni | Standard vtenext esteso | creazione Ticket/Lavoro e contratto attivo |
| Prodotti | Standard vtenext esteso | uso nelle righe e identificazione nome/codice |
| Servizi | Standard vtenext esteso | categorie Acconto e Saldo |
| Contratti di servizio | Standard vtenext esteso | Supporto a Consuntivo, tariffa, aggiornamento Ticket |
| Ticket | Standard vtenext esteso | tariffa, riduzione, stato fatturazione, proposta, ricalcoli |
| Commesse | Standard vtenext | nessuna aggiunta diretta dimostrata |
| Pianificazioni | Standard vtenext esteso | unità, ore, progresso, tipo Preventivo/Consuntivo |
| Operazioni | Standard vtenext esteso | ore e progresso, relazione Lavori |
| Lavori | **Aggiuntivo** | consuntivo, inventario, firma, calcoli, invio PDF |
| Preventivi | Standard vtenext esteso | Posizioni, subtotali, funzioni PDF |
| Ordini di vendita | Standard vtenext esteso | Posizioni, totali fatturati, Acconto/Saldo |
| Proposte Fattura | **Aggiuntivo** | preparazione e raggruppamento Ticket |
| Fatture | Standard vtenext esteso | Acconto/Saldo, acconti, invio massivo, stati |
| Testi descrittivi | **Aggiuntivo** | descrizioni riutilizzabili |
| Testi termini e condizioni | **Aggiuntivo** | termini riutilizzabili |
| Processi | Standard vtenext esteso | relazioni con i testi; copia automatica da verificare |

Le pagine dei moduli standard descrivono solo le aggiunte della Fatturazione Avanzata.

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# 2. Anagrafiche e catalogo

Estensioni a dati anagrafici, installazioni, prodotti, servizi e contratti.

# Aziende e Contatti

> **BOZZA – Manuale in fase di verifica**

# Aziende e Contatti

## Classificazione

Moduli standard vtenext estesi.

## A cosa servono le aggiunte

I dati anagrafici determinano chi riceve la Fattura, la data di scadenza e l’indirizzo e-mail. Dal dettaglio è inoltre possibile aprire rapidamente un Ticket o predisporre un Lavoro.

## Dove si trovano

Aprire **Aziende** o **Contatti**, entrare nel record e individuare il blocco **Fatturazione Avanzata** e i comandi **Crea Ticket** e **Crea Lavoro**.

## Campi aggiunti

| Modulo | Campo | Compilazione ed effetto |
|---|---|---|
| Aziende | **Email Fatturazione** | inserita dall’utente; usata se nessun Contatto è Responsabile Fatture |
| Aziende e Contatti | **Giorni Pagamento Fattura** | scelta fra 0, 15, 30, 60, 90, 120; usata per la scadenza |
| Aziende e Contatti | **Fattura Fine Mese** | se selezionata, porta la scadenza all’ultimo giorno del mese calcolato |
| Contatti | **Responsabile Fatture** | identifica i Contatti destinatari delle e-mail di fatturazione |

## Creare un Ticket

1. Aprire l’Azienda o il Contatto.
2. Premere **Crea Ticket**.
3. Compilare **Titolo Assistenza** e **Descrizione Assistenza**.
4. Confermare.
5. Il sistema crea un Ticket **Aperto**, con priorità **Bassa**, assegnato all’utente corrente e collegato all’anagrafica.
6. Il nuovo Ticket si apre in una nuova scheda.

## Creare un Lavoro

1. Premere **Crea Lavoro**.
2. Compilare titolo e descrizione.
3. Confermare.
4. Il sistema crea prima il Ticket con **Stato Fatturazione = Da Fatturare**.
5. Si apre la creazione di un Lavoro già collegato al Ticket.

## Controlli e messaggi

Se titolo o descrizione non sono compilati compare: **“Per Favore Compilare i Campi Titolo e Descrizione”**.

## Destinatari e-mail Fatture

Con Azienda collegata, il sistema usa nell’ordine:

1. tutti i Contatti con **Responsabile Fatture**;
2. **Email Fatturazione** dell’Azienda;
3. e-mail principale dell’Azienda.

> **📸 SCREENSHOT DA INSERIRE — Campi fatturazione in Azienda e Contatto**
>
> **Pagina da aprire:** dettaglio e modifica di un’Azienda e di un Contatto  
> **Contenuto da mostrare:** blocco Fatturazione Avanzata e pulsanti  
> **Evidenziare:** Email Fatturazione, Giorni Pagamento, Fattura Fine Mese, Responsabile Fatture  
> **Dati da usare:** anagrafiche dimostrative  
> **Scopo:** riconoscere dati e comandi necessari

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Installazioni

> **BOZZA – Manuale in fase di verifica**

# Installazioni

## Classificazione

Modulo standard vtenext esteso.

## A cosa serve

Dall’Installazione si può aprire assistenza sul bene installato. Il sistema tenta di individuare automaticamente l’eventuale Contratto di servizio attivo.

## Procedura

1. Aprire **Installazioni** e il record interessato.
2. Premere **Crea Ticket** oppure **Crea Lavoro**.
3. Inserire **Titolo Assistenza** e **Descrizione Assistenza**.
4. Confermare.

Con **Crea Lavoro**, il sistema crea prima il Ticket e apre poi un Lavoro collegato.

## Automatismi

- Il cliente del Ticket è l’Azienda collegata all’Installazione.
- Se non esiste alcun Contratto attivo, il Ticket riceve **Stato Fatturazione = Da Fatturare**.
- Se esiste un solo Contratto attivo, il Ticket viene collegato al contratto e classificato in base alla tipologia del contratto.
- Se esistono più contratti attivi, l’operazione viene bloccata per evitare un’associazione ambigua.

## Controlli e messaggi

- Titolo o descrizione mancanti: **“Per Favore Compilare i Campi Titolo e Descrizione”**.
- Più contratti attivi: **“L'installazione selezionata ha più di un Servizio a Contratto attivo”**.

## Risultato atteso

Viene creato un Ticket associato all’Installazione e al cliente; quando un solo contratto è disponibile viene creata anche la relazione con quel contratto.

> **📸 SCREENSHOT DA INSERIRE — Creazione assistenza da Installazione**
>
> **Pagina da aprire:** dettaglio Installazione  
> **Contenuto da mostrare:** pulsanti e finestra titolo/descrizione  
> **Evidenziare:** collegamento al Contratto di servizio  
> **Dati da usare:** Installazione con un solo contratto attivo  
> **Scopo:** mostrare la selezione automatica del contratto

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Prodotti e Servizi

> **BOZZA – Manuale in fase di verifica**

# Prodotti e Servizi

## Classificazione

Moduli standard vtenext estesi.

## Utilizzo nel pacchetto

Prodotti e Servizi alimentano le righe dei Lavori, delle Proposte Fattura, dei Preventivi, degli Ordini di vendita e delle Fatture.

## Prodotti

Nelle selezioni il prodotto è identificato con **Nome Prodotto** e **Codice Prodotto**, così da ridurre gli errori fra articoli simili.

## Servizi Acconto e Saldo

La categoria del Servizio può contenere i valori:

- **Acconto**
- **Saldo**

Questi valori sono usati nella finestra **Crea Acconto/Saldo** dell’Ordine di vendita. Il filtro propone soltanto i Servizi coerenti con il tipo scelto.

## Prerequisiti

- Il prodotto o servizio deve essere disponibile nel catalogo e, se previsto dalla configurazione vtenext, nel Listino selezionato.
- Per creare acconti o saldi a riga singola deve esistere almeno un Servizio della categoria corrispondente.
- Prezzo, quantità, sconto e imposte devono essere controllati nelle righe del documento.

## Effetti automatici

Quando più Lavori sono raggruppati nella stessa Proposta Fattura, righe riferite allo stesso prodotto/servizio possono essere aggregate. Quantità e importi confluiscono nella riga riepilogativa; le descrizioni dei Lavori restano riportate nel documento.

> **📸 SCREENSHOT DA INSERIRE — Servizi Acconto e Saldo**
>
> **Pagina da aprire:** Servizi in creazione/modifica e righe di un Lavoro  
> **Contenuto da mostrare:** categoria servizio e selezione prodotto/servizio  
> **Evidenziare:** valori Acconto e Saldo  
> **Dati da usare:** due servizi dimostrativi  
> **Scopo:** preparare correttamente il catalogo

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Contratti di servizio

> **BOZZA – Manuale in fase di verifica**

# Contratti di servizio

## Classificazione

Modulo standard vtenext esteso.

## Aggiunte

- nuova tipologia **Supporto a Consuntivo**;
- campo **Tariffa**;
- comandi **Crea Ticket** e **Crea Lavoro**;
- aggiornamenti automatici del Ticket collegato e dei consumi del contratto.

## Supporto a Consuntivo

Usare questa tipologia quando le attività devono essere fatturate secondo le ore/lavorazioni registrate.

**Tariffa** è obbligatoria per **Supporto a Consuntivo**. Se manca, il salvataggio è bloccato con: **“Attenzione compilare il campo Tariffa”**.

## Creazione assistenza

1. Aprire il Contratto di servizio.
2. Premere **Crea Ticket** o **Crea Lavoro**.
3. Compilare titolo e descrizione.
4. Confermare.

Il Ticket viene collegato al contratto e al cliente del contratto.

## Aggiornamenti sul Ticket

| Tipo contratto | Stato Fatturazione Ticket | Tariffa Ticket |
|---|---|---|
| **Supporto a Consuntivo** | **Da Fatturare** | copiata dal contratto |
| Altra tipologia | **Servizio a Contratto** | impostata a zero |

Se il collegamento al contratto cambia, il Ticket viene riallineato alla nuova tipologia. Il contratto ricalcola inoltre i valori standard di utilizzo e residuo in base ai Ticket collegati.

## Controlli

Titolo o descrizione mancanti nella creazione rapida: **“Per Favore Compilare i Campi Titolo e Descrizione”**.

> **📸 SCREENSHOT DA INSERIRE — Contratto Supporto a Consuntivo**
>
> **Pagina da aprire:** Contratto di servizio in modifica e dettaglio  
> **Contenuto da mostrare:** tipo, Tariffa, comandi e Ticket correlati  
> **Evidenziare:** effetto sullo Stato Fatturazione  
> **Dati da usare:** contratto dimostrativo  
> **Scopo:** distinguere attività comprese e attività fatturabili

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# 3. Assistenza, pianificazione e lavori

Ticket, commesse, pianificazioni, operazioni e lavori.

# Ticket

> **BOZZA – Manuale in fase di verifica**

# Ticket

## Classificazione

Modulo standard vtenext esteso.

## Campi aggiunti

| Campo | Compilazione | Effetto |
|---|---|---|
| **Tariffa** | automatica dal contratto o manuale | valore economico usato per la fatturazione |
| **Riduzione Tariffa %** | utente | riduce la tariffa applicata |
| **Proposta Fattura** | automatica | collega il Ticket alla proposta che lo contiene |
| **Motivazione Annullamento** | utente/proposta | spiega sospensione o annullamento |
| **Stato Fatturazione** | automatico o utente | governa il passaggio alla proposta |

Valori verificati di **Stato Fatturazione**: **Da Fatturare**, **Servizio a Contratto**, **Non Fatturato**, **Fatturato**, **Sospeso**, **Proposta Fattura**.

## Aggiornamento automatico di ore e giorni

A ogni salvataggio, modifica o eliminazione di un Lavoro collegato:

- le **Ore** del Ticket diventano la somma delle Ore Totali dei Lavori;
- i **Giorni** sono ricalcolati dividendo le ore per il numero di ore/giorno configurato, normalmente 8;
- se un Lavoro ha **Chiudi Ticket**, lo stato del Ticket passa a **Chiuso**.

## Azienda collegata

Il campo **Azienda Collegata** è compilato dal record “Relazionato a”. Se il Ticket è collegato a un Contatto, viene riportata l’Azienda del Contatto. Il valore viene aggiornato quando cambia il collegamento.

## Duplicazione

Duplicando il Ticket il sistema azzera i riferimenti di fatturazione: Proposta Fattura, Tariffa, motivazione, Ore e Giorni; lo **Stato Fatturazione** riparte da **Da Fatturare**.

## Eliminazione

Eliminando il Ticket vengono eliminati logicamente anche i Lavori collegati. Pianificazione e Operazione collegate vengono ricalcolate.

## Requisiti per creare una Proposta Fattura

Il Ticket deve essere **Chiuso**, **Da Fatturare**, collegato a un cliente, dotato di almeno un Lavoro valorizzato e non già incluso in un’altra proposta.

> **📸 SCREENSHOT DA INSERIRE — Ticket e fatturazione**
>
> **Pagina da aprire:** Ticket in dettaglio  
> **Contenuto da mostrare:** blocco Fatturazione Avanzata, ore/giorni, Lavori e Proposta  
> **Evidenziare:** Stato Fatturazione e calcoli  
> **Dati da usare:** Ticket con due Lavori  
> **Scopo:** verificare gli effetti del consuntivo

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Commesse

> **BOZZA – Manuale in fase di verifica**

# Commesse

## Classificazione

Modulo standard vtenext.

## Ruolo nel processo

La Commessa è il contenitore organizzativo delle Pianificazioni. Non coincide con il modulo aggiuntivo **Lavori** e il pacchetto non dimostra campi o pulsanti aggiunti direttamente alla Commessa.

Il percorso operativo è:

1. aprire la Commessa standard;
2. accedere alle Pianificazioni correlate;
3. usare nelle Pianificazioni e nelle Operazioni le estensioni documentate nelle pagine successive;
4. registrare il consuntivo nei Lavori o nei Ticket collegati.

## Risultato atteso

La Commessa mantiene la visione complessiva del progetto; ore, unità e avanzamento vengono aggiornati nei livelli Pianificazione e Operazione.

> **📸 SCREENSHOT DA INSERIRE — Commessa e Pianificazioni**
>
> **Pagina da aprire:** dettaglio Commessa  
> **Contenuto da mostrare:** elenco Pianificazioni correlate  
> **Evidenziare:** differenza fra Commessa, Pianificazione, Operazione e Lavoro  
> **Dati da usare:** commessa dimostrativa  
> **Scopo:** evitare l’uso improprio dei termini

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Pianificazioni

> **BOZZA – Manuale in fase di verifica**

# Pianificazioni

## Classificazione

Modulo standard vtenext esteso.

## Tipi e significato

- **Preventivo**: pianificazione delle attività; i Lavori non sono destinati alla fatturazione consuntiva.
- **Consuntivo**: le ore e i prodotti realmente registrati possono alimentare il flusso di fatturazione.

## Campi calcolati e operativi

| Campo | Compilazione |
|---|---|
| **Unità Totali** | utente |
| **Unità Usate** | automatica da Operazioni, Ticket e Lavori |
| **Unità Residue** | automatica: Totali meno Usate |
| **Progresso % (Calcolato)** | automatico in base alle unità consumate |
| **Ore Pianificate** | automatica dalla somma delle durate previste delle Operazioni |
| **Ore Disponibili** | automatica: unità disponibili meno ore pianificate |

Il progresso viene arrotondato per decine percentuali. Valori incoerenti nelle unità iniziali producono naturalmente un progresso non attendibile.

## Creare assistenza

Dal dettaglio sono disponibili **Crea Ticket** e **Crea Lavoro**. Inserire titolo e descrizione. Nel secondo caso viene creato prima il Ticket.

Il cliente del Ticket deriva dall’Azienda o Contatto collegato alla Pianificazione. Nelle Pianificazioni **Consuntivo** il Ticket è impostato **Da Fatturare**. Per le Pianificazioni **Preventivo** il pacchetto usa un valore interno la cui etichetta italiana in produzione è ancora da confermare: la bozza non gli assegna una traduzione inventata.

## Aggiornamenti

Modifica, spostamento o eliminazione di Ticket/Lavori/Operazioni ricalcola sia la vecchia sia la nuova Pianificazione coinvolta.

> **📸 SCREENSHOT DA INSERIRE — Unità e progresso Pianificazione**
>
> **Pagina da aprire:** Pianificazione in dettaglio  
> **Contenuto da mostrare:** tipo, unità, ore e progresso  
> **Evidenziare:** valori compilati e calcolati  
> **Dati da usare:** pianificazione con due Operazioni  
> **Scopo:** leggere correttamente disponibilità e avanzamento

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Operazioni

> **BOZZA – Manuale in fase di verifica**

# Operazioni

## Classificazione

Modulo standard vtenext esteso.

## A cosa servono le aggiunte

L’Operazione definisce il lavoro previsto e raccoglie il consuntivo proveniente da Ticket e Lavori.

## Campi

- **Durata Prevista (Ore)**: compilata dall’utente.
- **Ore Disponibili**: calcolate rispetto alla Pianificazione.
- **Ore**: ricalcolate sommando le ore dei Ticket collegati e dei Lavori direttamente collegati.
- **Progresso % (Calcolato)**: rapporto fra ore consuntivate e durata prevista, arrotondato per decine.

## Lavori collegati

La relazione **Lavori** consente di aggiungere un consuntivo direttamente all’Operazione. Un Lavoro può anche appartenere a un Ticket collegato all’Operazione; il sistema evita di perdere il collegamento al livello di Pianificazione.

## Creazione rapida

Dal dettaglio si possono usare **Crea Ticket** e **Crea Lavoro** compilando titolo e descrizione. Il cliente è ereditato dalla Pianificazione.

## Aggiornamenti collegati

Quando un Lavoro o Ticket cambia Operazione, il sistema ricalcola:

- la vecchia Operazione;
- la nuova Operazione;
- le rispettive Pianificazioni;
- ore disponibili e progresso.

> **📸 SCREENSHOT DA INSERIRE — Consuntivo Operazione**
>
> **Pagina da aprire:** Operazione in dettaglio  
> **Contenuto da mostrare:** durata prevista, ore, progresso e Lavori correlati  
> **Evidenziare:** ricalcolo dopo il salvataggio di un Lavoro  
> **Dati da usare:** Operazione con durata 10 ore e consuntivo  
> **Scopo:** confrontare previsto ed effettivo

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Lavori

> **BOZZA – Manuale in fase di verifica**

# Lavori

## Classificazione

**Modulo aggiuntivo Fatturazione Avanzata.**

## A cosa serve e dove si trova

Registra il singolo intervento o consuntivo. È raggiungibile dal menu se abilitato, dalle relazioni di Ticket e Operazioni oppure tramite **Crea Lavoro**.

## Prerequisiti

Il Lavoro deve essere collegato obbligatoriamente tramite **Relazionato a** a un Ticket oppure a un’Operazione. Per fatturarlo servono almeno una riga Prodotto o Servizio e una valuta coerente con gli altri Lavori della proposta.

## Campi principali

| Campo | Chi lo compila | Comportamento |
|---|---|---|
| **No Lavoro** | sistema | numerazione automatica |
| **Numero Ordinamento** | sistema | progressivo fra i Lavori dello stesso record collegato |
| **Data** | utente | data dell’intervento |
| **Relazionato a** | utente/sistema | Ticket o Operazione; obbligatorio |
| **Chi firma?** | utente | identifica il firmatario |
| **Firma** | utente | firma acquisita nel record |
| **Chiudi Ticket** | utente | chiude automaticamente il Ticket collegato |
| **Servizio** | utente | riferimento al servizio svolto |
| **Ora Inizio / Ora Fine** | utente | intervallo di lavoro |
| **Pausa** | utente | ore sottratte dal tempo |
| **Ore Lavorate** | sistema o utente | calcolate dall’intervallo; manuali se l’intervallo manca |
| **Ore Trasferta** | utente | aggiunte al totale |
| **Ore non Conteggiate** | utente | sottratte dal totale |
| **Ore Totali** | sistema | Lavorate + Trasferta − non Conteggiate |

## Procedura

1. Aprire **Nuovo Lavoro** dal Ticket, dall’Operazione o dal comando rapido.
2. Verificare **Relazionato a**.
3. Inserire Data, orari, pausa, trasferta ed eventuali ore non conteggiate.
4. Inserire Prodotti e Servizi con quantità, prezzo, sconti e imposte.
5. Inserire descrizione e firma, se richieste.
6. Se l’intervento conclude l’assistenza, selezionare **Chiudi Ticket**.
7. Salvare.
8. In fase di creazione, se disponibili, scegliere Template Email, modello PDF ed eventuale CC per inviare il rapporto.

## Calcoli

Con inizio e fine, **Ore Lavorate = durata fra gli orari − Pausa**. Il sistema può applicare intervallo di arrotondamento e durata minima configurati. **Ora Fine** non può essere precedente a **Ora Inizio**.

## Effetti sui record collegati

- Ticket: somma ore, giorni e possibile stato **Chiuso**.
- Operazione: ore e progresso.
- Pianificazione: unità, disponibilità e progresso.
- Cambio relazione: vengono ricalcolati sia il vecchio sia il nuovo record.
- Eliminazione: i totali vengono ricalcolati e i Lavori successivi sono rinumerati.
- Duplicazione: il nuovo record riceve la normale numerazione e i valori devono essere ricontrollati.

## Risultato atteso

Il Lavoro rimane consultabile in dettaglio, lista e relazioni; può produrre un PDF, un Documento collegato e un’e-mail.

> **📸 SCREENSHOT DA INSERIRE — Creazione Lavoro e calcolo ore**
>
> **Pagina da aprire:** Lavoro in creazione  
> **Contenuto da mostrare:** relazione, orari, pausa, trasferta, ore non conteggiate, totale e righe  
> **Evidenziare:** risultato del calcolo e Chiudi Ticket  
> **Dati da usare:** orari dimostrativi senza dati sensibili  
> **Scopo:** compilare correttamente il consuntivo

> **📸 SCREENSHOT DA INSERIRE — Firma e invio rapporto**
>
> **Pagina da aprire:** Lavoro in creazione/salvataggio  
> **Contenuto da mostrare:** firma, Template Email, modello PDF e conferma invio  
> **Evidenziare:** documento generato e relazione  
> **Dati da usare:** destinatario dimostrativo  
> **Scopo:** mostrare l’uscita documentale

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# 4. Ciclo commerciale e fatturazione

Preventivi, ordini, proposte fattura, fatture, acconti e saldi.

# Preventivi e posizioni

> **BOZZA – Manuale in fase di verifica**

# Preventivi e posizioni

## Classificazione

Modulo standard vtenext esteso.

## Posizioni

Le righe Prodotto/Servizio possono essere organizzate in **Posizioni**. Per ciascuna posizione sono disponibili:

- **Numero Posizione**, assegnato o mantenuto dal sistema;
- **Nome Posizione**, modificabile;
- **Totale Posizione Senza IVA**, calcolato;
- **Totale Posizione Con IVA**, calcolato;
- **Nascondi Posizione**, per controllarne l’uso in stampa.

Ogni riga prodotto/servizio possiede il campo **Posizione**. Se una riga successiva non indica una posizione, viene associata alla posizione precedente.

## Procedura

1. Creare o modificare il Preventivo.
2. Assegnare il numero di Posizione alle righe.
3. Salvare.
4. Controllare il riepilogo Posizioni.
5. Modificare i nomi ed eventualmente selezionare **Nascondi Posizione**.
6. Nel blocco **Impostazioni di Stampa**, impostare **Stampa Subtotali**.

## Calcoli

Al salvataggio il sistema ricalcola per posizione imponibile e totale con IVA, considerando righe, imposte e sconto finale. Le posizioni non più presenti nelle righe vengono rimosse dal riepilogo.

## Passaggio all’Ordine

Quando si crea un Ordine di vendita dal Preventivo, nomi e impostazione **Nascondi Posizione** vengono riportati nelle corrispondenti Posizioni dell’Ordine.

> **📸 SCREENSHOT DA INSERIRE — Posizioni nel Preventivo**
>
> **Pagina da aprire:** Preventivo in modifica e dettaglio  
> **Contenuto da mostrare:** righe con Posizione e tabella riepilogativa  
> **Evidenziare:** subtotali e Stampa Subtotali  
> **Dati da usare:** tre righe in due posizioni  
> **Scopo:** organizzare e stampare l’offerta per sezioni

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Ordini di vendita

> **BOZZA – Manuale in fase di verifica**

# Ordini di vendita

## Classificazione

Modulo standard vtenext esteso.

## Aggiunte

- Posizioni e relativi totali;
- comando **Crea Acconto/Saldo**;
- **Totale Fatturato**;
- **Totale Fatturato Senza Iva**;
- **Totale da Fatturare**.

## Totali automatici

Ogni volta che una Fattura viene creata, modificata, spostata su un altro Ordine o eliminata, l’Ordine ricalcola:

- totale delle Fatture collegate, tenendo conto degli sconti;
- totale fatturato senza imposte;
- residuo da fatturare rispetto al totale dell’Ordine.

Gli Ordini provenienti da integrazioni esterne possono essere esclusi dall’aggiornamento dei campi riepilogativi secondo la configurazione installata.

## Posizioni

Il funzionamento è analogo ai Preventivi. Se l’Ordine nasce da un Preventivo, titoli e visibilità delle Posizioni vengono copiati. A ogni salvataggio i totali delle posizioni sono rigenerati dalle righe prodotto/servizio.

## Funzione correlata

Per la procedura completa vedere **Fatture di acconto e saldo**.

> **📸 SCREENSHOT DA INSERIRE — Ordine e stato fatturazione**
>
> **Pagina da aprire:** Ordine di vendita in dettaglio  
> **Contenuto da mostrare:** Totale Fatturato, senza IVA, da fatturare e pulsante  
> **Evidenziare:** variazione dopo la creazione di una Fattura  
> **Dati da usare:** ordine parzialmente fatturato  
> **Scopo:** conoscere il residuo amministrativo

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Proposte Fattura

> **BOZZA – Manuale in fase di verifica**

# Proposte Fattura

## Classificazione

**Modulo aggiuntivo Fatturazione Avanzata.** Nell’interfaccia italiana verificata il nome è **Proposta Fattura**.

## A cosa serve

Raccoglie Ticket chiusi e fatturabili, consente il controllo delle righe prima dell’emissione e genera le Fatture.

## Stati

**Da Controllare**, **Approvato**, **Fatturato**, **Spedito al Cliente**, **Annullata**.

## Campi principali

Nome e Numero Proposta, Azienda obbligatoria, Contatto, Stato, Motivazione Annullamento, indirizzi, descrizione, termini e righe prodotto/servizio. Numero e totali sono automatici.

## Generare Proposte dai Ticket

1. Aprire la lista **Ticket**.
2. Selezionare uno o più Ticket.
3. Premere **Genera Proposte Fattura**.
4. Nella finestra **Impostazioni Proposta Fattura** scegliere:
   - **Raggruppa Lavori (Prodotti/Servizi)**;
   - **Raggruppa Per Cliente**.
5. Premere **Invia**.
6. Controllare il riepilogo di record creati ed errori.
7. Se richiesto, accettare il reindirizzamento alle nuove proposte.

Senza raggruppamento viene creata una proposta per Ticket. Raggruppando per cliente, più Ticket dello stesso cliente confluiscono nella stessa proposta. Raggruppando prodotti/servizi, righe equivalenti sono sommate.

## Dati copiati e stati

La proposta riceve Azienda/Contatto, indirizzi, valuta, descrizioni dei Lavori, termini, prodotti, servizi, quantità, prezzi, sconti e imposte. Nasce **Da Controllare**. I Ticket inclusi passano a **Proposta Fattura** e vengono collegati alla proposta.

## Controlli che bloccano

Il Ticket deve essere **Chiuso** e **Da Fatturare**, avere cliente e almeno un Lavoro valorizzato, non essere già in proposta e usare la stessa valuta degli altri Lavori raggruppati. Se nessun record è idoneo compare **“Nessun ticket da mandare in proposta fattura”**.

## Controllare e approvare

Aprire la proposta, verificare intestazione, indirizzi, righe, imposte, descrizione e termini; quindi impostare **Approvato**.

## Sospendere Ticket dalla proposta

1. Selezionare **Sospendi Ticket** sulle righe interessate.
2. Compilare **Motivazione Annullamento** se necessaria.
3. Salvare e confermare.

Tutte le righe dello stesso Ticket vengono rimosse insieme; il Ticket perde il collegamento alla proposta e passa a **Sospeso** con la motivazione. Se si sospende l’unico Ticket o si imposta **Annullata**, la proposta viene eliminata dopo il salvataggio. La conferma visualizzata avverte che, con un solo Ticket, verrà eliminata tutta la proposta.

## Generare Fatture

1. Dalla lista Proposte selezionare record **Approvato**.
2. Premere **Genera Fatture**.
3. Il sistema controlla che non esista già una Fattura e che siano compilati i giorni di pagamento.
4. Confermare l’eventuale reindirizzamento.

La Fattura copia intestazione, indirizzi, valuta, righe, sconti, imposte, descrizione e termini. La proposta passa a **Fatturato** e anche i Ticket collegati passano a **Fatturato**.

> **📸 SCREENSHOT DA INSERIRE — Generazione Proposte**
>
> **Pagina da aprire:** lista Ticket e finestra Impostazioni Proposta Fattura  
> **Contenuto da mostrare:** selezione, pulsante e opzioni di raggruppamento  
> **Evidenziare:** prerequisiti e riepilogo  
> **Dati da usare:** due Ticket dello stesso cliente  
> **Scopo:** scegliere correttamente il raggruppamento

> **📸 SCREENSHOT DA INSERIRE — Sospensione Ticket**
>
> **Pagina da aprire:** Proposta Fattura in modifica  
> **Contenuto da mostrare:** righe, Sospendi Ticket, motivazione e conferma  
> **Evidenziare:** stato finale del Ticket  
> **Dati da usare:** proposta con almeno due Ticket  
> **Scopo:** rimuovere un Ticket senza fatturarlo

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Fatture di acconto e saldo

> **BOZZA – Manuale in fase di verifica**

# Fatture di acconto e saldo

## Classificazione

Funzione aggiunta all’Ordine di vendita standard.

## Prerequisiti

Ordine valorizzato, Azienda/Contatto, righe, valuta e Servizi di categoria **Acconto** e **Saldo**.

## Procedura

1. Aprire l’Ordine di vendita.
2. Premere **Crea Acconto/Saldo**.
3. Scegliere **Acconto** oppure **Saldo**.
4. Per il Saldo scegliere **Riga Singola** o **Completo**.
5. Per Acconto o Riga Singola selezionare Servizio, imposta, titolo, data Fattura, scadenza e importo.
6. L’importo può essere assoluto o percentuale, ad esempio 30%.
7. Confermare e, se proposto, aprire la lista Fatture generate.

La finestra mostra totale documento, residuo, totale fatturato e fatturato senza IVA.

## Risultato

La Fattura copia Ordine, Azienda/Contatto, listino, valuta, magazzino, indirizzi, descrizione e tipo di tassazione.

- **Acconto**: una riga con il Servizio Acconto.
- **Saldo – Riga Singola**: una riga con il Servizio Saldo.
- **Saldo – Completo**: copia l’intero blocco prodotti/servizi dell’Ordine.
- L’eventuale percentuale è calcolata sul totale dell’Ordine.
- Se si indica un’imposta, il valore lordo viene trasformato nel corrispondente imponibile della riga.

## Collegamento degli acconti

La Fattura di saldo elenca gli acconti precedenti dello stesso Ordine. Se configurato, aggiunge una riga negativa che sottrae gli acconti dal saldo.

## Controlli e messaggi

- **“Una delle due date non ha un formato valido”**
- **“Inserire un acconto valido”**
- **“Inserire un servizio di acconto”**
- **“L'acconto selezionato supera il totale rimanente da fatturare”**
- **“Prego inserire un titolo per la fattura”**
- **“Tipologia di Acconto/Saldo non valida”**

Al termine viene mostrato quante Fatture sono state create e quanti errori si sono verificati.

> **📸 SCREENSHOT DA INSERIRE — Finestra Acconto/Saldo**
>
> **Pagina da aprire:** Ordine di vendita, Crea Acconto/Saldo  
> **Contenuto da mostrare:** tipi, importo/percentuale, date, servizio e riepilogo  
> **Evidenziare:** residuo da fatturare  
> **Dati da usare:** ordine dimostrativo  
> **Scopo:** creare un documento coerente col residuo

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Fatture

> **BOZZA – Manuale in fase di verifica**

# Fatture

## Classificazione

Modulo standard vtenext esteso.

## Aggiunte

- **Tipo Fattura** con valori **Acconto** e **Saldo**;
- tabella **Acconti** con data, tipo, totale documento, Fattura e numero Fattura;
- stati aggiuntivi **Stornata Parzialmente**, **Stornata Totalmente**, **Insoluta**;
- invio massivo tramite **Invia Mail**;
- aggiornamento automatico dei totali dell’Ordine di vendita.

## Fattura da Proposta

La Fattura nasce con i dati completi della proposta e la relazione alla Proposta Fattura. La data è quella di generazione. La scadenza è calcolata aggiungendo i **Giorni Pagamento Fattura**; se **Fattura Fine Mese** è selezionato, viene spostata all’ultimo giorno del mese risultante.

Lo stato iniziale effettivo è assegnato automaticamente; l’etichetta italiana visualizzata per tale valore deve essere confermata nell’installazione e non viene inventata in questa bozza.

## Fattura da Ordine

Per Acconto/Saldo vedere la pagina dedicata. Creazione, modifica, cambio Ordine o eliminazione della Fattura ricalcolano i totali dell’Ordine precedente e di quello nuovo.

## Acconti collegati

Una Fattura di saldo riporta gli acconti dello stesso Ordine. Se una Fattura è usata come acconto in un’altra, non può essere eliminata: prima occorre rimuoverla dalla Fattura associata. Il messaggio è: **“Non è possibile eliminare questa fattura perché è relazionata ad un acconto. Rimuovere prima l'acconto dalla fattura associata.”**

## Risultati e relazioni

La Fattura può avere Documenti PDF, Messaggi/e-mail, Ticket, Proposta Fattura, Ordine di vendita e acconti collegati.

> **📸 SCREENSHOT DA INSERIRE — Fattura di saldo e acconti**
>
> **Pagina da aprire:** Fattura in dettaglio  
> **Contenuto da mostrare:** Tipo Fattura, tabella Acconti e riga negativa  
> **Evidenziare:** relazione all’Ordine e totale finale  
> **Dati da usare:** saldo con due acconti  
> **Scopo:** verificare la compensazione degli acconti

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Controlli prima dell’emissione

> **BOZZA – Manuale in fase di verifica**

# Controlli prima dell’emissione

## A cosa serve

Questa checklist riduce il rischio di generare Proposte Fattura o Fatture incomplete e deve essere eseguita prima dell’emissione.

## Ticket e Lavori

- Ticket in stato **Chiuso**.
- **Stato Fatturazione = Da Fatturare**.
- Azienda o Contatto collegato e non eliminato.
- Almeno un Lavoro collegato.
- Ogni Lavoro contiene almeno un Prodotto o Servizio da fatturare.
- Ore, trasferta, pausa e ore non conteggiate sono state verificate.
- Tutti i Lavori da raggruppare usano la stessa valuta.

## Cliente e scadenza

- Ragione sociale o Contatto corretti.
- Indirizzi di fatturazione e spedizione completi.
- **Giorni Pagamento Fattura** valorizzato.
- **Fattura Fine Mese** coerente con gli accordi.
- E-mail destinataria disponibile.

## Proposta Fattura

- Stato **Approvato** prima della generazione.
- Nessuna Fattura già collegata.
- Righe, quantità, prezzi, sconti e imposte controllati.
- Descrizione e Termini e condizioni definitivi.
- Nessun Ticket sospeso ancora presente per errore.

## Fattura e documenti

- Data Fattura e scadenza corrette.
- Valuta del documento corretta.
- Totali e imposte verificati.
- Acconti collegati correttamente nel saldo.
- Template Email e modello PDF appropriati.
- Destinatari e stato da applicare dopo l’invio controllati.

## Risultato atteso

La generazione produce un documento completo, collegato ai record di origine e pronto per PDF ed e-mail.

> **📸 SCREENSHOT DA INSERIRE — Controllo finale prima dell’emissione**
>
> **Pagina da aprire:** Ticket, Proposta Fattura e anteprima Fattura  
> **Contenuto da mostrare:** stati, cliente, scadenza, valuta e totali  
> **Evidenziare:** controlli indispensabili  
> **Dati da usare:** processo dimostrativo completo  
> **Scopo:** validare i dati prima della generazione

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# 5. Testi, e-mail e documenti

Testi riutilizzabili, invii e stampe.

# Testi descrittivi

> **BOZZA – Manuale in fase di verifica**

# Testi descrittivi

## Classificazione

**Modulo aggiuntivo Fatturazione Avanzata.**

## A cosa serve

Conserva descrizioni standard da riutilizzare nei documenti, evitando digitazioni ripetitive e testi incoerenti.

## Dove si trova e collegamenti

Il modulo è disponibile nell’area Strumenti se abilitato nel menu. È collegato a Processi, Preventivi, Ordini di vendita, Fatture, Proposte Fattura e Ordini di acquisto.

## Campi

- **Nome Testo Descrizione**: obbligatorio.
- **Stato**: **Attivo** o **Non Attivo**.
- **Descrizione**: contenuto riutilizzabile.
- **Assegnato a**: obbligatorio.

Sono disponibili creazione, modifica, dettaglio, lista, importazione, esportazione e gestione duplicati secondo i permessi.

## Utilizzo nei documenti

1. Aprire un documento commerciale in creazione o modifica.
2. Nel blocco **Descrizione**, usare il campo **Testo Descrizione**.
3. Aprire la selezione.
4. Scegliere un testo **Attivo**.
5. Il sistema inserisce immediatamente il contenuto nel campo Descrizione, in formato ricco.
6. Controllare e personalizzare il testo prima di salvare.

I testi non attivi non sono proposti nella finestra di selezione.

## Processi e modifica massiva

La selezione manuale dal popup è verificata: scegliendo un testo **Attivo**, la Descrizione viene compilata immediatamente. Esiste inoltre un automatismo separato destinato ai **Processi** e alla **modifica massiva**: quando cambia il Testo Descrizione collegato, dovrebbe copiare il contenuto nel campo Descrizione del documento. Questo secondo percorso deve essere provato nell’installazione prima di essere dichiarato operativo.

> **📸 SCREENSHOT DA INSERIRE — Selezione Testo Descrizione**
>
> **Pagina da aprire:** Preventivo in modifica  
> **Contenuto da mostrare:** popup con soli testi attivi e Descrizione compilata  
> **Evidenziare:** testo inserito automaticamente  
> **Dati da usare:** testo standard dimostrativo  
> **Scopo:** riutilizzare una descrizione controllata

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Testi termini e condizioni

> **BOZZA – Manuale in fase di verifica**

# Testi termini e condizioni

## Classificazione

**Modulo aggiuntivo Fatturazione Avanzata.**

## A cosa serve

Archivia clausole e condizioni standard da inserire nei documenti commerciali.

## Campi

- **Nome Testo Termini Condizioni**: obbligatorio.
- **Stato**: **Attivo** o **Non Attivo**.
- **Descrizione**: contenuto dei termini.
- **Assegnato a**: obbligatorio.

Il modulo supporta creazione, modifica, dettaglio, lista, importazione, esportazione e duplicati secondo i permessi.

## Moduli collegati

Processi, Preventivi, Ordini di vendita, Fatture, Proposte Fattura e Ordini di acquisto.

## Procedura

1. Aprire il documento in creazione o modifica.
2. Nel blocco termini, usare **Testo Termini Condizioni**.
3. Selezionare un record **Attivo**.
4. Il testo viene inserito nel campo Termini e condizioni.
5. Controllare il risultato e salvare.

Il campo standard dei termini viene reso disponibile come testo ricco.

## Limitazione da verificare

La selezione manuale dal popup è verificata. Per **Processi** e **modifica massiva** lo sviluppo tenta di copiare automaticamente il testo scelto nel campo Termini e condizioni, ma il collegamento utilizzato risulta incoerente: questo percorso non deve essere considerato operativo finché non viene collaudato.

> **📸 SCREENSHOT DA INSERIRE — Selezione Termini e condizioni**
>
> **Pagina da aprire:** Fattura in modifica  
> **Contenuto da mostrare:** selettore, elenco record attivi e campo compilato  
> **Evidenziare:** formattazione del testo  
> **Dati da usare:** condizioni dimostrative  
> **Scopo:** applicare clausole standard

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# E-mail

> **BOZZA – Manuale in fase di verifica**

# E-mail

## Invio Fatture dalla lista

1. Aprire la lista **Fatture**.
2. Selezionare una o più Fatture.
3. Premere **Invia Mail**.
4. Scegliere Template Email, modello PDF e stato da assegnare dopo l’invio.
5. Confermare.
6. Controllare il riepilogo: **“Totale Mail Generate: … Inviate: … Errori: …”**.

Le Fatture dello stesso cliente sono raggruppate in un’unica e-mail con più PDF allegati.

## Destinatari

- Fattura collegata solo a un Contatto: e-mail del Contatto.
- Fattura collegata a un’Azienda: tutti i Contatti **Responsabile Fatture**.
- Se nessuno: **Email Fatturazione** dell’Azienda.
- Se ancora assente: e-mail principale dell’Azienda.

## Documenti e stati

Per ogni Fattura viene generato un PDF e salvato come Documento nella cartella **Fatture Inviate**, collegato alla Fattura. Dopo l’invio riuscito, lo stato della Fattura passa al valore scelto nella finestra.

Se manca l’account e-mail predefinito compare **“Nessun account mail configurato”**.

## Invio del rapporto Lavoro

Durante la creazione del Lavoro è possibile scegliere Template Email, modello PDF e indirizzo CC. Alla conferma **“Vuoi Inviare la Mail Contenente il PDF del Lavoro?”** il sistema:

- genera il PDF;
- lo salva nei Documenti, cartella **Lavori Inviati**;
- lo collega al Lavoro;
- lo invia all’Azienda o Contatto del Ticket, con eventuale CC.

Esito positivo: **“La Mail con il PDF del Lavoro è stata Inviata”**.  
Errore: **“La Mail non è Stata Inviata a Causa di un Errore”**.

> **📸 SCREENSHOT DA INSERIRE — Invio massivo Fatture**
>
> **Pagina da aprire:** lista Fatture  
> **Contenuto da mostrare:** selezione, Invia Mail, template, PDF, stato e riepilogo  
> **Evidenziare:** più allegati per lo stesso cliente  
> **Dati da usare:** Fatture dimostrative  
> **Scopo:** inviare e archiviare i documenti

> **📸 SCREENSHOT DA INSERIRE — E-mail Lavoro**
>
> **Pagina da aprire:** salvataggio nuovo Lavoro  
> **Contenuto da mostrare:** destinatario, CC, modelli e messaggio esito  
> **Evidenziare:** Documento collegato  
> **Dati da usare:** indirizzi non reali  
> **Scopo:** consegnare il rapporto di intervento

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# PDF e stampe

> **BOZZA – Manuale in fase di verifica**

# PDF e stampe

## Funzioni standard e aggiunte

La generazione PDF avviene tramite PDF Maker standard vtenext. Fatturazione Avanzata aggiunge dati e funzioni utilizzabili nei modelli.

## Preventivi per Posizioni

La funzione **Prodotti con Posizioni** produce:

- numero Posizione;
- nome e descrizioni di Prodotto/Servizio;
- quantità, prezzo e totale;
- subtotale di ciascuna Posizione se **Stampa Subtotali** è selezionato;
- pagina di riepilogo con totale, sconto, imposte, arrotondamento e totale globale.

La funzione **Singola Posizione per Prodotto** restituisce il titolo della Posizione associata a una specifica riga, per costruire modelli personalizzati.

Importi e totali devono essere esposti nella **valuta del documento**.

## PDF Fatture

Durante **Invia Mail**, il PDF viene creato con il modello scelto, allegato all’e-mail e archiviato come Documento **Fatture Inviate**.

## PDF Lavori

Alla creazione di un Lavoro il rapporto può essere generato con il modello scelto, archiviato in **Lavori Inviati** e inviato al cliente.

## Controlli consigliati

Prima dell’uso verificare modello corretto per modulo, logo, valuta, imposte, descrizioni, termini, firma, indirizzi, numerazione e nome del file.

> **📸 SCREENSHOT DA INSERIRE — PDF Preventivo per Posizioni**
>
> **Pagina da aprire:** anteprima PDF di un Preventivo  
> **Contenuto da mostrare:** due Posizioni, subtotali e riepilogo finale  
> **Evidenziare:** titolo e subtotale della Posizione  
> **Dati da usare:** importi dimostrativi  
> **Scopo:** verificare struttura e calcoli

> **📸 SCREENSHOT DA INSERIRE — PDF Lavoro firmato**
>
> **Pagina da aprire:** Documento PDF collegato al Lavoro  
> **Contenuto da mostrare:** ore, righe, descrizione e firma  
> **Evidenziare:** corrispondenza con il record  
> **Dati da usare:** firma dimostrativa  
> **Scopo:** validare il rapporto consegnato

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# 6. Automatismi e supporto

Aggiornamenti automatici, controlli, errori e domande frequenti.

# Automatismi e record collegati

> **BOZZA – Manuale in fase di verifica**

# Automatismi e record collegati

| Evento utente | Record aggiornati automaticamente | Risultato |
|---|---|---|
| Salvataggio Lavoro | Ticket | somma Ore Totali, giorni, eventuale stato Chiuso |
| Cambio relazione Lavoro | vecchio e nuovo Ticket/Operazione | entrambi ricalcolati |
| Eliminazione Lavoro | Ticket/Operazione/Pianificazione | ricalcolo e rinumerazione Lavori |
| Duplicazione Ticket | nuovo Ticket | dati di fatturazione, tariffa, ore e giorni azzerati |
| Salvataggio Ticket | Azienda collegata, Contratto, Operazione, Pianificazione | riallineamento relazioni, tariffa e consuntivi |
| Eliminazione Ticket | Lavori, Operazione, Pianificazione | Lavori eliminati logicamente e totali ricalcolati |
| Salvataggio Operazione | Pianificazione | ore pianificate, disponibilità e progresso |
| Generazione Proposta | Ticket | relazione proposta e Stato Fatturazione Proposta Fattura |
| Sospensione riga proposta | Ticket e Proposta | Ticket Sospeso, motivazione, righe rimosse; proposta eliminata se vuota |
| Generazione Fattura | Proposta e Ticket | entrambi Fatturato; scadenza calcolata |
| Salvataggio/eliminazione Fattura | vecchio e nuovo Ordine | totali fatturati e residuo |
| Creazione Saldo | Fattura e acconti | relazioni e possibile riga negativa |
| Invio Fatture | Fatture e Documenti | PDF archiviati; stato aggiornato solo dopo invio riuscito |
| Invio Lavoro | Lavoro e Documenti | PDF archiviato e collegato |

## Ordine dei controlli consigliato

Prima della fatturazione controllare cliente, stato Ticket, Stato Fatturazione, Lavori, righe, valuta, giorni pagamento e indirizzi. Dopo la generazione verificare relazioni, stati, scadenza, totali e Documenti.

## Modifiche di relazione

Quando un record viene spostato, il sistema ricalcola anche il precedente record collegato. Questa regola evita che ore o importi rimangano attribuiti al cliente, Ticket, Operazione, Pianificazione o Ordine sbagliato.

> **📸 SCREENSHOT DA INSERIRE — Effetti collegati**
>
> **Pagina da aprire:** relazioni di Ticket, Pianificazione, Ordine e Fattura  
> **Contenuto da mostrare:** valori prima e dopo un aggiornamento  
> **Evidenziare:** vecchio e nuovo record ricalcolati  
> **Dati da usare:** record dimostrativi  
> **Scopo:** verificare la coerenza trasversale

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Errori e risoluzione dei problemi

> **BOZZA – Manuale in fase di verifica**

# Errori e risoluzione dei problemi

| Messaggio o sintomo | Causa | Correzione |
|---|---|---|
| “Per Favore Compilare i Campi Titolo e Descrizione” | creazione rapida incompleta | compilare entrambi i campi |
| “L'installazione selezionata ha più di un Servizio a Contratto attivo” | relazione ambigua | lasciare un solo contratto attivo o creare il Ticket manualmente |
| “Attenzione compilare il campo Tariffa” | contratto Supporto a Consuntivo senza tariffa | valorizzare Tariffa |
| “Nessun ticket da mandare in proposta fattura” | nessun Ticket idoneo | verificare selezione e condizioni |
| Ticket non validi: Stato Chiuso / Stato Fatturazione Da Fatturare | stati errati | chiudere e impostare Da Fatturare |
| “Uno dei ticket selezionati non ha lavori collegati” | consuntivo assente | creare almeno un Lavoro |
| “Uno dei ticket selezionati ha dei lavori senza materiale o servizi da fatturare” | Lavoro vuoto | inserire Prodotto/Servizio o rimuovere il Lavoro |
| “Uno dei ticket selezionati non è relazionato ad una azienda o contatto” | cliente assente | correggere Relazionato a |
| “Uno o più ticket selezionati sono già relazionati ad una Proposta Fattura” | duplicazione | aprire la proposta esistente |
| “I valori selezionati per la proposta fattura hanno valuta differente” | valute diverse | raggruppare solo record della stessa valuta |
| Proposte non valide: Stato Approvato | proposta non approvata | controllare e approvare |
| Proposta già collegata a Fattura | fattura già generata | aprire la relazione esistente |
| Giorni pagamento mancanti | campo anagrafico vuoto | valorizzare Azienda/Contatto |
| “Nessun account mail configurato” | account predefinito assente | configurare l’account e-mail |
| Acconto superiore al residuo | importo non compatibile | ridurre importo o percentuale |
| Impossibile eliminare Fattura collegata come acconto | relazione attiva | rimuovere prima l’acconto dal saldo |
| Ora Fine precedente a Ora Inizio | intervallo errato | correggere gli orari |

## Controllo dopo un errore

Non ripetere subito la generazione senza verificare le relazioni: alcune operazioni possono avere creato parte dei record e il riepilogo indica numero di successi ed errori.

> **📸 SCREENSHOT DA INSERIRE — Errori principali**
>
> **Pagina da aprire:** finestre Proposta Fattura, Acconto/Saldo ed e-mail  
> **Contenuto da mostrare:** messaggi reali  
> **Evidenziare:** campo o stato da correggere  
> **Dati da usare:** casi dimostrativi  
> **Scopo:** riconoscere e risolvere il blocco

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Domande frequenti

> **BOZZA – Manuale in fase di verifica**

# Domande frequenti

## Perché un Ticket non compare nella Proposta Fattura?

Deve essere selezionato, **Chiuso**, **Da Fatturare**, collegato a un cliente, con almeno un Lavoro non vuoto e non già associato a una proposta.

## Perché le ore del Ticket sono cambiate?

Sono la somma automatica delle Ore Totali dei Lavori. Modifica, spostamento o eliminazione di un Lavoro attivano il ricalcolo.

## Posso inserire Ore Lavorate senza gli orari?

Sì. Se Ora Inizio e Ora Fine non sono presenti, Ore Lavorate può essere compilato; il totale aggiunge Trasferta e sottrae Ore non Conteggiate.

## Che differenza c’è fra Servizio a Contratto e Da Fatturare?

Il primo indica attività comprese in un contratto ordinario. **Da Fatturare** indica attività che devono entrare nel ciclo Proposta Fattura/Fattura, incluso Supporto a Consuntivo.

## Perché la scadenza Fattura è a fine mese?

Nell’Azienda o Contatto è selezionato **Fattura Fine Mese**: dopo aver aggiunto i giorni di pagamento, il sistema usa l’ultimo giorno di quel mese.

## A chi viene inviata la Fattura?

Prima ai Contatti **Responsabile Fatture**, poi a **Email Fatturazione**, infine all’e-mail principale dell’Azienda.

## Posso inviare più Fatture insieme?

Sì. Le Fatture dello stesso cliente sono raggruppate in un’unica e-mail con più PDF.

## Eliminando un Lavoro restano ore residue?

No: Ticket, Operazione e Pianificazione vengono ricalcolati; anche l’ordine dei Lavori viene ricostruito.

## Posso eliminare una Fattura usata come acconto?

Non direttamente. Va prima rimossa dalla Fattura di saldo che la utilizza.

## Posso usare Lavori al posto delle Commesse?

No. La Commessa organizza il progetto; il Lavoro registra un singolo consuntivo.

## Perché un testo standard non appare nel popup?

Sono selezionabili soltanto i Testi descrittivi o Termini e condizioni con stato **Attivo**.

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# 7. Versione e manutenzione

Versionamento, revisioni e note di manutenzione.

# Informazioni sulla versione documentata

> **BOZZA – Manuale in fase di verifica**

# Informazioni sulla versione documentata

| Voce | Valore verificato |
|---|---|
| Repository | https://github.com/Team-vtenext/Fatturazione-Avanzata |
| Branch produttiva analizzata | **21.10.2** |
| Commit finale analizzato | **a9156f4054548bc1db1c531077abb8695028ddcc** |
| Messaggio commit | aggiunto save commento vuoto su ticket per delete lavori |
| Autore commit | laghisimone |
| Data commit | 29 maggio 2026, 12:37:57 UTC |
| Versione dichiarata nel manifest | **21.10.3** |
| Versione vtenext richiesta | **23.08** |
| Data revisione manuale | 28 luglio 2026 |
| Stato manuale | **BOZZA – in fase di verifica funzionale e screenshot** |

## Perimetro

È stata analizzata esclusivamente la branch **21.10.2**, presa come riferimento produttivo. Non è stato usato master come riferimento funzionale e non è stato effettuato alcun confronto funzionale con master.

Il commit riportato è la testa della branch verificata al momento dell’analisi.

## Aggiornamenti futuri

Per una nuova revisione confrontare:

**a9156f4054548bc1db1c531077abb8695028ddcc...NUOVO_COMMIT**

e aggiornare le pagine coinvolte, il registro revisioni e il riferimento in fondo a ogni pagina.

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Registro aggiornamenti del manuale

> **BOZZA – Manuale in fase di verifica**

# Registro aggiornamenti del manuale

| Revisione | Data | Branch | Commit iniziale | Commit finale | Funzionalità aggiunte o modificate | Pagine aggiornate | Stato |
|---|---|---|---|---|---|---|---|
| 0.1 | 28/07/2026 | 21.10.2 | a9156f4054548bc1db1c531077abb8695028ddcc | a9156f4054548bc1db1c531077abb8695028ddcc | Prima analisi completa del pacchetto; struttura e contenuti operativi; placeholder screenshot; dubbi separati | Tutte | BOZZA – verifica richiesta |

## Regola per le revisioni successive

1. registrare commit iniziale e finale;
2. inventariare file e configurazioni modificati;
3. tradurre le differenze in comportamenti utente;
4. aggiornare solo le pagine coinvolte e i rimandi;
5. rieseguire la verifica di campi, pulsanti, stati, relazioni, e-mail, PDF ed errori;
6. sostituire in tutte le pagine il riferimento al nuovo commit;
7. non cambiare lo stato da bozza finché dubbi e screenshot non sono chiusi.

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.

# Note tecniche per la manutenzione del manuale

> **BOZZA – Pagina riservata alla manutenzione del manuale**

# Note tecniche per la manutenzione del manuale

Questa è l’unica pagina che riporta dettagli tecnici. Non deve essere usata come procedura utente.

## Sorgente analizzata

- Branch esclusiva: 21.10.2
- HEAD: a9156f4054548bc1db1c531077abb8695028ddcc
- Pacchetto principale e quattro archivi modulo estratti
- 154 file inventariati
- Aree controllate: manifest, moduli, lingue italiane, template, JavaScript, AJAX, eventi, pre/post salvataggio, personalizzazioni SDK, campi, relazioni, pulsanti, eliminazione, duplicazione, PDF, e-mail, configurazioni e picklist.

## Moduli bundle

Jobs, ProformaInvoice, TextDescription, TextsTermsConditions.

## Fatti verificati

- Le etichette italiane dei moduli aggiuntivi sono Lavori, Proposta Fattura, Testo Descrizione e Testo Termini Condizioni.
- Il manifest dichiara versione 21.10.3 e dipendenza vtenext 23.08.
- Il pulsante Fattura Pianificazioni è commentato e non è documentato come attivo.
- I sorgenti per creare Proposte Fattura da Ordini di vendita sono presenti nella branch ma non inclusi nel manifest e non registrati come comando: non sono documentati come funzione attiva.
- La creazione di Proposte da Ticket e di Fatture da Proposte è registrata come comando di lista.
- Invio Fatture, Acconto/Saldo, ricalcoli Lavori/Ticket e testi popup sono registrati e richiamati.
- SuspendTicket.js richiama una risorsa non inclusa; la sospensione effettiva è comunque gestita al salvataggio della proposta.
- L’uso interattivo dei popup Testo Descrizione e Testo Termini Condizioni è dimostrato. L’automatismo separato previsto per Processi e modifica massiva aggiorna la Descrizione quando cambia il testo collegato; nel ramo Termini e condizioni il collegamento usa il riferimento del Testo Descrizione invece di quello dei Termini e deve essere collaudato/corretto.
- Una personalizzazione di eliminazione per Contratti di servizio contiene istruzioni incomplete; non è stata trasformata in comportamento operativo.

## Deduzioni ragionevoli mantenute in bozza

- Il valore finale dei Giorni Ticket è quello ricalcolato con le ore/giorno configurate, predefinite a 8.
- I comandi Crea Ticket/Crea Lavoro appaiono nel dettaglio dei moduli configurati attraverso campi-pulsante.
- Lo stato iniziale delle Fatture create automaticamente è impostato, ma l’etichetta italiana standard non è contenuta nel pacchetto.

## Decisioni funzionali confermate

- Le stampe per Posizioni devono usare la valuta del documento. Nel sorgente analizzato la funzione PDF personalizzata contiene ancora riferimenti fissi a CHF: si tratta di una discrepanza tecnica da verificare/correggere per documenti in altre valute.

## Dubbi puntuali da chiudere

1. **Pianificazioni Preventivo:** quale etichetta italiana vede l’utente per il valore interno “Project” nello Stato Fatturazione del Ticket?
2. **Fatture automatiche:** quale etichetta italiana è mostrata per lo stato iniziale interno “AutoCreated”?
3. **Testi e Processi:** viene effettivamente utilizzata in produzione la selezione di Testo Descrizione o Testo Termini Condizioni dentro un Processo o una modifica massiva? Se sì, il Testo Descrizione viene copiato nella Descrizione e il Testo Termini Condizioni nei Termini?

## Checklist revisione finale

- [x] Manifest e dipendenze
- [x] Moduli aggiuntivi e standard estesi
- [x] Campi e picklist italiane del pacchetto
- [x] Pulsanti e finestre attive
- [x] Calcoli e arrotondamenti
- [x] Aggiornamenti di record vecchi e nuovi
- [x] Eliminazione e duplicazione
- [x] Proposte, Fatture, acconti e saldi
- [x] Invio e-mail, Documenti e PDF
- [x] Messaggi e blocchi
- [x] Funzioni presenti ma non dimostrate attive separate dal manuale definitivo
- [ ] Conferme sui cinque dubbi
- [ ] Inserimento screenshot reali

---

> **Riferimento documentazione:** branch `21.10.2`, commit `a9156f4054548bc1db1c531077abb8695028ddcc`.