PS PrestaShop Intermedio

Precio por País, Tienda y Divisa

Instalar, crear reglas, entender el cálculo del precio, recalcular en masa y automatizar por cron.

Actualizado Versión del módulo 1.0.0

Precio por País, Tienda y Divisa aplica un coeficiente de margen y un redondeo psicológico por mercado, y luego materializa el resultado como precios específicos nativos de PrestaShop. Esta guía cubre la instalación, la creación de reglas, cómo se calcula el precio, el recálculo masivo y la automatización por cron.

Instalación

El módulo es compatible con PrestaShop 8.0 a 9.x, tanto en tienda única como en multitienda.

  1. En el back office, ve a Módulos > Gestor de módulos, haz clic en Subir un módulo y selecciona el archivo ZIP.
  2. Al instalarse, el módulo crea sus dos tablas, una pestaña DF Multi Price bajo Catálogo y genera automáticamente un token de cron.
  3. Abre la configuración del módulo para ajustar la aplicación automática, el tamaño de los lotes y obtener la URL del cron.

Crear una regla de precio

Ve a Catálogo > DF Multi Price y haz clic en Añadir una regla. Una regla apunta a una combinación de dimensiones y describe cómo construir el precio final.

Segmentación

  • Tienda: una tienda concreta o «Todas». Con «Todas», los precios base se leen desde la tienda por defecto.
  • País: el país cuyo IVA se usa para calcular el redondeo con impuestos.
  • Divisa: la divisa en la que se aplica el redondeo psicológico.
  • Categoría: limita la regla a una categoría y sus subcategorías, o «Todo el catálogo».

Cálculo

  • Base de precio: precio de venta sin impuestos o precio de coste (los productos sin precio de coste se ignoran en este modo).
  • Coeficiente de margen: multiplicador aplicado a la base. Por ejemplo 1,20 para +20 %. Usa 1,00 para aplicar solo el redondeo.
  • Modo de redondeo: al más cercano, siempre hacia arriba, siempre hacia abajo, o ninguno.
  • Terminación psicológica: x,90, x,95, x,99, x,50 o x,00.
  • Redondear sobre el precio con impuestos: recomendado, porque el cliente ve el precio con impuestos. Se usa el IVA del país de la regla.
  • Precio mínimo: precio mínimo con impuestos en la divisa de la regla. 0 significa sin mínimo.
  • Prioridad: los valores más bajos se procesan primero en un recálculo global.

Cómo se calcula el precio final

El redondeo psicológico solo tiene sentido sobre el importe mostrado al cliente, es decir, el precio con impuestos. Por eso el motor sigue esta secuencia:

  1. Precio base sin impuestos multiplicado por el coeficiente de margen.
  2. Conversión a la divisa de la regla según su tipo de cambio.
  3. Paso a precio con impuestos añadiendo el IVA del país de la regla.
  4. Redondeo a la terminación elegida según el modo seleccionado.
  5. Aplicación del precio mínimo opcional.
  6. Vuelta al precio sin impuestos y luego a la divisa por defecto para el almacenamiento.

Ejemplo: un precio base de 69,99 € sin impuestos, un coeficiente 1,20, un IVA del 19 % y una terminación x,99 dan un precio mostrado de 99,99 € con impuestos. El precio se almacena sin impuestos en la divisa por defecto, pero la presentación en tienda respeta la terminación deseada.

Los precios generados se escriben como precios específicos nativos de PrestaShop. El núcleo los lee como cualquier otro precio específico: ningún cálculo dinámico en el momento de mostrarlos y, por tanto, ningún impacto en el rendimiento del front.

Recálculo masivo

Tras crear o modificar una regla, aplícala a todo el catálogo.

  • Desde la lista de reglas, la acción Recalcular procesa una regla concreta.
  • El botón Recalcular todas las reglas activas de la barra de herramientas encadena todas las reglas, por orden de prioridad.

El procesamiento se realiza por lotes AJAX con una barra de progreso. Cada pasada muestra el número de precios creados, actualizados e ignorados. El tamaño de los lotes (de 10 a 500 productos) se ajusta en la configuración del módulo.

En un catálogo muy grande, aumenta el tamaño de los lotes para reducir los viajes de ida y vuelta, o redúcelo si tu servidor limita el tiempo de ejecución por petición.

Automatizar con cron

Un controlador cron repite automáticamente todas las reglas activas. La URL, protegida por un token, se muestra en la configuración del módulo y tiene este aspecto:

https://tutienda.com/index.php?fc=module&module=dfmultiprice&controller=cron&token=TU_TOKEN

Programa esta URL con la tarea cron de tu alojamiento, por ejemplo una vez por noche. El controlador devuelve un resumen JSON por regla (total, creados, actualizados, ignorados). Si el token se filtra, regenéralo desde la configuración: la URL antigua deja de funcionar.

Aplicación automática

Si la opción está activada, cada creación o modificación de producto activa la aplicación de las reglas activas correspondientes a ese producto. Útil para mantener los precios al día sin un recálculo global, especialmente durante importaciones periódicas.

Eliminación y desinstalación

El módulo registra cada precio específico que genera. Como resultado:

  • Eliminar una regla retira automáticamente todos los precios específicos que había creado.
  • Desinstalar el módulo elimina todos los precios que generó, sin dejar residuos.

El módulo nunca sobrescribe un precio específico manual que no comparta las mismas dimensiones. Sin embargo, si ya existe un precio específico con dimensiones idénticas (misma tienda, país, divisa, sin reducción ni rango de fechas), lo adopta para evitar duplicados.

Resolución de problemas

Un producto no se actualiza

Comprueba que está activo en la tienda de la regla, que pertenece a la categoría objetivo y —en base «precio de coste»— que tiene un precio de coste rellenado.

El precio mostrado no tiene la terminación correcta

Asegúrate de que la opción «Redondear sobre el precio con impuestos» está activada y que el país de la regla corresponde al IVA esperado. La terminación se aplica al precio con impuestos, no al precio sin impuestos.

El cron devuelve «Invalid token»

El token de la URL ya no coincide con el almacenado. Obtén la URL actualizada en la configuración o regenera el token.

¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte