Sviluppiamo moduli IVA UE e B2B per PrestaShop e gestiamo i nostri negozi UE, quindi i percorsi di back office indicati qui sotto sono quelli che usiamo ogni giorno. Considera ogni punto fiscale o normativo come indicazione generale e verifica i dettagli con il tuo commercialista.
Ecco la trappola in cui cadono molti commercianti PrestaShop con il B2B: pensano che sia una funzione da attivare. Non lo è. Il B2B è una diversa tipologia di cliente che passa attraverso lo stesso negozio, qualcuno che acquista a cartoni, riconcilia l'ordine con una fattura 30 giorni dopo, si aspetta di vedere i prezzi senza IVA e inserisce un numero di ordine d'acquisto fornito dall'amministrazione. Non c'è nulla di esotico; è semplicemente commercio nel modo in cui le aziende lo hanno sempre gestito. PrestaShop può farlo bene, ma la piattaforma è nata prima di tutto per il B2C, e le parti B2B sono sparse tra una mezza dozzina di schermate di configurazione e alcuni compiti che il core semplicemente non svolge. Questa guida è la mappa: cosa cambia davvero tra B2C e B2B, cosa gestisce PrestaShop nativamente e dove ogni lacuna va colmata, con un link all'approfondimento per ogni elemento, così puoi scendere nel dettaglio quanto ti serve.
B2C vs B2B su PrestaShop: cosa cambia davvero
Prima di qualsiasi configurazione, è utile vedere i due tipi di cliente fianco a fianco. Lo stesso catalogo, lo stesso pagamento, la stessa amministrazione, ma quasi ogni presupposto si ribalta:
| Dimensione | B2C (PrestaShop predefinito) | B2B | Dove si risolve |
|---|---|---|---|
| Visualizzazione dei prezzi | IVA inclusa (lordo) | IVA esclusa (netto). L'IVA è detraibile, quindi ragionano sul valore netto | Impostazione del gruppo clienti + un selettore lato pubblico |
| Modello di prezzo | Un prezzo per tutti | A scaglioni in base al volume, spesso negoziato per singolo account | Prezzi specifici + gruppi clienti |
| Pagamento | Carta / portafoglio digitale al pagamento | Pagamento su fattura, termini a 30/60/90 giorni, limite di credito | Un modulo per pagamenti differiti (il core non offre nulla) |
| Fiscalità transfrontaliera | Addebitata in base alla destinazione | Aliquota zero per partite IVA UE valide (reverse charge) | Validazione VIES + esenzione fiscale |
| Accesso | Immediato alla registrazione | Verificato, confermi prima che sia una vera azienda | Un flusso di approvazione per account aziendali |
| Ritmo degli ordini | Acquisti una tantum | Ordini ricorrenti, quantità minime, riordino rapido | Sconti per quantità + riordino dalla cronologia ordini |
Quindi cosa significa per te? Non devi ricostruire il negozio. Devi aggiungere una seconda modalità che vive accanto a quella B2C, guidata quasi interamente dal sistema dei gruppi clienti di PrestaShop, e collegare le poche lacune lasciate aperte dal core. L'errore che costa caro ai commercianti è aggiungere l'ingrosso a un negozio B2C come ripensamento, una singola impostazione globale cambiata qui, un prezzo manuale sovrascritto là, finché le due modalità iniziano a contraddirsi. Strutturalo con intenzione e resterà pulito.
Primo passo: attiva la modalità B2B integrata di PrestaShop
Vai su Parametri negozio → Impostazioni clienti (nella 1.6 si trova in Clienti → Impostazioni) e attiva Abilita modalità B2B. È un singolo interruttore, e fa meno di quanto suggerisca il nome, ma è il punto di partenza corretto. Una volta abilitata, la modalità B2B espone campi aziendali aggiuntivi come SIRET, APE, sito web e un importo massimo scoperto autorizzato (un tetto di credito per cliente che altre funzioni possono leggere). Un campo azienda/indirizzo potrebbe già esistere a seconda del modulo, della versione e del tema, la modalità B2B aggiunge soprattutto i campi dell'account aziendale sopra a questo.
Sii chiaro su cosa questo interruttore fa e non fa. Espone campi e un valore di limite credito; non applica regole, non valida una partita IVA, non cambia un singolo prezzo e non limita l'accesso. Sono campi dati passivi in attesa della logica che costruisci intorno. Attivalo, poi considera tutto ciò che segue come la vera configurazione B2B.
Gruppi clienti: la spina dorsale di tutto
Se devi portarti via una sola idea architetturale da questa guida, è questa: in PrestaShop, il B2B è un problema di gruppi. Visualizzazione fiscale, livello di sconto, possibilità di mostrare o meno i prezzi, metodi di pagamento disponibili. La maggior parte di queste decisioni può essere presa per gruppo clienti (l'accesso ai corrieri non è un'impostazione nativa per gruppo; richiede la configurazione dei corrieri o un modulo, a seconda del tuo assetto). Crea correttamente i gruppi e il resto della configurazione B2B si aggancerà a loro in modo naturale.
Crea i gruppi in Parametri negozio → Impostazioni clienti → Gruppi. Le tre impostazioni importanti per il B2B sono Metodo di visualizzazione prezzo (imposta IVA esclusa per i gruppi aziendali), Sconto (una percentuale fissa valida per tutto il gruppo, anche se di solito gli scaglioni per prodotto sono migliori) e Mostra prezzi (disattivalo per nascondere completamente i prezzi a un gruppo, utile per un gruppo ospiti che vuoi spingere alla registrazione). Un cliente può appartenere a più gruppi, con uno impostato come predefinito che determina i prezzi.
I gruppi sono abbastanza profondi da meritare un trattamento a parte, come stratificarli, come si risolve la priorità dei prezzi quando un cliente appartiene a due gruppi e come assegnare i clienti automaticamente invece che a mano. È tutto spiegato in gruppi clienti in PrestaShop: mostrare prezzi diversi a clienti diversi. Per questa guida principale, la regola è semplice: un gruppo aziendale per ogni fascia di prezzo, mai per singolo cliente.
Netto vs lordo: il problema della visualizzazione dei prezzi
Questa è la differenza B2C/B2B più visibile, e quella che genera più richieste di supporto del tipo "perché la mia fattura non corrisponde al sito?". Gli acquirenti B2B ragionano sui prezzi netti perché detraggono l'IVA; gli acquirenti B2C devono vedere l'importo lordo che pagheranno davvero. Il Metodo di visualizzazione prezzo del gruppo clienti gestisce questo aspetto per gruppo, ma c'è un vuoto nell'esperienza utente: un cliente aziendale vede prezzi lordi finché non accede, senza alcun segnale che i numeri cambieranno.
La soluzione è un selettore lato pubblico per la visualizzazione fiscale, così il prezzo netto è visibile prima dell'accesso, insieme alla configurazione necessaria perché il cambio basato sui gruppi si comporti correttamente. La guida completa, compreso come PrestaShop calcola il prezzo visualizzato e dove inserire il selettore nel tema, è in prezzi netti vs prezzi lordi: cambio della visualizzazione fiscale per clienti B2B.
Vendite UE transfrontaliere: aliquota zero con una partita IVA valida

Se vendi a un'azienda con partita IVA in un altro paese UE, in genere devi applicare l'aliquota zero alla vendita tramite il meccanismo di reverse charge, una volta verificata la partita IVA su VIES. Farlo a mano è un lavoro lento e soggetto a errori: prendi il numero, lo cerchi, contrassegni manualmente l'account come esente da imposte, speri di non aver digitato male. A qualsiasi volume reale crolla, e una decisione sbagliata qui è un problema di conformità, non cosmetico.
La risposta corretta è la validazione automatica tramite API VIES in fase di registrazione o pagamento, con lo stato di esenzione fiscale applicato all'account quando il numero è valido. È esattamente il tema di verificatore IVA UE: automatizzare l'esenzione fiscale per i clienti aziendali, ed è qualcosa da avere in funzione dal primo giorno, perché adattarlo dopo a un negozio pieno di ordini storici tassati male è molto più doloroso. (Il nostro Automatic EU VAT Checker è il modulo costruito per questo passaggio.)
Termini di pagamento: la lacuna che PrestaShop non colma da solo
Questa è la differenza strutturale più grande, e quella che il core davvero non può gestire. PrestaShop presume il pagamento al momento dell'ordine. Nel B2B spesso significa merce ora, pagamento a 30, 60, talvolta 90 giorni, entro un limite di credito e con una fattura dotata di scadenza. Non esiste un "pagamento su fattura" nativo che tracci i saldi aperti. Il massimo a cui arriva il core è il campo importo massimo scoperto autorizzato della modalità B2B, che alimenta il report di sola lettura Clienti → Scoperti, ma non fa rispettare il limite di credito.
Colmare questa lacuna significa avere un vero sistema di pagamento differito: un metodo "Pagamento su fattura" visibile solo ai clienti aziendali approvati, limiti di credito per cliente o per gruppo, fatture con date di scadenza e tracciamento del saldo. La meccanica completa, come viene limitato il metodo di pagamento, come vengono applicati i limiti, come vengono gestiti i pagamenti parziali, è in termini di pagamento differito: consentire ai clienti aziendali di pagare su fattura, e il modulo che lo fa è il nostro B2B Deferred Payment Terms. Questa è la funzione che separa nel modo più netto una vera configurazione B2B da un compromesso.
Verificare i clienti aziendali prima di concedere l'accesso
Non concedere mai prezzi all'ingrosso e termini di pagamento nell'istante in cui qualcuno si registra. Il punto del B2B è che la relazione è qualificata: è davvero un'azienda, la partita IVA è reale, è un cliente a cui vuoi concedere credito? Dare accesso aziendale immediato è il modo in cui finisci per vendere con margini da ingrosso a un consumatore che ha trovato il modulo di registrazione.
Il modello pulito è un modulo di richiesta esteso, un account creato in un gruppo in attesa senza prezzi speciali, una revisione umana e solo dopo la promozione nel gruppo aziendale corretto. Il flusso di approvazione, la gestione dello stato in attesa e le email progressive che tengono informati i richiedenti sono trattati in richieste di account aziendale: verificare i clienti aziendali prima di dare accesso. Il principio a livello di guida principale: la registrazione crea un richiedente, non un cliente aziendale.
Prezzi a scaglioni e quantità minime
Il prezzo B2B raramente è piatto. Più un cliente acquista, più basso diventa il prezzo unitario. PrestaShop lo gestisce nativamente tramite i prezzi specifici con scaglioni di quantità: modifica il prodotto, apri la scheda Prezzi, poi aggiungi un Prezzo specifico. Il punto cruciale è che puoi limitare un prezzo specifico a un singolo gruppo clienti, così gli sconti quantità appaiono solo agli acquirenti all'ingrosso e non toccano mai il prezzo al dettaglio.
Le quantità minime d'ordine lavorano insieme a questo. Imposta una quantità minima per prodotto (o combinazione) così un cliente all'ingrosso non può ordinare una singola unità di qualcosa che spedisci solo a cartoni. Un ordine che spesso costa più da preparare e imballare di quanto renda. Per un minimo a livello di carrello servirà una piccola regola o un modulo, perché il minimo per prodotto è ciò che offre il core.
Modalità catalogo fatta nel modo giusto per il B2B
Alcuni grossisti non vogliono affatto prezzi pubblici, perché i prezzi sono riservati o perché vogliono che la registrazione sia il prezzo d'ingresso. La modalità catalogo globale di PrestaShop (in Parametri negozio → Impostazioni prodotto) nasconde prezzi e pulsante di acquisto a tutti, ed è troppo grezza per un negozio ibrido: uccide anche le vendite B2C.
Fallo invece per gruppo. Disattiva Mostra prezzi per il gruppo ospiti/visitatori e attivalo per i gruppi B2C e aziendali. Gli ospiti navigano il catalogo ma vengono invitati a registrarsi o accedere per vedere i prezzi; i clienti approvati vedono le cifre corrette per la loro fascia. Stesso negozio, due esperienze, dieci minuti di configurazione e nessuno strumento globale troppo grossolano.
Una struttura ibrida B2C + B2B pulita
La maggior parte dei commercianti PrestaShop che fanno B2B non sono grossisti puri. Servono clienti al dettaglio e clienti aziendali da un unico negozio. Ecco una struttura di gruppi che impedisce alle due aree di interferire:
- Gruppo predefinito (ospiti + nuove registrazioni): prezzi IVA inclusa, pagamento standard con carta. Il tuo livello B2C, intatto.
- Gruppo aziendale (approvato): prezzi IVA esclusa, sconti quantità, pagamento su fattura abilitato, riordino rapido dalla cronologia ordini.
- Gruppo aziendale UE: come il gruppo aziendale, ma con partita IVA validata e stato di esenzione fiscale applicato automaticamente.
- Gruppo aziendale in attesa: applicato ma non ancora approvato. Può accedere e navigare, ma vede solo prezzi al dettaglio e pagamenti standard.
Il vantaggio di questa struttura è l'isolamento: l'esperienza B2C resta completamente non influenzata dalla configurazione B2B, perché ogni comportamento B2B è collegato a un gruppo in cui un cliente B2C non entra mai. Un catalogo, un pannello di amministrazione, due modalità separate in modo pulito.
Cosa configurare, in ordine
Partendo da un negozio standard, questa è la sequenza che evita rilavorazioni:
- 1. Abilita la modalità B2B in Parametri negozio → Impostazioni clienti.
- 2. Crea i gruppi aziendali con prezzi IVA esclusa (vedi gruppi clienti).
- 3. Aggiungi prezzi specifici con scaglioni di quantità per i prodotti chiave, limitati ai gruppi aziendali.
- 4. Metti in piedi un flusso di richiesta e approvazione per account aziendali così l'accesso viene verificato.
- 5. Aggiungi la validazione della partita IVA UE se vendi oltre confine.
- 6. Abilita i termini di pagamento su fattura per i clienti approvati.
- 7. Aggiungi un selettore della visualizzazione fiscale così i prezzi netti sono chiari prima dell'accesso.
Gran parte di questo è configurazione, non sviluppo personalizzato. PrestaShop ha l'ossatura per il B2B, deve solo essere assemblata con intenzione. I passaggi 4, 5 e 6 sono dove il core si ferma e iniziano i moduli dedicati; se preferisci partire da un set coordinato invece di collegarli uno alla volta, i moduli dietro quelle guide di approfondimento sono costruiti per condividere una sola configurazione, così il gruppo aziendale, l'esenzione IVA e i termini su fattura concordano tra loro invece di scontrarsi. In ogni caso, l'ordine sopra è la parte che conta: sistema prima la struttura dei gruppi, e ogni altra decisione B2B avrà un punto pulito a cui agganciarsi.
Domande frequenti
Abilitare la modalità B2B rende il mio negozio PrestaShop conforme all'IVA?
No. La modalità B2B aggiunge solo alcuni campi aziendali (SIRET, APE, importo massimo scoperto autorizzato, giorni massimi di pagamento) alla scheda cliente. Non valida le partite IVA, non applica il reverse charge, non calcola le date di scadenza e non cambia un prezzo. La conformità deriva da come configuri regole fiscali, visualizzazione per gruppi, validazione IVA e fatture, e in ultima analisi ricade su di te e sul tuo commercialista, non su un singolo interruttore o modulo.
Posso gestire B2C e B2B da un unico negozio PrestaShop, o mi servono due installazioni?
Un unico negozio gestisce entrambi in modo pulito, perché ogni comportamento B2B si collega a un gruppo clienti in cui un acquirente al dettaglio non entra mai. Mantieni i gruppi Visitatore/Ospite/Cliente con visualizzazione IVA inclusa e pagamento standard, e aggiungi gruppi aziendali con visualizzazione IVA esclusa, prezzi a volume e pagamento su fattura. Se vuoi specificamente acquirenti B2B su un dominio separato con prezzi netti dal primo clic, il multistore nativo (Parametri avanzati → Multistore) è l'alternativa, ma la maggior parte dei commercianti non ne ha bisogno.
Perché un cliente aziendale vede ancora prezzi con IVA dopo che ho impostato il gruppo su IVA esclusa?
Quasi sempre perché la visualizzazione dei prezzi segue il gruppo predefinito del cliente, non semplicemente un qualsiasi gruppo a cui appartiene. Se il suo gruppo predefinito è ancora Cliente/dettaglio, vedrà prezzi lordi anche se fa parte anche del tuo gruppo aziendale. Imposta il gruppo aziendale come predefinito in Clienti → Clienti → Modifica, poi accedi con un account di test per confermare.
PrestaShop blocca un ordine quando un cliente supera il limite di credito?
Non da solo. Il campo importo massimo scoperto autorizzato alimenta solo un report di sola lettura Clienti → Scoperto; il core non ferma mai un ordine che porta un acquirente oltre il suo tetto. Applicazione del blocco (blocco o sospensione per approvazione), scadenze, anzianità del credito e promemoria richiedono un modulo di pagamento differito come il nostro B2B Deferred Payment Terms.
Devo validare le partite IVA o posso semplicemente fidarmi di ciò che inserisce il cliente?
Dal 2026 una partita IVA valida è una condizione sostanziale per applicare l'aliquota zero a una cessione intracomunitaria, e ci si aspetta che tu possa dimostrare di averla verificata al momento della vendita, in genere tramite VIES, il servizio UE di validazione IVA. Il core di PrestaShop non interroga VIES, quindi o controlli a mano (cosa che non scala e lascia solo uno screenshot) oppure automatizzi. Verifica i tuoi obblighi con il commercialista; la parte tecnica è coperta dal nostro Automatic EU VAT Checker.