# 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`.