# Richiesta Preventivo B2B — Guida completa

> Panoramica Il modulo Richiesta Preventivo B2B (dfb2bquote) aggiunge un vero circuito di vendita su preventivo al tuo negozio PrestaShop. Un pulsante « Preventivo » sostituisce o completa l'aggiungi al carrello:…

- Pagina: <https://www.datafirefly.com/it/documentation/dfb2bquote/>
- Lingua: it
- Aggiornato il: 2026-06-27
- Altre lingue: [fr](https://www.datafirefly.com/documentation/dfb2bquote/index.md), [en](https://www.datafirefly.com/en/documentation/dfb2bquote/index.md), [es](https://www.datafirefly.com/es/documentation/dfb2bquote/index.md), [de](https://www.datafirefly.com/de/documentation/dfb2bquote/index.md), [pl](https://www.datafirefly.com/pl/documentation/dfb2bquote/index.md), [pt](https://www.datafirefly.com/pt/documentation/dfb2bquote/index.md), [nl](https://www.datafirefly.com/nl/documentation/dfb2bquote/index.md)
- Indice: <https://www.datafirefly.com/it/documentation/llms.txt>

## Panoramica

Il modulo **Richiesta Preventivo B2B** (`dfb2bquote`) aggiunge un vero circuito di vendita su preventivo al tuo negozio PrestaShop. Un pulsante **« Preventivo »** sostituisce o completa l'aggiungi al carrello: i tuoi clienti professionali creano la loro richiesta in un **carrello preventivo dedicato**, la inviano, e tu riprendi il controllo nel back-office per **negoziare i prezzi riga per riga**, applicare uno sconto, fissare una validità e generare un **PDF** nello stile del tuo negozio. Una volta che il cliente accetta il preventivo, un clic lo **converte in un ordine reale** con i prezzi negoziati congelati.

Pensato per il B2B e la vendita su misura: grossisti, forniture professionali, grandi volumi, prodotti configurabili. Il percorso d'acquisto classico dei tuoi clienti privati resta intatto: il pulsante Preventivo può sostituire l'acquisto o semplicemente affiancarsi ad esso.

## Compatibilità

- PrestaShop 8.0 a 9.x
- PHP 7.4 a 8.3
- Mononegozio e multinegozio
- Multilingue (stati tradotti, email incluse in FR e EN)
- Tema Classic e temi personalizzati (il pulsante viene iniettato anche se il tema non richiama l'hook)
- Nessuna dipendenza (né Composer né framework)

## Installazione

1. Nel back-office, apri **Moduli > Gestore dei moduli**.
2. Clicca su **Carica un modulo** e seleziona il file `dfb2bquote.zip`.
3. Una volta installato, clicca su **Configura**.

All'installazione, il modulo crea le sue tabelle (preventivi, righe, stati, carrello preventivo, cronologia), inizializza i **sette stati** predefiniti, registra i suoi hook (scheda prodotto, intestazione, area cliente, autenticazione) e aggiunge la scheda **Preventivi** sotto _Ordini_ nel menu di amministrazione. Un link **I miei preventivi** appare nell'area cliente.

## Configurazione

### Pulsante e visualizzazione

- **Attivare il modulo**: attiva o disattiva l'intero circuito preventivo sul front.
- **Modalità del pulsante**: _Sostituzione_ (il pulsante Preventivo prende il posto dell'aggiungi al carrello, per un negozio 100 % su preventivo) o _Complemento_ (il pulsante si affianca all'acquisto classico, per servire sia B2C sia B2B).
- **Etichetta del pulsante**: testo mostrato sul pulsante (« Preventivo », « Richiedi un prezzo »…).
- **Nascondere i prezzi**: nasconde i prezzi di catalogo sul front, per una logica interamente su preventivo.
- **Gruppi di clienti**: lascia vuoto per mostrare il pulsante a tutti, o seleziona i gruppi (ad esempio i tuoi gruppi professionali) per riservarlo al B2B.

### Richiesta e regole

- **Consentire gli ospiti**: permette a un visitatore non connesso di inviare una richiesta indicando i suoi dati (nome, email, azienda, telefono). Disattiva per accettare solo clienti connessi.
- **Importo minimo**: soglia netta richiesta per inviare una richiesta.
- **Validità (giorni)**: periodo di validità applicato per impostazione predefinita ai preventivi.
- **Mostrare il link « I miei preventivi »**: mostra l'indicatore di preventivo e il link di accesso nell'intestazione.

### Conversione e documenti

- **Email amministratore**: indirizzo che riceve la notifica a ogni nuova richiesta.
- **Stato dell'ordine alla conversione**: stato applicato all'ordine generato alla conversione di un preventivo accettato.
- **Condizioni (CGV)**: testo mostrato in fondo al PDF del preventivo.

## Utilizzo — lato cliente

### Richiedere un preventivo

Sulla scheda prodotto e nelle liste, il cliente clicca sul pulsante **Preventivo**. Il prodotto (e la sua declinazione) viene aggiunto al suo **carrello preventivo**, indipendente dal carrello d'acquisto. Un indicatore « Il mio preventivo » si aggiorna nell'intestazione.

### Il carrello preventivo

Sulla pagina del carrello preventivo, il cliente regola le quantità, rimuove righe, aggiunge un messaggio e invia la sua richiesta. Se non è connesso e la modalità ospite è consentita, indica i suoi dati. All'invio, il preventivo viene creato con lo stato **Nuova richiesta** e una notifica viene inviata al tuo team.

Il carrello preventivo è associato alla sessione del visitatore e **persiste tra le pagine**. All'accesso, un carrello creato come ospite viene automaticamente **trasferito** all'account cliente.

### L'area « I miei preventivi »

Dal suo account, il cliente trova l'elenco dei suoi preventivi con il loro stato. Nel dettaglio di un preventivo, consulta le righe e i totali, **scarica il PDF**, e una volta che il preventivo gli è stato inviato, può **accettarlo** o **rifiutarlo**. Un ospite accede al suo preventivo tramite un link protetto da una chiave univoca.

## Utilizzo — back-office

### Elenco dei preventivi

La scheda **Preventivi** (sotto _Ordini_) elenca tutte le richieste con il loro riferimento, il cliente, un badge di stato colorato, il totale netto e la data. Un clic apre la schermata di gestione.

### Negoziare il preventivo

Nella schermata di dettaglio, per ogni riga, viene richiamato il **prezzo di catalogo** e tu inserisci il **prezzo negoziato netto**. Puoi anche:

- applicare uno **sconto globale** come importo netto o percentuale;
- aggiungere **spese di spedizione indicative**;
- inserire un **messaggio per il cliente**;
- fissare o regolare la **data di validità**.

### Stato e notifica

Tu cambi lo **stato** del preventivo e, spuntando **Notifica il cliente**, attivi l'invio di un'email. Porta il preventivo a **Preventivo inviato** affinché il cliente possa accettarlo dalla sua area. Tutta la cronologia degli stati viene conservata, con marca temporale.

### Convertire in ordine

Quando il preventivo è **Accettato**, appare il pulsante **Converti in ordine**. La conversione crea un carrello, applica ogni prezzo negoziato tramite uno `SpecificPrice` associato a quel carrello, aggiunge l'eventuale sconto globale tramite una regola carrello (`CartRule`), poi crea l'ordine tramite `validateOrder` con lo stato configurato.

I prezzi specifici e le regole temporanee vengono **puliti automaticamente** dopo la creazione dell'ordine: il tuo catalogo non viene mai modificato, e l'ordine riporta esattamente gli importi negoziati.

## Gli stati del preventivo

- **Nuova richiesta**: preventivo ricevuto, da trattare.
- **In corso**: in preparazione sul lato negozio.
- **Preventivo inviato**: trasmesso al cliente, che può accettarlo o rifiutarlo.
- **Accettato**: validato dal cliente, pronto per la conversione in ordine.
- **Rifiutato**: declinato dal cliente.
- **Scaduto**: data di validità superata.
- **Convertito in ordine**: trasformato in un ordine reale.

## FAQ e risoluzione dei problemi

### Il pulsante « Preventivo » non si mostra

Verifica che il modulo sia attivato, che il visitatore appartenga a un gruppo autorizzato (se hai limitato la visualizzazione), e svuota la cache di PrestaShop. Il modulo sa iniettare il pulsante anche se il tuo tema non richiama l'hook della scheda prodotto; in caso di tema molto personalizzato, verifica la presenza del contenitore d'acquisto.

### Pagina bianca o errore « JSON non valido » all'aggiunta

Svuota la cache (Parametri avanzati > Prestazioni) e, durante i test, disattiva la combinazione/compressione dei file (CCC). Le risposte AJAX del modulo sono JSON rigoroso, restituito direttamente per restare compatibile con PrestaShop 9.

### I prezzi non vengono nascosti

Attiva l'opzione **Nascondere i prezzi**. A seconda del tema, alcune posizioni di prezzo molto specifiche possono richiedere un adattamento; il modulo nasconde le posizioni standard di PrestaShop.

### Il cliente non può accettare il suo preventivo

L'accettazione e il rifiuto sono possibili solo quando il preventivo è allo stato **Preventivo inviato**. Porta il preventivo a questo stato dal back-office.

### Le email non vengono ricevute

Verifica l'indirizzo indicato in **Email amministratore** e la configurazione email di PrestaShop (Parametri avanzati > E-mail). I modelli sono forniti in francese e inglese e restano personalizzabili.

### È compatibile con PrestaShop 9 e multinegozio?

Sì. Il modulo è compatibile con PrestaShop 8 e 9, sia in mononegozio sia in multinegozio. I preventivi sono associati al negozio e alla lingua del cliente.
