PS PrestaShop Principiante

Regla de impuestos predeterminada automática al crear productos

Instalar y configurar la asignación automática del grupo de impuestos en cada creación de producto en PrestaShop.

Actualizado Versión del módulo 1.1.0

Para qué sirve este módulo

Desde PrestaShop 1.7, un producto recién creado no tiene ninguna regla fiscal: el campo Regla de impuestos de la pestaña Precios se queda en «Sin impuestos» hasta que lo cambias a mano. En un catálogo activo el olvido llega rápido — y un producto publicado sin IVA falsea tanto el precio con impuestos mostrado en la tienda como tu contabilidad.

Este módulo aplica automáticamente el grupo de impuestos que elijas a cada producto creado, sin ninguna intervención. Un modo «rellenar solo cuando esté vacío» garantiza que una regla ya elegida nunca se sobrescriba.

Requisitos

  • PrestaShop 8.0 a 9.x
  • PHP 7.4 a 8.3
  • Al menos un grupo de impuestos activo configurado en Internacional > Impuestos > Reglas de impuestos

El módulo no crea ninguna regla de impuestos. Se limita a aplicar una regla que ya existe en tu tienda. Si tu lista de reglas de impuestos está vacía, crea una antes de instalar el módulo.

Instalación

  1. Descarga el archivo ZIP desde tu cuenta de cliente DataFirefly.
  2. En el back office de PrestaShop, ve a Módulos > Gestor de módulos.
  3. Haz clic en Subir un módulo arriba a la derecha y suelta el archivo ZIP.
  4. Cuando termine la instalación, haz clic en Configurar.

Importante: mientras no elijas un grupo de impuestos en la configuración, el módulo permanece inactivo a propósito. Es una medida de seguridad para que no aplique una regla no deseada nada más instalarlo.

Configuración

La página de configuración tiene dos ajustes.

Grupo de impuestos a aplicar

Un menú desplegable muestra todos los grupos de impuestos activos de tu tienda (por ejemplo «FR TVA 20%»). Elige el que deba aplicarse por defecto a los nuevos productos.

La primera entrada de la lista es «No hacer nada (desactivado)». Selecciónala si quieres suspender temporalmente el módulo sin desinstalarlo.

Sobrescribir el valor existente

Este interruptor determina el comportamiento del módulo cuando un producto ya tiene una regla fiscal en el momento de su creación.

  • (por defecto): el grupo configurado se aplica siempre, sea cual sea el valor existente.
  • No: el grupo solo se aplica si el producto no tiene ninguna regla fiscal. Un valor ya informado nunca se modifica.

Pon esta opción en No si duplicas con frecuencia productos ya configurados correctamente: así las copias conservarán la regla fiscal del producto de origen.

Haz clic en Guardar para confirmar. El módulo se activa de inmediato.

Cómo funciona

El módulo se engancha al hook actionObjectProductAddAfter, disparado por PrestaShop justo después de insertar un nuevo producto en la base de datos. Escribe entonces el campo id_tax_rules_group en las tablas product y product_shop.

Compatibilidad con la página de producto v2

La nueva página de producto de PrestaShop 8 funciona de forma distinta a la anterior: en cuanto haces clic en Nuevo producto, PrestaShop crea inmediatamente un producto temporal (a veces llamado «producto fantasma») antes incluso de que hayas escrito nada. Ese producto solo aparece en el catálogo tras el primer guardado.

Es justo en ese instante cuando interviene el módulo. La regla fiscal queda por tanto grabada en base de datos antes incluso de mostrarse el formulario, y la pestaña Precios muestra directamente el grupo correcto.

Nota técnica. El hook actionProductAdd, pese a su nombre, no se dispara en una creación normal de producto: el núcleo de PrestaShop solo lo llama al duplicar un producto. Por eso este módulo usa el hook genérico actionObjectProductAddAfter, que cubre correctamente todos los casos de creación.

Escritura dirigida en base de datos

El módulo actualiza únicamente la columna id_tax_rules_group, mediante una consulta SQL directa. No llama a Product::update(), lo que evita disparar innecesariamente los hooks de actualización sobre un producto todavía vacío. Ningún otro campo del producto se toca y no se añade ningún override del núcleo.

Casos de creación cubiertos

Método de creación Regla aplicada
Creación manual en el back office (página de producto v2)
Duplicación de un producto existente Sí (desactivable con la opción de sobrescritura)
Importación CSV
Creación mediante el Webservice / API
Productos ya existentes antes de la instalación No — el módulo solo actúa en la creación

El módulo no corrige retroactivamente los productos que ya están en tu catálogo. Para esos, usa la edición masiva nativa de PrestaShop o un módulo de actualización por lotes.

Multitienda

El campo id_tax_rules_group es específico de cada tienda. Por eso el módulo escribe el valor en la tabla product y también en product_shop, sobre el ámbito de tiendas correspondiente al contexto de creación del producto.

El grupo de impuestos elegido en la configuración, en cambio, es común a toda la instalación. Si tus tiendas necesitan reglas fiscales distintas, aplica la más frecuente y ajusta las excepciones manualmente.

Resolución de problemas

La regla fiscal no se aplica a los nuevos productos

Comprueba en este orden:

  1. ¿Hay realmente un grupo seleccionado? Abre la configuración del módulo: si la lista muestra «No hacer nada (desactivado)», el módulo está inactivo por diseño. Elige un grupo y guarda.
  2. ¿Está bien registrado el hook? Si has actualizado el módulo desde la versión 1.0.0, el hook utilizado ha cambiado. Copiar los archivos no basta: desinstala y vuelve a instalar el módulo desde el Gestor de módulos para que PrestaShop registre el nuevo hook.
  3. ¿Has vaciado la caché? Ve a Parámetros avanzados > Rendimiento y vacía la caché.
  4. ¿Sigue existiendo el grupo de impuestos? Si el grupo seleccionado se ha eliminado desde entonces, el módulo no hace nada, por seguridad. Selecciona otro.

Un producto duplicado pierde su regla fiscal original

Es el comportamiento esperado cuando la opción Sobrescribir el valor existente está activa: el grupo por defecto se vuelve a aplicar a la copia. Pon la opción en No para que las duplicaciones conserven la regla del producto de origen.

El precio con impuestos no se actualiza en el formulario

El precio con impuestos se calcula en el navegador a partir de la regla fiscal seleccionada. Recarga la página del producto: como la regla está correctamente guardada en base de datos, la pestaña Precios mostrará el grupo correcto y recalculará el precio.

Desinstalación

Desde el Gestor de módulos, haz clic en Desinstalar. El módulo elimina sus dos claves de configuración y se desengancha de los hooks. Este módulo no crea ninguna tabla, y las reglas de impuestos ya aplicadas a tus productos se conservan tal cual.

Historial de versiones

1.1.0

  • Cambio al hook actionObjectProductAddAfter para cubrir la creación desde la página de producto v2 (producto temporal)
  • Compatibilidad confirmada con PrestaShop 8 y 9

1.0.0

  • Versión inicial: asignación automática del grupo de impuestos al crear
  • Grupo predeterminado y modo de sobrescritura configurables
¿Te ha resultado útil esta página?

¿Sigues atascado? Contacta con soporte