PS PrestaShop Intermedio

Product Return Manager — Guía completa

Guía completa: instalación, configuración, recorrido cliente, escaneo QR, analítica e integraciones.

Actualizado Versión del módulo 1.7.0

DataFirefly Product Return Manager transforma la gestión de devoluciones de PrestaShop 8 en un flujo automatizado de extremo a extremo: solicitud cliente en self-service (con cuenta o como invitado), etiqueta PDF con código QR, validación por escaneo en recepción, analítica de 13 ejes, vale o reembolso, devolución manual admin, traducción automática de motivos vía ChatGPT e integración ERP vía hook. Esta documentación cubre la instalación, la configuración completa y el uso diario.

Instalación

Instalación estándar de PrestaShop: vaya a Módulos → Gestor de módulos → Subir un módulo, seleccione el archivo dfproductreturn.zip y confirme. El módulo crea automáticamente 9 tablas con prefijo df_return_* y df_product_return*, instala motivos de devolución por defecto, registra sus hooks (displayCustomerAccount, displayMyAccountBlock, displayHeader, etc.) y añade dos entradas de menú al back-office: Devoluciones de productos (gestión) y Analítica de devoluciones (estadísticas).

Requisitos: PrestaShop 8.0 a 8.99, PHP 8.0 a 8.3. PrestaShop 1.7 no es compatible. El multi-tienda se gestiona nativamente. La actualización desde una versión anterior es idempotente (scripts de upgrade incluidos, entre ellos la columna manual_amount añadida en 1.7).

Configuración

Vaya a Módulos → Gestor de módulos → DataFirefly Product Return Manager → Configurar. Los ajustes principales:

  • Plazo de devolución (días) — ventana durante la cual el cliente puede solicitar una devolución tras su pedido. 30 días por defecto. Se aplica solo a las devoluciones iniciadas por el cliente; la devolución manual admin lo ignora.
  • Estados de pedido elegibles — solo los pedidos en estos estados muestran el botón «Solicitar una devolución» (típicamente «Entregado»).
  • Activar el vale — ofrece la opción vale como modo de compensación.
  • Activar el reembolso — ofrece la opción reembolso sobre el método de pago de origen.
  • Email admin — dirección notificada en cada nueva solicitud de devolución.
  • Estado reembolso parcial / completo — los dos estados de pedido aplicados según el tipo de reembolso efectuado.
  • Clave API OpenAI — requerida únicamente para la traducción automática de motivos de devolución vía ChatGPT (ver sección dedicada).

Motivos de devolución y categorías

El módulo organiza los motivos en dos niveles: categorías («Problema producto», «Problema logístico», «Cambio de opinión»…) y motivos adjuntos a cada categoría («Talla incorrecta», «Artículo defectuoso», «Entrega demasiado larga»…). Esta jerarquía alimenta la analítica: ve la distribución macro por categoría, luego el detalle por motivo.

Gestiónelos desde la pestaña Motivos de la configuración: creación, edición, desactivación, orden de visualización. Motivos por defecto se instalan con el módulo — adáptelos a su catálogo.

Buenas prácticas: manténgase bajo 10 motivos visibles por categoría para no abrumar al cliente, y formule los motivos desde su punto de vista («El artículo no coincide con la foto» en lugar de «No conformidad visual»).

Traducción automática vía ChatGPT

Una vez introducida su clave API OpenAI en la configuración, un botón Traducir aparece en cada motivo y categoría. Un clic traduce la etiqueta a todos los idiomas activados de la tienda, con vocabulario e-commerce contextualizado. Las traducciones siguen siendo editables manualmente tras la generación. Obtenga su clave en platform.openai.com — el coste por traducción es despreciable (fracciones de céntimo).

Recorrido del cliente (con cuenta)

El cliente conectado ve un enlace «Mis devoluciones» en su área de cliente. Para iniciar una devolución:

  1. Abre el pedido elegible y hace clic en «Solicitar una devolución».
  2. Marca los productos a devolver y ajusta las cantidades.
  3. Elige una categoría de motivo, luego un motivo preciso, y añade un comentario opcional.
  4. Valida — la devolución pasa al estado «Pendiente» y se envían dos correos: confirmación al cliente con el PDF de etiqueta adjunto, notificación al admin.

El cliente sigue después el estado de su devolución (pendiente, aceptada, rechazada, reembolsada) desde «Mis devoluciones», con la posibilidad de volver a descargar su etiqueta PDF en cualquier momento.

Devolución invitado (v1.7+)

Los clientes que compraron sin crear cuenta acceden a la devolución desde la misma URL que los clientes conectados. Un visitante no autenticado ve un formulario «Número de pedido + email» en lugar de la lista «Mis pedidos». Funcionamiento:

  • La validación se hace en el servidor: el par referencia de pedido + email debe corresponder exactamente a un pedido existente (comparación insensible a mayúsculas en el email).
  • En caso de no coincidencia, el mensaje de error es voluntariamente genérico — protección anti-enumeración, no se revela ninguna información sobre las referencias existentes.
  • Una vez validado, el visitante accede al flujo de devolución estándar para ese pedido únicamente (sesión PrestaShop acotada).
  • El PDF de etiqueta permanece accesible desde el enlace recibido por correo sin login, protegido por un token aleatorio de 64 caracteres único de la devolución.
  • Un banner «Use a different order» permite reinicializar la sesión invitado y cambiar a otro pedido.

El PDF de etiqueta y el código QR

Cada devolución genera un PDF que contiene: la dirección de devolución, el número de devolución, la lista de productos y cantidades, las instrucciones, y un código QR único que incluye un token de verificación criptográfica. El cliente lo imprime y lo pega en su paquete.

Múltiples direcciones de devolución

Configure varias direcciones en la pestaña Direcciones (almacén principal, sitio de tratamiento de grandes volúmenes, dirección UE vs fuera de la UE…). Cada devolución se asocia con una dirección que aparece en su etiqueta.

Validación por escaneo QR en recepción

Cuando llega el paquete, su operador escanea el QR con un teléfono o un escáner USB. El escaneo abre la página de validación segura — se requiere una sesión admin PrestaShop activa; sin sesión, la página redirige al login del back-office. El operador ve entonces el detalle completo de la devolución, controla el estado físico de los productos, y hace clic en Validar o Rechazar.

La validación dispara en cascada: paso del pedido al estado configurado (reembolso parcial o completo), generación del vale o reembolso, correo de actualización al cliente, y despacho del hook actionOrderSlipAdd para las integraciones terceras.

El token QR es único por devolución y verificado del lado del servidor: un QR falsificado o reutilizado es rechazado. Nunca comparta las URLs de validación fuera de su equipo.

Devolución manual admin (v1.6+)

El SAC puede crear una devolución para cualquier pedido, independientemente del plazo de devolución configurado y del estado del pedido — diseñado para gestos comerciales, devoluciones negociadas por teléfono y regularizaciones retroactivas.

  1. Haga clic en «Create manual return» en el header de la lista de devoluciones en el back-office.
  2. Paso 1 — introduzca la referencia o el ID del pedido (un pedido de 2022, cancelado o en borrador es aceptado).
  3. Paso 2 — marque los productos a devolver, sus cantidades, su motivo, el tipo de compensación (vale o nota de crédito), y ajuste si es necesario el importe reembolsado por línea.
  4. Valide: la devolución se procesa inmediatamente — vale o nota de crédito generada al instante, stock reintegrado, estado del pedido actualizado, hook Fastmag despachado.

Una casilla «Notificar al cliente» (desmarcada por defecto) envía el correo de confirmación estándar si lo desea. Una nota admin libre puede adjuntarse a la devolución.

El importe reembolsado personalizable (v1.7+)

Cada línea de la devolución manual tiene un campo «Refund amount» editable. El valor por defecto (precio unitario × cantidad) se recalcula automáticamente cuando cambia la cantidad, hasta que se introduce manualmente un importe — el valor introducido se respeta entonces tal cual. El ratio proporcional de los descuentos del pedido, aplicado a las devoluciones cliente clásicas, está desactivado para las devoluciones manuales: el importe introducido es exactamente el importe reembolsado. Útil para un reembolso parcial (producto dañado reembolsado al 50 %), un gesto comercial o una regularización. La nota de crédito generada conserva el desglose sin/con impuestos proporcional al tipo de IVA de la línea original.

Vale o reembolso

Según su configuración, la validación de una devolución produce o bien un vale (regla de carrito PrestaShop nativa, utilizable en un pedido futuro), o bien un reembolso a procesar sobre el método de pago de origen. Los dos estados de pedido dedicados (parcial / completo) distinguen los casos en sus exportaciones e informes contables.

Dashboard de analítica

El menú Analítica de devoluciones expone 13 ejes de análisis, todos filtrables por periodo y por tienda:

  • KPI globales — volumen de devoluciones, tasa de devolución, valor devuelto, distribución vale / reembolso.
  • Por categoría de motivo y por motivo — identifique las causas dominantes.
  • Por país — detecte las anomalías geográficas (transportista deficiente en una zona).
  • Top productos devueltos — las referencias a examinar (guía de tallas, calidad proveedor).
  • Cruzamientos motivo × país y motivo × producto — el nivel de detalle para actuar.
  • Tendencias mensual (12 meses) y diaria — estacionalidad y picos.
  • Tiempo medio de tratamiento — el rendimiento de su servicio al cliente.
  • Distribución por día de la semana y top clientes que devuelven — detección de abusos.

El botón Exportar CSV descarga el conjunto de devoluciones del periodo filtrado (nº devolución, pedido, cliente, productos, motivo, estado, fechas, importe) para análisis externo o importación BI.

Integración Fastmag y ERP

En cada devolución validada, el módulo despacha el hook PrestaShop actionOrderSlipAdd con el pedido, la lista de productos y las cantidades. Cualquier módulo que escuche este hook (módulo Fastmag DataFirefly, conectores ERP, Systempay…) recibe la notificación en tiempo real. Las devoluciones manuales admin despachan el mismo hook.

El botón «Re-sync past returns to Fastmag» (barra de herramientas de la lista de devoluciones) re-dispara el hook sobre todas las devoluciones pasadas — indispensable tras la instalación de un conector ERP posterior a este módulo, o tras un incidente de sincronización.

Correos transaccionales

Tres correos automáticos, proporcionados en 6 idiomas (FR, EN, ES, IT, PT, DE): confirmación de solicitud al cliente (con PDF adjunto), notificación al admin, actualización de estado al cliente (validación / rechazo / reembolso). En las devoluciones manuales admin, el correo al cliente es opcional (casilla desmarcada por defecto). Personalice las plantillas en modules/dfproductreturn/mails/<idioma>/ o vía el sistema de traducción de correos nativo de PrestaShop.

Multi-tienda

Todas las tablas llevan un id_shop: cada tienda tiene sus motivos, sus direcciones de devolución y su analítica propios. El selector multi-tienda del back-office filtra naturalmente la lista de devoluciones y el dashboard.

Solución de problemas

El botón «Solicitar una devolución» no aparece

Verifique tres puntos: el pedido está en un estado elegible (configuración), el plazo de devolución no ha expirado, y el módulo está activo en la tienda en cuestión (contexto multi-tienda). Recordatorio: para una devolución fuera de plazo, utilice la devolución manual admin.

El formulario invitado rechaza un pedido válido

El email introducido debe ser exactamente el del pedido (las mayúsculas se ignoran, las erratas no). Verifique la referencia del pedido — es la referencia alfanumérica (ej. XKBKNABJK), no el ID numérico.

El escaneo QR muestra «Access denied»

Es el comportamiento esperado sin sesión admin: el operador debe estar conectado al back-office PrestaShop en el mismo navegador. Conéctese y vuelva a escanear.

La traducción ChatGPT falla

Verifique la clave API en la configuración, el crédito disponible en su cuenta OpenAI, y que su servidor permite las conexiones salientes hacia api.openai.com (puerto 443).

Fastmag no recibe las devoluciones

Verifique que el módulo Fastmag está instalado y enganchado al hook actionOrderSlipAdd, luego utilice «Re-sync past returns to Fastmag» para poner al día el histórico.

¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte