Sviluppiamo moduli PrestaShop per B2B e IVA UE e gestiamo direttamente negozi nell'UE; i nomi degli oggetti e i percorsi del back office qui sotto sono aggiornati per PrestaShop 1.6/1.7/8/9.
Non tutti i clienti dovrebbero vedere lo stesso prezzo. Un acquirente all'ingrosso che ordina 500 unità si aspetta una cifra diversa da quella di un cliente al dettaglio al primo acquisto, e un rivenditore di lunga data si aspetta ancora un altro trattamento. L'istinto di molti commercianti, qui, è quello sbagliato: duplicare il prodotto, creare un secondo negozio "professionale" o inserire sconti codificati in modo rigido in qualche punto fragile. PrestaShop risolve già questo scenario in modo nativo con i gruppi clienti. Un livello di segmentazione integrato che permette a un solo catalogo di mostrare prezzi diversi, categorie diverse e opzioni di pagamento diverse a persone diverse, in base al gruppo a cui appartiene il cliente registrato. Questa guida riguarda proprio questo meccanismo: come i gruppi determinano il prezzo visto dal cliente, come si risolve davvero la logica tra sconto e prezzo specifico, e dove i gruppi smettono di essere sufficienti.
Se stai facendo un passo indietro e ti stai chiedendo "come posso gestire il B2B su PrestaShop in generale", parti da vendere B2B su PrestaShop, questo articolo presuppone che tu abbia già scelto i prezzi basati sui gruppi come strumento e voglia configurarli nel modo giusto.
Che cosa controlla davvero un gruppo clienti
Un gruppo clienti in PrestaShop è un segmento che gestisci da Parametri negozio → Impostazioni clienti → Gruppi. Ogni account cliente è associato ad almeno un gruppo, e la maggior parte delle regole di prezzo e visibilità si aggancia al gruppo, non al singolo cliente. PrestaShop definisce tre gruppi predefiniti, e vale la pena capire esattamente cosa significano, perché due di essi non sono "clienti" nel senso che potresti immaginare:
- Visitatore, chiunque navighi senza aver effettuato l'accesso. Il prezzo visto da un visitatore anonimo è il prezzo del gruppo Visitatore. Questo dettaglio mette in difficoltà molti: cambi le impostazioni di Visitatore e cambi ciò che vede ogni passante, compresi i bot dei motori di ricerca.
- Ospite. Un cliente che ha completato l'acquisto senza creare un account (acquisto come ospite).
- Cliente, il gruppo predefinito per chi registra un account normale.
Puoi poi aggiungere tutti i gruppi personalizzati necessari alla tua attività, Grossisti, VIP, Personale, Distributore regionale, ciascuno con il proprio sconto, la propria regola di visualizzazione dei prezzi e il proprio accesso alle categorie; inoltre, la maggior parte dei moduli di pagamento può essere limitata per gruppo dalla schermata delle restrizioni/preferenze di pagamento. Il punto pratico è questo: un solo negozio PrestaShop, un solo catalogo prodotti, un solo magazzino, ma un'esperienza che si adatta a ogni acquirente. Nessun secondo negozio da tenere sincronizzato, nessun codice SKU duplicato che finisce per disallinearsi.
I due modi in cui un gruppo cambia un prezzo, e come vengono risolti
PrestaShop offre a un gruppo due leve diverse sul prezzo, e la principale fonte di confusione del tipo "perché questo cliente vede il numero sbagliato" è non capire che si combinano secondo un ordine definito.
1. Lo sconto di gruppo generale (il pennello largo)
In Parametri negozio → Impostazioni clienti → Gruppi, apri un gruppo e troverai un campo Sconto %. Imposta Grossisti al 20% e ogni prodotto del catalogo verrà mostrato automaticamente con il 20% in meno a chi appartiene a quel gruppo, senza interventi prodotto per prodotto. È il livello rapido, valido per tutto il negozio: perfetto per "tutti i nostri clienti professionali hanno il 15% di sconto su tutto". Si applica come riduzione sul prezzo base e viene ricalcolato in tempo reale, quindi segue automaticamente le variazioni di prezzo.
2. Prezzi specifici (il bisturi)
In qualsiasi prodotto, la scheda Prezzi contiene una sezione Prezzi specifici (l'oggetto sottostante è SpecificPrice, e lo stesso motore alimenta le regole prezzo catalogo in Catalogo → Sconti). Qui puoi dire: per il gruppo Grossisti, questo prodotto ha un prezzo fisso di €12,00, oppure ha il 30% di sconto, eventualmente solo sopra una quantità di 50, solo tra due date, oppure solo per una valuta o un Paese. È così che concedi ai grossisti il 30% di sconto sull'elettronica ma solo il 10% sugli accessori. Un controllo che lo sconto generale non può esprimere.
Come si combinano
Ecco la versione pratica: uno sconto generale di gruppo e i prezzi specifici di un prodotto sono due meccanismi separati, e la loro interazione dipende dal tipo di riduzione, dalla quantità, dalla riduzione di gruppo/categoria e dalla tua versione di PrestaShop. I prezzi specifici hanno una loro priorità tra le righe di prezzo specifico corrispondenti, quella priorità decide quale prezzo specifico si applica, ma non annulla universalmente una riduzione di gruppo. Poiché il numero finale dipende da tutti questi fattori, la regola sicura è testare le sovrapposizioni con un carrello reale invece di presumere un ordine fisso. Ecco perché conta nella pratica:
| Scenario | Sconto di gruppo | Prezzo specifico sul prodotto | Cosa paga il gruppo Grossisti |
|---|---|---|---|
| Solo livello generale | 20% di sconto su tutto | , | Base − 20% |
| Prodotto con offerta più forte | 20% di sconto su tutto | Grossisti: 30% di sconto su questo prodotto | Verifica con un carrello di prova, il prezzo specifico corrispondente determina il prezzo di quel prodotto |
| Prezzo contrattuale fisso | 20% di sconto su tutto | Grossisti: €12,00 fisso | €12,00 fissi, indipendentemente dalla base |
| Scaglione quantità | 20% di sconto su tutto | Grossisti: 10% extra da quantità 100 | Verifica con un carrello di prova, lo sconto di gruppo sovrapposto e il prezzo specifico per quantità devono essere controllati in base alla configurazione/versione |
I risultati sopra non sono garantiti da una formula fissa: ogni volta che uno sconto di gruppo e un prezzo specifico per quantità o per prodotto si sovrappongono, conferma il prezzo finale con un cliente e un carrello di prova sulla tua installazione prima di pubblicarlo agli acquirenti.
Se vuoi vedere quali righe di prezzo specifico esistono già per un gruppo prima di passare ai test nel carrello, utile quando un prezzo "salta fuori dal nulla", questa query in sola lettura elenca ogni prezzo specifico collegato a un gruppo clienti (id_group 0 significa "tutti i gruppi"). Eseguila su un backup o su una replica in lettura:
-- Read-only: specific prices scoped to a customer group.
-- id_group = 0 means the rule applies to ALL groups.
-- reduction_type: 'amount' = fixed off, 'percentage' = % off; price >= 0 = a set price.
SELECT sp.id_specific_price,
sp.id_product,
gl.name AS group_name,
sp.from_quantity,
sp.price,
sp.reduction,
sp.reduction_type,
sp.priority,
sp.`from`, sp.`to`
FROM ps_specific_price sp
LEFT JOIN ps_group_lang gl
ON gl.id_group = sp.id_group
AND gl.id_lang = 1 -- your default language id
WHERE sp.id_group <> 0
ORDER BY sp.id_product, sp.from_quantity;
Questo ti mostra le righe; non ti dice comunque il prezzo risolto per un determinato carrello, perché la priorità e lo sconto di gruppo attivo interagiscono al momento della visualizzazione. La query serve per fare inventario, il carrello di prova serve per sapere la verità.
Quindi, in pratica? Imposta una volta lo sconto generale di gruppo per la base "tutti in questo livello", e usa i prezzi specifici solo quando un prodotto deve uscire dallo schema. Se provi a codificare ogni contratto come prezzo specifico prodotto per prodotto, finirai per mantenere centinaia di righe a mano, ed è proprio il muro contro cui si chiude questo articolo.
Visibilità delle categorie per gruppo, un superpotere più discreto
I gruppi non spostano solo i prezzi; decidono anche cosa un cliente può persino vedere. Modifica una categoria in Catalogo → Categorie, apri le caselle Accesso gruppo e deseleziona i gruppi che non dovrebbero vederla. Una categoria "Solo grossisti" con confezioni multiple e quantità su pallet semplicemente non esiste per i clienti al dettaglio, scompare dal menu, e anche i prodotti che vivono solo in categorie nascoste spariscono dai risultati di ricerca e dagli elenchi per quei gruppi.
Il vantaggio è una vetrina pulita senza gestire negozi paralleli: i visitatori al dettaglio non vedono mai le casse da 24 unità che li confonderebbero, mentre gli acquirenti professionali atterrano direttamente nel catalogo costruito per loro. L'attenzione da avere: un prodotto deve comunque essere visibile ad almeno un gruppo a cui appartiene il cliente, altrimenti scompare, quindi, quando un prodotto misteriosamente non compare, l'accesso alle categorie del gruppo Visitatore è la prima cosa da controllare.
Metodi di pagamento per gruppo
La maggior parte dei moduli di pagamento PrestaShop espone una restrizione per gruppo in Pagamento → Preferenze (la matrice "Restrizioni per gruppo"), permettendoti di decidere quali gruppi possono usare quali metodi. La mossa B2B più comune: consentire ai Grossisti di pagare con bonifico bancario o a credito, e nascondere loro il pagamento con carta per evitare di assorbire commissioni su ordini a cinque cifre, mentre il dettaglio mantiene tutte le opzioni rapide. Permettere ai clienti professionali di acquistare ora e saldare più tardi è un tema a sé; ne spieghiamo la meccanica in termini di pagamento differito per clienti aziendali, e il modulo che limita il metodo a credito a un gruppo, impone limiti di credito e traccia i saldi è il nostro B2B Deferred Payment Terms.
Come un cliente finisce nel gruppo giusto

Un singolo cliente può appartenere a più gruppi, ma ha esattamente un gruppo predefinito, impostato nel suo profilo in Clienti → Clienti, che determina la visualizzazione del prezzo di base. Quando un cliente appartiene a più di un gruppo, la priorità dei prezzi specifici decide tra le righe di prezzo specifico corrispondenti, mentre il gruppo predefinito guida la visualizzazione dei prezzi e il comportamento di gruppo di base. Per questo vale la pena testare esplicitamente l'appartenenza a più gruppi: assegna il gruppo aggiuntivo, poi accedi come cliente di prova e conferma che il prezzo previsto sia quello effettivamente mostrato.
Assegnare i gruppi a mano va bene per pochi account professionali. Smette di andare bene nel momento in cui approvi clienti aziendali in quantità, a quel punto vuoi che richiesta, verifica e assegnazione al gruppo siano un unico flusso di lavoro, non tre passaggi manuali. È un tema collegato, con una profondità propria: vedi richieste di account professionale per verificare un'azienda prima di concederle prezzi all'ingrosso. Se vendi oltre confine, un numero di partita IVA UE convalidato può spostare automaticamente il cliente nel gruppo giusto. È il compito del nostro Automatic EU VAT Checker, che inserisce un'azienda verificata tramite VIES direttamente nel gruppo corretto.
Una cosa che i gruppi NON decidono da soli: la visualizzazione delle imposte
È facile trattare "mostrare prezzi netti ai grossisti" come una semplice impostazione di gruppo in più, e PrestaShop espone effettivamente un Metodo di visualizzazione dei prezzi (imposte incluse / imposte escluse) per gruppo. Ma gestire correttamente netto e lordo nel B2B richiede più che attivare quell'interruttore: interagisce con le regole fiscali del Paese, con la logica dei prezzi mostrati tra pagine prodotto e carrello, e con la gestione dell'esenzione IVA. Invece di coprirlo a metà qui e contraddire la guida dedicata, il trattamento completo è in prezzi netti e prezzi lordi: cambio della visualizzazione fiscale, mentre il lato automatizzato del numero IVA è in il controllo IVA UE. Imposta il metodo di visualizzazione del gruppo, poi segui quelle guide per le parti che creano problemi.
Una checklist pratica di configurazione
- Mantieni basso il numero di gruppi, da 3 a 5. Ogni gruppo moltiplica la superficie da testare (prezzo, visibilità, pagamento, visualizzazione fiscale). Alla maggior parte dei negozi servono Dettaglio, uno o due livelli professionali, e magari Personale. Resisti alla tentazione di creare un gruppo per ogni cliente.
- Usa lo sconto di gruppo per il livello, i prezzi specifici per le eccezioni. Prima il pennello largo, poi il bisturi, non centinaia di righe costruite a mano.
- Riserva le regole carrello alle promozioni a tempo. I gruppi sono una struttura permanente di prezzo; una vendita stagionale appartiene a Catalogo → Sconti → Regole carrello, non dentro uno sconto di gruppo che ti dimenticherai di rimuovere.
- Testa come un account reale di quel gruppo. Crea un cliente di prova, assegna il gruppo, accedi normalmente e verifica il prezzo, le categorie visibili e le opzioni di pagamento. Se hai installato un modulo affidabile per impersonare i clienti, bastano pochi clic, ma un normale account di prova funziona ovunque.
- Annota la struttura. Una volta che i prezzi specifici si sovrappongono tra gruppi, diventa davvero difficile prevedere un numero a memoria, tieni una breve mappa gruppo → sconto → prezzi specifici degni di nota.
Dove i gruppi clienti smettono di bastare
I gruppi sono pensati per i livelli: fasce di clienti che condividono un prezzo. Sono poco adatti ai prezzi per singolo cliente. La classica situazione B2B in cui ogni rivenditore ha tariffe negoziate individualmente su gamme di prodotti diverse. Puoi esprimerlo con prezzi specifici a livello cliente, ma significherebbe mantenere una riga SpecificPrice per ogni cliente e per ogni prodotto, a mano, per sempre. Con qualche decina di contratti è noioso; con centinaia diventa un lavoro a tempo parziale e una fonte di errori di prezzo che costano denaro reale.
Questo è il confine onesto del sistema nativo: i gruppi ti danno livelli di prezzo puliti e a bassa manutenzione, e sono la risposta giusta per la maggior parte dei negozi, ma se il tuo modello è davvero "ogni account ha il proprio listino", hai superato ciò che i gruppi da soli gestiscono comodamente, e il costo di manutenzione diventa il fattore decisivo. Prima di costruire tutto questo, vale la pena mettere alla prova l'idea che un numero più ridotto di gruppi ben progettati, più una manciata di prezzi specifici, ti porti al 90% del risultato con un decimo della manutenzione. La maggior parte dei negozi scopre che è così.
I gruppi clienti sono una delle funzionalità più discretamente potenti di PrestaShop: un solo catalogo, un solo magazzino e una vetrina che adatta prezzi, categorie e opzioni di pagamento in base a chi ha effettuato l'accesso. Metti in chiaro la logica tra sconto di gruppo e prezzo specifico, mantieni disciplinato il numero di gruppi, e affida visualizzazione fiscale e verifica dei clienti professionali alle guide costruite per quei temi, così ottieni un livello di prezzi B2B che lavora per te, invece di costringerti a rincorrerlo.
Domande frequenti
Qual è la differenza tra uno sconto di gruppo e un prezzo specifico?
Lo Sconto % del gruppo (sul gruppo stesso) è una riduzione ampia, valida in tutto il negozio, per tutti i clienti di quel livello, imposta Grossisti al 20% e l'intero catalogo mostra il 20% in meno a quel gruppo. Un Prezzo specifico (nella scheda Prezzi di un prodotto) è una regola per singolo prodotto che può impostare un prezzo fisso o una riduzione diversa, eventualmente limitata a un gruppo, una quantità, date, valuta o Paese. Usa lo sconto di gruppo per il livello di base e i prezzi specifici solo per le eccezioni.
Se un gruppo ha uno sconto del 20% e un prodotto ha anche un prezzo specifico del 30% per quel gruppo, quanto paga il cliente?
Non presumere una formula fissa, il risultato dipende dai tipi di riduzione, dalla quantità, dalla riduzione di gruppo/categoria e dalla tua versione di PrestaShop, e la priorità dei prezzi specifici decide tra le righe corrispondenti invece di annullare universalmente lo sconto di gruppo. La risposta affidabile è accedere come cliente di prova in quel gruppo e controllare il prezzo in un carrello reale prima di pubblicarlo.
Perché un cliente non vede un prodotto a cui ho assegnato il prezzo del suo gruppo?
La visibilità è separata dal prezzo. Un prodotto deve essere visibile ad almeno un gruppo a cui appartiene il cliente (impostazione per categoria in Catalogo → Categorie → Accesso gruppo), e un prodotto presente solo in categorie nascoste sparisce anche dalla ricerca e dagli elenchi. Quando un prodotto non compare, controlla l'accesso di gruppo della categoria, e per primo l'accesso del gruppo Visitatore.
Un cliente è nel mio gruppo Grossisti ma vede ancora i prezzi al dettaglio. Che cosa non va?
La visualizzazione dei prezzi e il comportamento di base seguono il gruppo predefinito del cliente, non qualunque gruppo a cui è assegnato. Se il suo predefinito è ancora il gruppo Cliente/dettaglio, vedrà i prezzi al dettaglio e la visualizzazione lorda anche se è associato anche a Grossisti. Imposta Grossisti come gruppo predefinito nel suo profilo e riprova con quell'account.
Posso dare a ogni rivenditore un listino negoziato individualmente usando i gruppi?
I gruppi sono pensati per livelli condivisi, non per listini per singolo account. Puoi esprimere prezzi individuali con prezzi specifici a livello cliente, ma significa una riga SpecificPrice per ogni cliente e per ogni prodotto, mantenuta a mano, gestibile per qualche decina di contratti, un lavoro a tempo parziale e una fonte di errori con centinaia. Se questo è davvero il tuo modello, hai superato i gruppi nativi; prima verifica se pochi gruppi ben progettati più una manciata di prezzi specifici coprono la maggior parte dei casi.