PS PrestaShop Intermedio

Product Return Manager — Guida completa

Guida completa: installazione, configurazione, percorso cliente, scansione QR, analitica e integrazioni.

Aggiornato Versione del modulo 1.7.0

DataFirefly Product Return Manager trasforma la gestione dei resi di PrestaShop 8 in un flusso automatizzato end-to-end: richiesta cliente in self-service (con account o come ospite), etichetta PDF con codice QR, convalida tramite scansione al ricevimento, analitica a 13 assi, buono o rimborso, reso manuale admin, traduzione automatica dei motivi via ChatGPT e integrazione ERP tramite hook. Questa documentazione copre l’installazione, la configurazione completa e l’uso quotidiano.

Installazione

Installazione standard PrestaShop: andate su Moduli → Gestione moduli → Carica un modulo, selezionate il file dfproductreturn.zip e confermate. Il modulo crea automaticamente 9 tabelle con prefisso df_return_* e df_product_return*, installa motivi di reso predefiniti, registra i suoi hook (displayCustomerAccount, displayMyAccountBlock, displayHeader, ecc.) e aggiunge due voci di menu al back-office: Resi prodotti (gestione) e Analitica resi (statistiche).

Requisiti: PrestaShop 8.0 a 8.99, PHP 8.0 a 8.3. PrestaShop 1.7 non è supportato. Il multi-negozio è gestito nativamente. L’aggiornamento da una versione precedente è idempotente (script di upgrade inclusi, tra cui la colonna manual_amount aggiunta nella 1.7).

Configurazione

Andate su Moduli → Gestione moduli → DataFirefly Product Return Manager → Configura. Le impostazioni principali:

  • Termine di reso (giorni) — finestra durante la quale il cliente può richiedere un reso dopo il suo ordine. 30 giorni per impostazione predefinita. Si applica solo ai resi avviati dal cliente; il reso manuale admin lo ignora.
  • Stati ordine ammissibili — solo gli ordini in questi stati mostrano il pulsante «Richiedi un reso» (tipicamente «Consegnato»).
  • Attiva il buono — propone l’opzione buono come modalità di compensazione.
  • Attiva il rimborso — propone l’opzione rimborso sul metodo di pagamento originale.
  • Email admin — indirizzo notificato a ogni nuova richiesta di reso.
  • Stato rimborso parziale / completo — i due stati ordine applicati a seconda del tipo di rimborso effettuato.
  • Chiave API OpenAI — richiesta solo per la traduzione automatica dei motivi di reso via ChatGPT (vedi sezione dedicata).

Motivi di reso e categorie

Il modulo organizza i motivi su due livelli: categorie («Problema prodotto», «Problema logistico», «Cambio di idea»…) e motivi collegati a ciascuna categoria («Taglia sbagliata», «Articolo difettoso», «Consegna troppo lunga»…). Questa gerarchia alimenta l’analitica: vedete la distribuzione macro per categoria, poi il dettaglio per motivo.

Gestiteli dalla scheda Motivi della configurazione: creazione, modifica, disattivazione, ordine di visualizzazione. Motivi predefiniti sono installati con il modulo — adattateli al vostro catalogo.

Buone pratiche: restate sotto i 10 motivi visibili per categoria per non sopraffare il cliente, e formulate i motivi dal suo punto di vista («L’articolo non corrisponde alla foto» piuttosto che «Non conformità visiva»).

Traduzione automatica via ChatGPT

Una volta inserita la vostra chiave API OpenAI nella configurazione, un pulsante Traduci appare su ogni motivo e categoria. Un clic traduce l’etichetta in tutte le lingue attivate del negozio, con vocabolario e-commerce contestualizzato. Le traduzioni restano modificabili manualmente dopo la generazione. Ottenete la vostra chiave su platform.openai.com — il costo per traduzione è trascurabile (frazioni di centesimo).

Percorso cliente (con account)

Il cliente connesso vede un link «I miei resi» nella sua area cliente. Per avviare un reso:

  1. Apre l’ordine ammissibile e clicca «Richiedi un reso».
  2. Seleziona i prodotti da restituire e regola le quantità.
  3. Sceglie una categoria di motivo, poi un motivo preciso, e aggiunge un commento opzionale.
  4. Convalida — il reso passa allo stato «In attesa» e partono due email: conferma al cliente con il PDF dell’etichetta in allegato, notifica all’admin.

Il cliente segue poi lo stato del suo reso (in attesa, accettato, rifiutato, rimborsato) da «I miei resi», con la possibilità di riscaricare la sua etichetta PDF in qualsiasi momento.

Reso ospite (v1.7+)

I clienti che hanno ordinato senza creare un account accedono al reso dalla stessa URL dei clienti connessi. Un visitatore non autenticato vede un modulo «Numero d’ordine + email» al posto della lista «I miei ordini». Il funzionamento:

  • La convalida avviene lato server: la coppia riferimento ordine + email deve corrispondere esattamente a un ordine esistente (confronto insensibile alle maiuscole sull’email).
  • In caso di mancata corrispondenza, il messaggio di errore è volutamente generico — protezione anti-enumerazione, nessuna informazione sui riferimenti esistenti viene rivelata.
  • Una volta convalidato, il visitatore accede al flusso di reso standard solo per quell’ordine (sessione PrestaShop delimitata).
  • Il PDF dell’etichetta resta accessibile dal link ricevuto per email senza login, protetto da un token casuale di 64 caratteri unico per il reso.
  • Un banner «Use a different order» permette di reinizializzare la sessione ospite e passare a un altro ordine.

Il PDF dell’etichetta e il codice QR

Ogni reso genera un PDF contenente: l’indirizzo di reso, il numero di reso, la lista dei prodotti e quantità, le istruzioni, e un codice QR unico con token di verifica crittografica. Il cliente lo stampa e lo incolla sul suo pacco.

Indirizzi di reso multipli

Configurate più indirizzi nella scheda Indirizzi (magazzino principale, sito di trattamento grandi volumi, indirizzo UE vs extra UE…). Ogni reso è associato a un indirizzo che appare sulla sua etichetta.

Convalida tramite scansione QR al ricevimento

Quando il pacco arriva, il vostro operatore scansiona il QR con un telefono o uno scanner USB. La scansione apre la pagina di convalida sicura — è richiesta una sessione admin PrestaShop attiva; senza sessione, la pagina reindirizza al login del back-office. L’operatore vede quindi il dettaglio completo del reso, controlla lo stato fisico dei prodotti, e clicca Convalida o Rifiuta.

La convalida innesca una cascata: passaggio dell’ordine allo stato configurato (rimborso parziale o completo), generazione del buono o del rimborso, email di aggiornamento al cliente, e dispatch dell’hook actionOrderSlipAdd per le integrazioni di terze parti.

Il token QR è unico per reso e verificato lato server: un QR falsificato o riutilizzato viene rifiutato. Non condividete mai le URL di convalida al di fuori del vostro team.

Reso manuale admin (v1.6+)

Il servizio clienti può creare un reso per qualsiasi ordine, indipendentemente dal termine di reso configurato e dallo stato dell’ordine — pensato per i gesti commerciali, i resi negoziati al telefono e le regolarizzazioni retroattive.

  1. Cliccate «Create manual return» nell’header della lista dei resi nel back-office.
  2. Passo 1 — inserite il riferimento o l’ID dell’ordine (un ordine del 2022, annullato o in bozza è accettato).
  3. Passo 2 — selezionate i prodotti da restituire, le loro quantità, il loro motivo, il tipo di compensazione (buono o nota di credito), e regolate se necessario l’importo rimborsato per riga.
  4. Convalidate: il reso viene elaborato immediatamente — buono o nota di credito generati all’istante, stock reintegrato, stato dell’ordine aggiornato, hook Fastmag dispacciato.

Una casella «Notifica il cliente» (deselezionata per impostazione predefinita) invia l’email di conferma standard se lo desiderate. Una nota admin libera può essere allegata al reso.

L’importo rimborsato personalizzabile (v1.7+)

Ogni riga del reso manuale ha un campo «Refund amount» modificabile. Il valore predefinito (prezzo unitario × quantità) viene ricalcolato automaticamente quando la quantità cambia, fino all’inserimento manuale di un importo — il valore inserito viene poi rispettato così com’è. Il rapporto proporzionale degli sconti dell’ordine, applicato ai resi cliente classici, è disattivato per i resi manuali: l’importo inserito è esattamente l’importo rimborsato. Utile per un rimborso parziale (prodotto danneggiato rimborsato al 50 %), un gesto commerciale o una regolarizzazione. La nota di credito generata conserva la ripartizione imponibile/IVA proporzionale all’aliquota della riga originale.

Buono o rimborso

A seconda della vostra configurazione, la convalida di un reso produce o un buono (regola carrello PrestaShop nativa, utilizzabile su un ordine futuro), o un rimborso da elaborare sul metodo di pagamento originale. I due stati ordine dedicati (parziale / completo) distinguono i casi nelle vostre esportazioni e report contabili.

Dashboard di analitica

Il menu Analitica resi espone 13 assi di analisi, tutti filtrabili per periodo e per negozio:

  • KPI globali — volume di resi, tasso di reso, valore restituito, distribuzione buono / rimborso.
  • Per categoria di motivo e per motivo — identificate le cause dominanti.
  • Per paese — individuate le anomalie geografiche (corriere carente in una zona).
  • Top prodotti restituiti — i riferimenti da esaminare (guida alle taglie, qualità fornitore).
  • Incroci motivo × paese e motivo × prodotto — il livello di dettaglio per agire.
  • Tendenze mensile (12 mesi) e giornaliera — stagionalità e picchi.
  • Tempo medio di trattamento — la performance del vostro servizio clienti.
  • Distribuzione per giorno della settimana e top clienti che restituiscono — rilevamento degli abusi.

Il pulsante Esporta CSV scarica l’insieme dei resi del periodo filtrato (n° reso, ordine, cliente, prodotti, motivo, stato, date, importo) per analisi esterna o importazione BI.

Integrazione Fastmag e ERP

A ogni reso convalidato, il modulo dispaccia l’hook PrestaShop actionOrderSlipAdd con l’ordine, la lista dei prodotti e le quantità. Qualsiasi modulo in ascolto su questo hook (modulo Fastmag DataFirefly, connettori ERP, Systempay…) riceve la notifica in tempo reale. I resi manuali admin dispacciano lo stesso hook.

Il pulsante «Re-sync past returns to Fastmag» (barra degli strumenti della lista dei resi) riattiva l’hook su tutti i resi passati — indispensabile dopo l’installazione di un connettore ERP successiva a questo modulo, o dopo un incidente di sincronizzazione.

Email transazionali

Tre email automatiche, fornite in 6 lingue (FR, EN, ES, IT, PT, DE): conferma della richiesta al cliente (con PDF allegato), notifica all’admin, aggiornamento di stato al cliente (convalida / rifiuto / rimborso). Sui resi manuali admin, l’email al cliente è opzionale (casella deselezionata per impostazione predefinita). Personalizzate i template in modules/dfproductreturn/mails/<lingua>/ o tramite il sistema di traduzione email nativo di PrestaShop.

Multi-negozio

Tutte le tabelle hanno un id_shop: ogni negozio ha i suoi motivi, i suoi indirizzi di reso e la sua analitica. Il selettore multi-negozio del back-office filtra naturalmente la lista dei resi e la dashboard.

Risoluzione dei problemi

Il pulsante «Richiedi un reso» non appare

Verificate tre punti: l’ordine è in uno stato ammissibile (configurazione), il termine di reso non è scaduto, e il modulo è attivo sul negozio in questione (contesto multi-negozio). Promemoria: per un reso fuori termine, utilizzate il reso manuale admin.

Il modulo ospite rifiuta un ordine valido

L’email inserita deve essere esattamente quella dell’ordine (le maiuscole vengono ignorate, gli errori di battitura no). Verificate il riferimento dell’ordine — è il riferimento alfanumerico (es. XKBKNABJK), non l’ID numerico.

La scansione QR mostra «Access denied»

È il comportamento previsto senza sessione admin: l’operatore deve essere connesso al back-office PrestaShop nello stesso browser. Connettetevi e riscansionate.

La traduzione ChatGPT fallisce

Verificate la chiave API nella configurazione, il credito disponibile sul vostro account OpenAI, e che il vostro server permetta le connessioni in uscita verso api.openai.com (porta 443).

Fastmag non riceve i resi

Verificate che il modulo Fastmag sia installato e agganciato all’hook actionOrderSlipAdd, poi utilizzate «Re-sync past returns to Fastmag» per recuperare lo storico.

Questa pagina ti è stata utile?

Ancora bloccato? Contatta l'assistenza