Sistema de descuentos por fidelidad: configuración y ayuda

Inicio rápido

  1. Instala el ZIP en Módulos > "Module Manager", haz clic en "Configure" y selecciona una tienda.
  2. En Niveles, abre Configuración y revisa "Discount source", los pedidos contabilizados, "Evaluation window" y las reglas de cambio de nivel.
  3. Añade niveles con Nombre del nivel, Color, Icono y Activo, y ordénalos del rango más bajo al más alto.
  4. Añade "Qualification Rules" y Beneficios, incluidos el importe, la política de promociones y la selección de productos para cada Descuento.
  5. Usa "Price preview" y "Rebuild prices"; espera a "Prices ready".
  6. Abre Clientes y ejecuta "Start silent recount", continuando hasta que finalice.
  7. Programa una llamada a la URL de Configuración > Configuración > "Scheduled maintenance" cada minuto, salvo que la suite gestione la programación.
  8. Inicia sesión como cliente de prueba y verifica el nivel, el progreso en la cuenta, los precios de los productos, el carrito y cualquier beneficio de envío.

Requiere PrestaShop 1.6.1 o posterior y PHP 7.1 o posterior.

Manual de configuración

Instalar y elegir una tienda

Sube el ZIP en Módulos > "Module Manager" > "Upload a module". Instálalo y haz clic en "Configure" para abrir Configuración de niveles.

Abre "Loyalty Discounts" para acceder a Niveles, Clientes, "Dashboard" y Configuración > Configuración. Selecciona una tienda antes de editar. La página de niveles exige al empleado permiso de visualización para leer, de edición para hacer cambios y de eliminación para borrar. Recarga la página si caduca su token de seguridad.

Requiere PrestaShop 1.6.1 o posterior y PHP 7.1 o posterior.

El módulo utiliza un programa de fidelización B2C para cada tienda. La cualificación se configura mediante reglas. No introduces un único campo Gasto mínimo ni vinculas manualmente cada nivel a un grupo de clientes existente.

Configurar los ajustes del programa

En Niveles, haz clic en Configuración. Este diálogo contiene los ajustes de cualificación, precios, notificaciones y envío. La página independiente Configuración > Configuración contiene las integraciones y la URL de mantenimiento.

Elegir la fuente del descuento

"Discount source" tiene como valor predeterminado "Module tier benefits". Esta opción utiliza beneficios de descuento con ajustes de importe, impuestos, política de promociones y selección de productos.

Elige "PrestaShop group reduction" cuando necesites el comportamiento nativo de las reducciones de grupo. El modo de grupo utiliza el primer descuento activo cuando es porcentual; los grupos vinculados conservan su propia reducción. El módulo crea o gestiona grupos de niveles según sea necesario. No supongas que un porcentaje mostrado es solo informativo.

Usa "Rebuild prices" después de revisar los cambios y espera a "Prices ready". Según tu versión de PrestaShop, el cálculo de precios del módulo utiliza hooks nativos de precios o precios específicos compilados. Comprueba los resultados de compatibilidad indicados y cualquier informe "Original customer group prices" antes de utilizar el resultado.

Definir qué se contabiliza como facturación

Ajuste Valor predeterminado Cómo configurarlo
"Counted order states" Vacío Si está vacío, contabiliza todos los pedidos válidos. Selecciona estados para restringir el historial contabilizado.
"Deduct refunds" Sí Resta los importes reembolsados de la facturación. Desactívalo solo si tu programa contabiliza deliberadamente los gastos reembolsados.
"Include tax" Sí Contabiliza el gasto con impuestos incluidos.
"Include shipping" No Añade los gastos de entrega a la base del gasto cuando está activado.

Las métricas almacenadas usan la moneda predeterminada de la tienda. No compares un umbral con un total sin convertir de otra moneda.

Seleccionar el periodo de evaluación

Ajuste Valor predeterminado Cómo configurarlo
"Evaluation window" De por vida Elige De por vida, "Rolling days", "Rolling months" o "Calendar year".
"Rolling window days" 365 Se utiliza para "Rolling days".
"Rolling window months" 12 Se utiliza para "Rolling months".
"Minimum months for averages" 3 Divisor mínimo para los promedios mensuales de facturación y pedidos.

Usa el periodo que corresponda a tu política de cualificación. Un periodo móvil puede hacer que baje el nivel de un cliente cuando los pedidos antiguos salen de él.

Controlar los cambios de nivel

Ajuste Valor predeterminado Cómo configurarlo
"Evaluation frequency" "On order" Elige "On order", "Daily" o "Weekly". El trabajo programado necesita llamadas de mantenimiento.
"Immediate upgrade" Sí Permite que un pedido active un nivel superior de inmediato.
"Initial tier" "No initial tier" Elige un nivel alternativo cuando no se cumpla ninguna regla de cualificación.
"Protection months" 0 Conserva un nivel recién obtenido durante el periodo configurado. Cero no ofrece protección.
"Grace days" 0 Concede tiempo para volver a cumplir los requisitos antes de bajar de nivel. Cero no concede tiempo adicional.
"Automatic downgrade" Sí Permite pasar a un nivel inferior cuando se pierde la cualificación.

El orden de los niveles determina su rango. El nivel que cumple los requisitos y aparece más adelante en la lista ordenada es el candidato superior. Ordena los niveles del más bajo al más alto.

Configurar las notificaciones y la visualización

Ajuste Valor predeterminado Cómo configurarlo
"Notify on upgrade" Sí Envía una notificación de cambio de nivel para eventos aptos que no sean silenciosos.
"Notify on downgrade" No Actívalo si los clientes deben recibir notificaciones al bajar de nivel.
"Notify before downgrade" No Activa los avisos antes de que termine un periodo de gracia.
"Warning days" 7 Antelación del aviso cuando los avisos están activados.
"Show progress" Sí Muestra información de fidelización en el área de la cuenta del cliente que ha iniciado sesión.

Configurar el envío

"Carriers priced by loyalty" empieza vacío. Selecciona los transportistas nativos aptos si usas beneficios de envío gratuito o reducido. El módulo pasa a calcular los precios de los transportistas adoptados en las versiones que utilizan esta integración. No se pueden adoptar transportistas que ya gestione otro módulo de transportista. Al liberar un transportista, se restauran sus ajustes originales registrados.

Lee el resultado de la adopción después de guardar. Algunos núcleos proporcionan directamente el hook de envío; la interfaz se adapta a esa capacidad. No supongas que un beneficio de envío se aplica a un transportista no seleccionado o no compatible.

Crear niveles y reglas de cualificación

Haz clic en Añadir nivel. Introduce el Nombre del nivel multilingüe. Es obligatorio un nombre en el idioma predeterminado de la tienda. Color tiene como valor predeterminado #6c757d, Icono empieza vacío y Activo empieza activado. Guarda el nivel y después colócalo en el rango previsto.

En "Qualification Rules", haz clic en Añadir regla. Elige Tipo de regla, Operador y Valor. Las reglas dentro de un mismo Grupo de reglas utilizan AND. Añadir grupo O crea otro grupo alternativo.

Los tipos de reglas B2C incluyen "Total turnover", "Monthly average turnover", "Total orders", "Average order value", "Order frequency", "Account age", "Return rate", "Late payments", "Consecutive months with orders", "Days since last order", "Categories purchased" y "Products purchased". Algunos datos dependen de la información o las integraciones disponibles. No se debe suponer que una métrica no disponible cumple una regla.

Para las métricas monetarias, usa la moneda predeterminada de la tienda. La frecuencia de pedidos indica pedidos al mes. Los valores de antigüedad e inactividad se expresan en días. Las reglas de listas de categorías y productos aceptan ID positivos separados por comas con "Contains all".

Para un nivel Gold basado en el gasto, crea:

Tier Name: Gold
Qualification Rules:
  Rule Type: Total turnover
  Operator: At least
  Value: 500

Esto sustituye al antiguo campo de umbral único. En su lugar, puedes cualificar por número de pedidos o combinar varios requisitos.

Configurar los beneficios de los niveles

En Beneficios, haz clic en Añadir beneficio. Elige Tipo de beneficio y rellena los valores obligatorios. Etiqueta personalizada es opcional y multilingüe. No existe ningún beneficio hasta que guardes uno.

Tipo de beneficio Campos que configurar Significado operativo
Descuento "Discount type", Importe, "Tax basis", "Currency" para un importe fijo, "Promotion policy", "Product selection" Aplica un descuento porcentual o fijo mediante la fuente de precios seleccionada.
"Free shipping" "Minimum shipment amount (0 = no minimum)", "Tax basis", "Currency", "Product selection" Envío gratuito con los transportistas compatibles cuando la expedición física cumple los requisitos.
"Reduced shipping" "Percentage", "Product selection" Reduce los gastos de envío compatibles.
"Payment terms" "Days" Publica el beneficio configurado; no supongas que esto crea una pasarela de pago independiente.
"Credit limit" Importe, "Coverage ratio (%)", "Payment days" Almacena datos del beneficio de crédito para las integraciones que los utilizan.
"Extended returns" "Days" Describe el plazo de devolución del nivel.
"Dedicated representative" "Representative" Asocia al empleado seleccionado.
"Early sale access" "Hours" Almacena el beneficio de acceso anticipado.
"Exclusive products" "Product selection" Almacena el ámbito de productos pertinente.
"Volume rebates" "Percentage", "Period" Almacena condiciones de bonificación "Monthly", "Quarterly" o "Yearly".
"Free samples" "Samples per month" Almacena la asignación mensual.
"Priority support", "Priority handling", "Free refunds" Beneficio activo y etiqueta opcional Registra el derecho indicado.

El módulo independiente aplica automáticamente el cálculo de descuentos y las reducciones de envío compatibles. Los demás tipos de beneficios se guardan con el nivel, pero el módulo no los ejecuta: prestación, reembolsos, control de acceso, pago de bonificaciones y condiciones de pago necesitan tu propio proceso u otra integración. Prepáralos antes de prometer estos beneficios a los clientes.

Para los descuentos, en el formulario de nuevo beneficio "Discount type" empieza en "Percentage", "Tax basis" en "Tax excluded" y "Promotion policy" en "Use the better price". Introduce el importe explícitamente. Los importes fijos requieren una moneda. Otras políticas de promociones son "Only products without promotions" y "Stack with promotions".

"Product selection" ofrece "All products" o "Selected products". Revisa el selector antes de guardar. Para los beneficios de envío, todos los productos físicos de la expedición deben pertenecer a la selección apta. Los umbrales utilizan la mercancía física después de los descuentos de producto y antes de los descuentos del carrito.

Para el ejemplo Gold, añade un beneficio Descuento con "Percentage" e Importe 10. En el modo de precios del módulo, se trata de una definición de descuento operativa. No la recrees por separado como descuento nativo de grupo, salvo que hayas seleccionado esa fuente intencionadamente.

Previsualizar y publicar los precios

Usa "Price preview" de un nivel para probar un producto, una combinación y una cantidad. La vista previa de referencia utiliza la moneda y el país predeterminados de la tienda. Muestra precios unitarios sin ecotasa ni personalización. La cantidad selecciona el tramo de precio aplicable.

Comprueba la promoción nativa, la opción ganadora según la política, el precio final, la fila compilada y los resultados de compatibilidad. Las definiciones guardadas y los precios compilados pueden diferir hasta que termine la reconstrucción. Usa "Rebuild prices" y espera a "Prices ready" antes de comprobar la tienda.

Usa "Shipping preview" para un nivel con un beneficio de envío. Proporciona productos y cantidades, o un carrito existente con sus ajustes de entrega. Revisa el transportista, el contenido de la expedición, el coste nativo del transporte, el ahorro, el transporte que pagar, el umbral y el importe que falta. Una vista previa puede no estar disponible si necesita llamar a otro módulo de transportista.

Recalcular clientes y programar el mantenimiento

Abre Clientes. Usa "Start silent recount" para evaluar a los clientes existentes sin enviar mensajes iniciales de cambio de nivel. Continúa con "Continue recount" hasta que termine o deja que cron continúe.

Para los lotes de precios, usa "Start pricing reconciliation" y "Continue pricing reconciliation". Examina la lista de clientes y la instantánea actual de un cliente individual. La lista permite exportar y muestra la información de evaluación almacenada. El panel de detalles del cliente incluye información de fidelización actual y el historial reciente.

Abre Configuración > Configuración. En "Scheduled maintenance", copia la URL generada y llámala cada minuto. Contiene el ID de la tienda y un token privado. Por ejemplo:

* * * * * curl -fsS "YOUR_EXACT_SCHEDULED_MAINTENANCE_URL" >/dev/null

Usa la URL que hayas copiado realmente. El controlador exige que su id_shop coincida con la tienda de la solicitud y un token válido de 64 caracteres. El mantenimiento continúa las evaluaciones pendientes, los lotes de recálculo, la conciliación de precios y los reintentos de notificación. Si la suite está activa, su programador gestiona estas tareas y el ejecutor independiente puede omitir la ejecución.

La misma página ofrece "Enable edrone" y "edrone app ID". La integración está desactivada hasta que la actives y requiere un ID de aplicación no vacío. No la actives sin el identificador de la cuenta prevista.

Verificar la visualización del cliente y las notificaciones

Inicia sesión como cliente de prueba después del recálculo. Abre la página de la cuenta y compara el nivel actual, la base de cualificación, el siguiente nivel, los requisitos incumplidos y los beneficios con la instantánea del Back Office. Los visitantes no tienen un estado de fidelización personal.

Comprueba los precios en un listado, en una página de producto, en el carrito y en un pedido de prueba completado. Comprueba un pedido con promoción y un pedido reembolsado frente a los estados contabilizados y los ajustes de reembolso. El motor actual evalúa el historial de pedidos y las reglas de transición; no se limita a sumar para siempre el importe de cada pedido validado.

La plantilla de la cuenta se puede personalizar en:

/themes/your-theme/modules/mprloyaltydiscountssystem/views/templates/hook/customer_account.tpl

Utiliza la plantilla actual de instantánea de fidelización. Aplica estilos al contenedor de la cuenta con .mpr-loyalty-account, a la lista de métricas con .mpr-loyalty-details y a los requisitos incumplidos con .mpr-loyalty-requirements. El antiguo marcado de insignia y barra de progreso porcentual no es la interfaz de la plantilla actual.

El envío de correos de nivel utiliza mails/en/loyalty_upgrade.html y loyalty_downgrade.html, con soporte para polaco y uso del inglés como alternativa para los demás idiomas en el sistema de envío. Las variables actuales incluyen {firstname}, {lastname}, {notification}, {tier_name}, {base_tier_name}, {tier_benefits}, {total_turnover}, {window}, {basis}, {next_tier_name}, {shortfalls}, {account_url} y {shop_name}. El antiguo ejemplo {tier_discount} no es un token actual del sistema de envío.

Resolver problemas y desinstalar

Si no puedes guardar los cambios, selecciona una tienda y comprueba los permisos del empleado y la validez del token. Si los clientes no tienen nivel, comprueba las reglas activas, la lógica de grupos, los estados contabilizados, las métricas disponibles y el periodo de evaluación.

Si los precios difieren de las definiciones, comprueba el estado de reconstrucción y los resultados de compatibilidad. Si el envío no cambia, comprueba la adopción del transportista y el contenido apto de la expedición. Si no aparece el progreso, comprueba "Show progress", el estado de inicio de sesión, el hook de la cuenta y qué módulo gestiona actualmente la ejecución de la fidelización.

Usa Configuración > Integridad para las comprobaciones de infraestructura del módulo. Examina el JSON de mantenimiento y los diagnósticos del módulo para detectar lotes fallidos o problemas de entrega de correo. Evita repetir un guardado correcto de la definición solo porque una reconstrucción posterior haya fallado; usa "Rebuild prices" para reintentarlo.

Desactiva o desinstala mediante "Module Manager" cuando quieras detener el módulo. La limpieza durante la ejecución libera las filas de precios y los derechos sobre grupos que controla y transfiere o libera los transportistas adoptados según corresponda. Las tablas de fidelización compartidas se declaran persistentes y se conservan. Las entradas de menú independientes, la configuración del módulo y las preferencias de administración se eliminan al desinstalar. Conserva una copia de seguridad de la base de datos si necesitas una exportación histórica completa.

Preguntas

2

¿Loyalty Discounts System ralentiza mi tienda?

El módulo interviene en el cálculo de precios de productos, la información de la cuenta del cliente y los cálculos de envío configurados. Antes del lanzamiento, mide el rendimiento de las páginas de producto, el carrito y el proceso de compra con tu catálogo y beneficios reales.

En una instalación multitienda, ¿el gasto de fidelidad se registra por tienda o combinado?

No. Los programas de fidelización y el estado de cada cliente son propios de cada tienda, y la consulta del historial solo incluye pedidos de esa tienda. Evalúa y comprueba al cliente por separado en cada tienda correspondiente.

Problemas conocidos

14

Refuerzo de la seguridad

ResueltoActualizado:
Corregido en: 2.2.8
Refuerzo de la seguridad.

El recálculo podía borrar la situación del cliente

ResueltoActualizado:
Corregido en: 2.2.2
Cancelar o reembolsar un pedido podía poner a cero el gasto válido, eliminar el nivel del cliente o aplicar un reembolso más de una vez.

Los pedidos sin pagar podían otorgar un nivel de fidelidad

ResueltoActualizado:
Corregido en: 2.2.2
Crear un pedido podía aumentar el gasto de fidelidad antes de que el pedido fuera válido. Ahora el gasto sigue el estado real del pedido que lo hace válido.

Los vales y reembolsos alteraban el gasto válido

ResueltoActualizado:
Corregido en: 2.2.2
El cálculo del gasto válido podía ignorar los vales del pedido, contar mal los envíos reembolsados o gratuitos o fallar en versiones anteriores de PrestaShop compatibles.

Los precios por nivel podían ser erróneos o los descuentos inactivos

ResueltoActualizado:
Corregido en: 2.2.2
La asignación del nivel no siempre activaba el descuento, y la comparación de promociones podía acumular descuentos o calcular mal los precios de variantes y la ecotasa.

La reconstrucción de precios podía alterar las promociones

ResueltoActualizado:
Corregido en: 2.2.2
Reconstruir los precios por nivel podía eliminar promociones independientes del comerciante o dejar precios por nivel activos tras desactivar un nivel o desinstalar el módulo.

Las etiquetas del menú de fidelidad eran ilegibles

ResueltoActualizado:
Corregido en: 2.2.2
El menú de administración podía mostrar identificadores técnicos en lugar de nombres legibles de las pantallas de fidelidad.

Los clientes podían no recibir el nivel que les correspondía

ResueltoActualizado:
Corregido en: 1.1.13
La búsqueda del nivel según el gasto del cliente podía fallar y dejarlo sin el nivel al que tenía derecho.

Los mensajes de administración seguían en inglés

ResueltoActualizado:
Corregido en: 1.1.13
Algunos mensajes de administración no usaban las traducciones instaladas.

Aparecían traducciones incorrectas

ResueltoActualizado:
Corregido en: 1.1.11
Las entradas de traducción dañadas podían mostrar textos de interfaz incorrectos.

Los recursos combinados podían alterar el aspecto de la tienda

ResueltoActualizado:
Corregido en: 1.1.11
Los recursos de la tienda no estaban registrados en el formato necesario para la combinación de recursos de PrestaShop.

No se conservaban los estados de pedido de fidelidad elegidos

ResueltoActualizado:
Corregido en: 1.1.8
Los estados de pedido seleccionados para el gasto válido y el recálculo tras una cancelación podían guardarse o mostrarse incorrectamente.

Faltaban datos de fidelidad necesarios tras la instalación

ResueltoActualizado:
Corregido en: 1.1.8
La instalación podía dejar el módulo sin las tablas de fidelidad necesarias, impidiendo su uso normal.

Los filtros de las listas de administración funcionaban mal

ResueltoActualizado:
Corregido en: 1.1.8
Algunas columnas de las listas no se podían filtrar correctamente desde la administración del módulo.

Solicitudes de funcionalidades

12

Implementado

Descuentos de fidelidad por niveles de gasto

Implementado
Los clientes pueden alcanzar niveles de fidelidad según umbrales de gasto configurados y recibir los descuentos asignados a esos niveles. Puedes gestionar los umbrales y descuentos en los ajustes de niveles del módulo.

Niveles de fidelidad según el gasto

Implementado
Asigna automáticamente a los clientes a grupos de descuento cuando su gasto acumulado alcance un umbral configurado.

Actualizaciones del módulo desde el back office

Implementado
Busca e instala actualizaciones del módulo desde la administración.

Comprobaciones de instalación

Implementado
Revisa el estado de la instalación y repara los elementos que faltan en la infraestructura del módulo desde la administración.

Idiomas de administración adicionales

Implementado
Usa las pantallas del módulo traducidas al francés, alemán, español, italiano y polaco.

Gestión ampliada de niveles

Implementado
Gestiona las reglas de los niveles, las ventajas y la selección de productos con vistas previas de precios y un estado visible de la reconstrucción del catálogo.

Ventajas de envío por fidelidad

Implementado
Ofrece envío gratuito o reducido según el nivel, con un widget de progreso en la tienda y detalles de la ventaja de envío en los pedidos.

Reglas de interacción con promociones

Implementado
Elige el mejor precio, aplica los descuentos de nivel solo a productos sin promociones o conserva la acumulación nativa de descuentos.

Periodo de cálculo del gasto

Implementado
Elige el gasto que cumpla los requisitos de todo el historial o limita los cálculos a un número configurable de días recientes.

Protección del nivel alcanzado

Implementado
Protege el nivel alcanzado frente a descensos durante un número configurable de meses y permite seguir subiendo de nivel.

Correos de fidelidad más completos

Implementado
Incluye el gasto contabilizado y la información sobre descuentos en los correos de fidelidad, con plantillas disponibles en polaco.

Etiquetas de nivel de edrone

Implementado
Envía opcionalmente etiquetas de nivel de fidelidad y progreso a edrone para segmentar clientes.

Registro de cambios

v1.1.102026-09-22

  • Addedcomplete FR/DE/ES/IT/PL translations
  • FixedPersist loyalty order state settings
  • FixedInstall loyalty tables through schema manager
  • FixedReplace Tools::displayPrice with PriceFormatter compat wrapper
Versiones anteriores

v1.0.02026-05-11

  • Initialrelease: automatic customer group assignment based on cumulative spending thresholds
  • InitialConfigurable tiers: set spending threshold and target customer group per level
  • InitialCompatible with PrestaShop native customer group discounts for seamless pricing rules
  • InitialAdmin overview showing each customer's current tier, total spend, and next threshold

v1.3.02026-04-20

  • Addedadmin menu management via MenuInstaller for streamlined module setup
  • Addedself-healing integrity checks for automatic diagnostics and repair
  • AddedLicense management tab with key management and renewal options
  • Addedcomplete FR/DE/ES/IT/PL translations
  • Improvedsettings form organization with tabbed layout
  • Fixedadmin list filters — sorting, searching, and filtering now work correctly on all columns

v1.2.02026-02-19

  • Addedfull compatibility with PrestaShop 9.x and Hummingbird theme
  • Addedspending tier preview on the My Account page showing progress to next discount level
  • Improvedcumulative spend recalculation: background job processes all customers nightly via cron
  • Fixedcustomer group not reverting when a qualifying order was refunded
  • Addedconfigurable spending currency for multi-currency stores with exchange rate normalisation

v1.1.02025-10-07

  • Addedthreshold editor with unlimited tiers, each with its own discount percentage or fixed amount
  • Improvedaudit log: records each group assignment change with trigger order reference
  • Fixedtier upgrade not applying immediately when order status changed to 'Payment accepted'
  • Addedemail notification template for customers promoted to a new loyalty tier

Demo

Prueba el módulo completo antes de comprar

Compra la licencia más tarde y conserva tus ajustes.

  • Tu demo de 30 días Pruébalo en tu propia tienda durante 30 días desde la primera instalación.
  • Tienda demo lista Explora una tienda demo lista en tu navegador.
  • Sin registro Sin cuenta, correo ni dominio de tienda.
Iniciar tienda demo

Al descargar, aceptas las condiciones de la demo y la política de privacidad.

Al abrir esta demo, acepta los términos de la demo y la política de privacidad.

Cargando...
Volver arriba